Documentation ¶
Index ¶
- Constants
- type DisabledReason
- type GifSearchResult
- type Manager
- func (c *Manager) BlockUser(ctx context.Context, userToBlock, blockedBy auth.User) error
- func (c *Manager) ChatEmotes(ctx context.Context) ([]*types.ChatEmote, error)
- func (c *Manager) CreateMessage(ctx context.Context, author auth.User, content string, reference *chat.Message, ...) (*chat.Message, error)
- func (c *Manager) CreateSystemMessage(ctx context.Context, content string) (*chat.Message, error)
- func (c *Manager) DeleteMessage(ctx context.Context, id snowflake.ID) (*chat.Message, error)
- func (c *Manager) DisableChat(reason DisabledReason)
- func (c *Manager) EnableChat()
- func (c *Manager) Enabled() (bool, DisabledReason)
- func (c *Manager) GetNickname(ctxCtx context.Context, user auth.User) *string
- func (c *Manager) GifSearch(ctx context.Context, user auth.User, query string, pos string) ([]*GifSearchResult, string, error)
- func (c *Manager) IsUserConnected(user auth.User) bool
- func (c *Manager) LoadMessage(ctx context.Context, id snowflake.ID) (*chat.Message, error)
- func (c *Manager) LoadMessagesBetween(ctx context.Context, includeShadowbanned auth.User, since, until time.Time) ([]*chat.Message, error)
- func (c *Manager) LoadNumLatestMessages(ctx context.Context, includeShadowbanned auth.User, num int) ([]*chat.Message, []*proto.ChatMessage, error)
- func (c *Manager) LoadNumLatestMessagesFromUser(ctx context.Context, user auth.User, num int) ([]*chat.Message, []*proto.ChatMessage, error)
- func (c *Manager) LoadUsersBlockedBy(ctx context.Context, blockedBy auth.User) ([]string, error)
- func (c *Manager) OnChatDisabled() event.Event[DisabledReason]
- func (c *Manager) OnChatEnabled() event.NoArgEvent
- func (c *Manager) OnMessageCreated() event.Event[MessageCreatedEventArgs]
- func (c *Manager) OnMessageDeleted() event.Event[snowflake.ID]
- func (c *Manager) OnUserBlockedBy() event.Keyed[string, string]
- func (c *Manager) OnUserChangedNickname() event.Keyed[string, string]
- func (c *Manager) OnUserUnblockedBy() event.Keyed[string, string]
- func (c *Manager) RegisterUserConnection(user auth.User) func()
- func (c *Manager) SetAttachmentLoaderForType(attachmentType string, loader chat.AttachmentLoader)
- func (c *Manager) SetNickname(ctxCtx context.Context, user auth.User, nickname *string, bypassRatelimit bool) error
- func (c *Manager) SetSlowModeEnabled(enabled bool)
- func (c *Manager) SlowModeEnabled() bool
- func (c *Manager) TenorGifAttachmentCostForUser(ctx context.Context, user auth.User) (int, error)
- func (c *Manager) UnblockUser(ctx context.Context, blockID string, blockedBy auth.User) error
- func (c *Manager) UnblockUserByAddress(ctx context.Context, address string, blockedBy auth.User) error
- type MessageAttachmentTenorGifStorage
- type MessageAttachmentTenorGifView
- type MessageCreatedEventArgs
Constants ¶
const MessageAttachmentTypeTenorGif = "tenorgif"
MessageAttachmentTypeTenorGif is the identifier for attachments of the Tenor GIF type
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DisabledReason ¶
type DisabledReason int
DisabledReason specifies the reason why chat is disabled
const ( DisabledReasonUnspecified DisabledReason = iota DisabledReasonModeratorNotPresent )
func (DisabledReason) SerializeForAPI ¶
func (r DisabledReason) SerializeForAPI() proto.ChatDisabledReason
type GifSearchResult ¶
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager handles the chat system
func New ¶
func New(log *log.Logger, statsClient *statsd.Client, store chat.Store, moderationStore moderation.Store, blockStore blockeduser.Store, userSerializer auth.APIUserSerializer, pointsManager *pointsmanager.Manager, snowflakeNode *snowflake.Node, tenorAPIkey string) (*Manager, error)
New returns an initialized chat Manager
func (*Manager) ChatEmotes ¶
func (*Manager) CreateMessage ¶
func (*Manager) CreateSystemMessage ¶
func (*Manager) DeleteMessage ¶
func (*Manager) DisableChat ¶
func (c *Manager) DisableChat(reason DisabledReason)
func (*Manager) EnableChat ¶
func (c *Manager) EnableChat()
func (*Manager) Enabled ¶
func (c *Manager) Enabled() (bool, DisabledReason)
func (*Manager) GetNickname ¶
func (*Manager) LoadMessage ¶
func (*Manager) LoadMessagesBetween ¶
func (*Manager) LoadNumLatestMessages ¶
func (*Manager) LoadNumLatestMessagesFromUser ¶
func (*Manager) LoadUsersBlockedBy ¶
func (*Manager) OnChatDisabled ¶
func (c *Manager) OnChatDisabled() event.Event[DisabledReason]
OnChatDisabled returns an event that is fired when chat is disabled
func (*Manager) OnChatEnabled ¶
func (c *Manager) OnChatEnabled() event.NoArgEvent
OnChatEnabled returns an event that is fired when chat is enabled
func (*Manager) OnMessageCreated ¶
func (c *Manager) OnMessageCreated() event.Event[MessageCreatedEventArgs]
OnMessageCreated returns an event that is fired when a new chat message is created
func (*Manager) OnMessageDeleted ¶
OnMessageDeleted returns an event that is fired when a chat message is deleted
func (*Manager) OnUserBlockedBy ¶
OnUserBlockedBy returns a keyed event whose key is the reward address of an user and is fired when that user blocks another user The blocked user will be sent as the event argument
func (*Manager) OnUserChangedNickname ¶
OnUserChangedNickname returns a keyed event whose key is the reward address of the user that changed nickname The new nickname will be sent as the event argument
func (*Manager) OnUserUnblockedBy ¶
OnUserUnblockedBy returns a keyed event whose key is the reward address of an user and is fired when that user unblocks another user The unblocked user will be sent as the event argument
func (*Manager) RegisterUserConnection ¶
func (*Manager) SetAttachmentLoaderForType ¶
func (c *Manager) SetAttachmentLoaderForType(attachmentType string, loader chat.AttachmentLoader)
func (*Manager) SetNickname ¶
func (*Manager) SetSlowModeEnabled ¶
func (*Manager) SlowModeEnabled ¶
func (*Manager) TenorGifAttachmentCostForUser ¶
func (*Manager) UnblockUser ¶
type MessageAttachmentTenorGifStorage ¶
MessageAttachmentTenorGifStorage is the storage model for a Tenor GIF attachment. Implements MessageAttachmentStorageWithCost
func (MessageAttachmentTenorGifStorage) AttachmentType ¶
func (a MessageAttachmentTenorGifStorage) AttachmentType() string
func (*MessageAttachmentTenorGifStorage) PointsCost ¶
func (a *MessageAttachmentTenorGifStorage) PointsCost() int
func (*MessageAttachmentTenorGifStorage) PointsTxType ¶
func (a *MessageAttachmentTenorGifStorage) PointsTxType() types.PointsTxType
func (*MessageAttachmentTenorGifStorage) SerializeForDatabase ¶
func (a *MessageAttachmentTenorGifStorage) SerializeForDatabase(context.Context) string
type MessageAttachmentTenorGifView ¶
type MessageAttachmentTenorGifView struct { ID string VideoURL string VideoFallbackURL string Title string Width int Height int }
MessageAttachmentTenorGifView is the view model for a Tenor GIF attachment. Implements MessageAttachmentView
func (*MessageAttachmentTenorGifView) SerializeForAPI ¶
func (a *MessageAttachmentTenorGifView) SerializeForAPI(context.Context) *proto.ChatMessageAttachment
func (*MessageAttachmentTenorGifView) SerializeForJS ¶
func (*MessageAttachmentTenorGifView) SerializeForModLog ¶
func (a *MessageAttachmentTenorGifView) SerializeForModLog(context.Context) string
type MessageCreatedEventArgs ¶
type MessageCreatedEventArgs struct { Message *chat.Message ProtobufRepresentation *proto.ChatMessage }
MessageCreatedEventArgs contains the values for the MessageCreated event
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package tenorclient provides primitives to interact with the openapi HTTP API.
|
Package tenorclient provides primitives to interact with the openapi HTTP API. |