Documentation
¶
Index ¶
- type ChatDelete
- type ChatInfoChange
- type ChatResync
- type EventMeta
- func (evt *EventMeta) AddLogContext(c zerolog.Context) zerolog.Context
- func (evt *EventMeta) GetPortalKey() networkid.PortalKey
- func (evt *EventMeta) GetSender() bridgev2.EventSender
- func (evt *EventMeta) GetStreamOrder() int64
- func (evt *EventMeta) GetTimestamp() time.Time
- func (evt *EventMeta) GetType() bridgev2.RemoteEventType
- func (evt *EventMeta) PortalReceiverIsUncertain() bool
- func (evt *EventMeta) PostHandle(ctx context.Context, portal *bridgev2.Portal)
- func (evt *EventMeta) PreHandle(ctx context.Context, portal *bridgev2.Portal)
- func (evt *EventMeta) ShouldCreatePortal() bool
- func (evt EventMeta) WithCreatePortal(c bool) EventMeta
- func (evt EventMeta) WithLogContext(f func(c zerolog.Context) zerolog.Context) EventMeta
- func (evt EventMeta) WithMoreLogContext(f func(c zerolog.Context) zerolog.Context) EventMeta
- func (evt EventMeta) WithPortalKey(p networkid.PortalKey) EventMeta
- func (evt EventMeta) WithSender(s bridgev2.EventSender) EventMeta
- func (evt EventMeta) WithStreamOrder(s int64) EventMeta
- func (evt EventMeta) WithTimestamp(t time.Time) EventMeta
- func (evt EventMeta) WithType(t bridgev2.RemoteEventType) EventMeta
- func (evt EventMeta) WithUncertainReceiver(u bool) EventMeta
- type MarkUnread
- type Message
- func (evt *Message[T]) ConvertEdit(ctx context.Context, portal *bridgev2.Portal, intent bridgev2.MatrixAPI, ...) (*bridgev2.ConvertedEdit, error)
- func (evt *Message[T]) ConvertMessage(ctx context.Context, portal *bridgev2.Portal, intent bridgev2.MatrixAPI) (*bridgev2.ConvertedMessage, error)
- func (evt *Message[T]) GetID() networkid.MessageID
- func (evt *Message[T]) GetTargetMessage() networkid.MessageID
- func (evt *Message[T]) GetTransactionID() networkid.TransactionID
- func (evt *Message[T]) HandleExisting(ctx context.Context, portal *bridgev2.Portal, intent bridgev2.MatrixAPI, ...) (bridgev2.UpsertResult, error)
- type MessageRemove
- type PreConvertedMessage
- func (evt *PreConvertedMessage) ConvertMessage(ctx context.Context, portal *bridgev2.Portal, intent bridgev2.MatrixAPI) (*bridgev2.ConvertedMessage, error)
- func (evt *PreConvertedMessage) GetID() networkid.MessageID
- func (evt *PreConvertedMessage) GetTransactionID() networkid.TransactionID
- func (evt *PreConvertedMessage) HandleExisting(ctx context.Context, portal *bridgev2.Portal, intent bridgev2.MatrixAPI, ...) (bridgev2.UpsertResult, error)
- type Reaction
- type ReactionSync
- type Receipt
- type Typing
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ChatDelete ¶
ChatDelete is a simple implementation of bridgev2.RemoteChatDelete.
func (*ChatDelete) DeleteChildren ¶ added in v0.26.1
func (evt *ChatDelete) DeleteChildren() bool
func (*ChatDelete) DeleteOnlyForMe ¶
func (evt *ChatDelete) DeleteOnlyForMe() bool
type ChatInfoChange ¶
type ChatInfoChange struct {
EventMeta
ChatInfoChange *bridgev2.ChatInfoChange
}
ChatInfoChange is a simple implementation of bridgev2.RemoteChatInfoChange.
func (*ChatInfoChange) GetChatInfoChange ¶
func (evt *ChatInfoChange) GetChatInfoChange(ctx context.Context) (*bridgev2.ChatInfoChange, error)
type ChatResync ¶
type ChatResync struct {
EventMeta
ChatInfo *bridgev2.ChatInfo
GetChatInfoFunc func(ctx context.Context, portal *bridgev2.Portal) (*bridgev2.ChatInfo, error)
LatestMessageTS time.Time
CheckNeedsBackfillFunc func(ctx context.Context, latestMessage *database.Message) (bool, error)
BundledBackfillData any
}
ChatResync is a simple implementation of bridgev2.RemoteChatResync.
If GetChatInfoFunc is set, it will be used to get the chat info. Otherwise, ChatInfo will be used.
If CheckNeedsBackfillFunc is set, it will be used to determine if backfill is required. Otherwise, the latest database message timestamp is compared to LatestMessageTS.
All four fields are optional.
func (*ChatResync) CheckNeedsBackfill ¶
func (*ChatResync) GetBundledBackfillData ¶
func (evt *ChatResync) GetBundledBackfillData() any
func (*ChatResync) GetChatInfo ¶
type EventMeta ¶
type EventMeta struct {
Type bridgev2.RemoteEventType
LogContext func(c zerolog.Context) zerolog.Context
PortalKey networkid.PortalKey
UncertainReceiver bool
Sender bridgev2.EventSender
CreatePortal bool
Timestamp time.Time
StreamOrder int64
PreHandleFunc func(context.Context, *bridgev2.Portal)
PostHandleFunc func(context.Context, *bridgev2.Portal)
}
EventMeta is a struct containing metadata fields used by most event types.
func (*EventMeta) AddLogContext ¶
func (*EventMeta) GetPortalKey ¶
func (*EventMeta) GetSender ¶
func (evt *EventMeta) GetSender() bridgev2.EventSender
func (*EventMeta) GetStreamOrder ¶
func (*EventMeta) GetTimestamp ¶
func (*EventMeta) GetType ¶
func (evt *EventMeta) GetType() bridgev2.RemoteEventType
func (*EventMeta) PortalReceiverIsUncertain ¶
func (*EventMeta) PostHandle ¶
func (*EventMeta) ShouldCreatePortal ¶
func (EventMeta) WithCreatePortal ¶
func (EventMeta) WithLogContext ¶
func (EventMeta) WithMoreLogContext ¶ added in v0.26.2
func (EventMeta) WithPortalKey ¶
func (EventMeta) WithSender ¶
func (evt EventMeta) WithSender(s bridgev2.EventSender) EventMeta
func (EventMeta) WithStreamOrder ¶
func (EventMeta) WithUncertainReceiver ¶
type MarkUnread ¶
func (*MarkUnread) GetUnread ¶
func (evt *MarkUnread) GetUnread() bool
type Message ¶
type Message[T any] struct { EventMeta Data T ID networkid.MessageID TransactionID networkid.TransactionID TargetMessage networkid.MessageID ConvertMessageFunc func(ctx context.Context, portal *bridgev2.Portal, intent bridgev2.MatrixAPI, data T) (*bridgev2.ConvertedMessage, error) ConvertEditFunc func(ctx context.Context, portal *bridgev2.Portal, intent bridgev2.MatrixAPI, existing []*database.Message, data T) (*bridgev2.ConvertedEdit, error) HandleExistingFunc func(ctx context.Context, portal *bridgev2.Portal, intent bridgev2.MatrixAPI, existing []*database.Message, data T) (bridgev2.UpsertResult, error) }
Message is a simple implementation of bridgev2.RemoteMessage, bridgev2.RemoteEdit and bridgev2.RemoteMessageUpsert.
func (*Message[T]) ConvertEdit ¶
func (*Message[T]) ConvertMessage ¶
func (*Message[T]) GetTargetMessage ¶
func (*Message[T]) GetTransactionID ¶
func (evt *Message[T]) GetTransactionID() networkid.TransactionID
type MessageRemove ¶
func (*MessageRemove) DeleteOnlyForMe ¶
func (evt *MessageRemove) DeleteOnlyForMe() bool
func (*MessageRemove) GetTargetMessage ¶
func (evt *MessageRemove) GetTargetMessage() networkid.MessageID
type PreConvertedMessage ¶ added in v0.25.2
type PreConvertedMessage struct {
EventMeta
Data *bridgev2.ConvertedMessage
ID networkid.MessageID
TransactionID networkid.TransactionID
HandleExistingFunc func(ctx context.Context, portal *bridgev2.Portal, intent bridgev2.MatrixAPI, existing []*database.Message) (bridgev2.UpsertResult, error)
}
PreConvertedMessage is a simple implementation of bridgev2.RemoteMessage with pre-converted data.
func (*PreConvertedMessage) ConvertMessage ¶ added in v0.25.2
func (evt *PreConvertedMessage) ConvertMessage(ctx context.Context, portal *bridgev2.Portal, intent bridgev2.MatrixAPI) (*bridgev2.ConvertedMessage, error)
func (*PreConvertedMessage) GetID ¶ added in v0.25.2
func (evt *PreConvertedMessage) GetID() networkid.MessageID
func (*PreConvertedMessage) GetTransactionID ¶ added in v0.25.2
func (evt *PreConvertedMessage) GetTransactionID() networkid.TransactionID
func (*PreConvertedMessage) HandleExisting ¶ added in v0.25.2
type Reaction ¶
type Reaction struct {
EventMeta
TargetMessage networkid.MessageID
EmojiID networkid.EmojiID
Emoji string
ExtraContent map[string]any
ReactionDBMeta any
}
Reaction is a simple implementation of bridgev2.RemoteReaction and bridgev2.RemoteReactionRemove.
func (*Reaction) GetReactionDBMetadata ¶
func (*Reaction) GetReactionEmoji ¶
func (*Reaction) GetReactionExtraContent ¶
func (*Reaction) GetRemovedEmojiID ¶
func (*Reaction) GetTargetMessage ¶
type ReactionSync ¶
type ReactionSync struct {
EventMeta
TargetMessage networkid.MessageID
Reactions *bridgev2.ReactionSyncData
}
func (*ReactionSync) GetReactions ¶
func (evt *ReactionSync) GetReactions() *bridgev2.ReactionSyncData
func (*ReactionSync) GetTargetMessage ¶
func (evt *ReactionSync) GetTargetMessage() networkid.MessageID
type Receipt ¶
type Receipt struct {
EventMeta
LastTarget networkid.MessageID
Targets []networkid.MessageID
ReadUpTo time.Time
ReadUpToStreamOrder int64
}
func (*Receipt) GetLastReceiptTarget ¶
func (*Receipt) GetReadUpTo ¶
func (*Receipt) GetReadUpToStreamOrder ¶
func (*Receipt) GetReceiptTargets ¶
type Typing ¶
type Typing struct {
EventMeta
Timeout time.Duration
Type bridgev2.TypingType
}
func (*Typing) GetTimeout ¶
func (*Typing) GetTypingType ¶
func (evt *Typing) GetTypingType() bridgev2.TypingType