Documentation ¶
Index ¶
- Constants
- type Database
- type File
- type FileQuery
- type Guild
- type GuildBridgingMode
- type GuildQuery
- type Message
- type MessagePart
- type MessageQuery
- func (mq *MessageQuery) DeleteAll(key PortalKey)
- func (mq *MessageQuery) GetByDiscordID(key PortalKey, discordID string) []*Message
- func (mq *MessageQuery) GetByMXID(key PortalKey, mxid id.EventID) *Message
- func (mq *MessageQuery) GetClosestBefore(key PortalKey, threadID string, ts time.Time) *Message
- func (mq *MessageQuery) GetFirstByDiscordID(key PortalKey, discordID string) *Message
- func (mq *MessageQuery) GetLast(key PortalKey) *Message
- func (mq *MessageQuery) GetLastByDiscordID(key PortalKey, discordID string) *Message
- func (mq *MessageQuery) GetLastInThread(key PortalKey, threadID string) *Message
- func (mq *MessageQuery) MassInsert(key PortalKey, msgs []Message)
- func (mq *MessageQuery) New() *Message
- type Portal
- type PortalKey
- type PortalQuery
- func (pq *PortalQuery) FindPrivateChatBetween(id, receiver string) *Portal
- func (pq *PortalQuery) FindPrivateChatsOf(receiver string) []*Portal
- func (pq *PortalQuery) FindPrivateChatsWith(id string) []*Portal
- func (pq *PortalQuery) GetAll() []*Portal
- func (pq *PortalQuery) GetAllInGuild(guildID string) []*Portal
- func (pq *PortalQuery) GetByID(key PortalKey) *Portal
- func (pq *PortalQuery) GetByMXID(mxid id.RoomID) *Portal
- func (pq *PortalQuery) New() *Portal
- type Puppet
- type PuppetQuery
- type Reaction
- type ReactionQuery
- type Role
- type RoleQuery
- type Thread
- type ThreadQuery
- type User
- func (u *User) GetPortals() []UserPortal
- func (u *User) Insert()
- func (u *User) IsInPortal(discordID string) (isIn bool)
- func (u *User) IsInSpace(discordID string) (isIn bool)
- func (u *User) MarkInPortal(portal UserPortal)
- func (u *User) MarkNotInPortal(discordID string)
- func (u *User) PortalHasOtherUsers(discordID string) (hasOtherUsers bool)
- func (u *User) PrunePortalList(beforeTS time.Time) []UserPortal
- func (u *User) Scan(row dbutil.Scannable) *User
- func (u *User) Update()
- type UserPortal
- type UserQuery
Constants ¶
View Source
const ( UserPortalTypeDM = "dm" UserPortalTypeGuild = "guild" UserPortalTypeThread = "thread" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Database ¶
type Database struct { *dbutil.Database User *UserQuery Portal *PortalQuery Puppet *PuppetQuery Message *MessageQuery Thread *ThreadQuery Reaction *ReactionQuery Guild *GuildQuery Role *RoleQuery File *FileQuery }
type File ¶
type File struct { URL string Encrypted bool MXC id.ContentURI ID string EmojiName string Size int Width int Height int MimeType string DecryptionInfo *attachment.EncryptedFile Timestamp time.Time // contains filtered or unexported fields }
type FileQuery ¶
type FileQuery struct {
// contains filtered or unexported fields
}
func (*FileQuery) GetEmojiByMXC ¶ added in v0.5.0
func (fq *FileQuery) GetEmojiByMXC(mxc id.ContentURI) *File
type Guild ¶
type GuildBridgingMode ¶ added in v0.2.0
type GuildBridgingMode int
const ( // GuildBridgeNothing tells the bridge to never bridge messages, not even checking if a portal exists. GuildBridgeNothing GuildBridgingMode = iota // GuildBridgeIfPortalExists tells the bridge to bridge messages in channels that already have portals. GuildBridgeIfPortalExists // GuildBridgeCreateOnMessage tells the bridge to create portals as soon as a message is received. GuildBridgeCreateOnMessage // GuildBridgeEverything tells the bridge to proactively create portals on startup and when receiving channel create notifications. GuildBridgeEverything GuildBridgeInvalid GuildBridgingMode = -1 )
func ParseGuildBridgingMode ¶ added in v0.2.0
func ParseGuildBridgingMode(str string) GuildBridgingMode
func (GuildBridgingMode) Description ¶ added in v0.2.0
func (gbm GuildBridgingMode) Description() string
func (GuildBridgingMode) String ¶ added in v0.2.0
func (gbm GuildBridgingMode) String() string
type GuildQuery ¶
type GuildQuery struct {
// contains filtered or unexported fields
}
func (*GuildQuery) GetAll ¶
func (gq *GuildQuery) GetAll() []*Guild
func (*GuildQuery) GetByID ¶
func (gq *GuildQuery) GetByID(dcid string) *Guild
func (*GuildQuery) New ¶
func (gq *GuildQuery) New() *Guild
type Message ¶
type Message struct { DiscordID string AttachmentID string Channel PortalKey SenderID string Timestamp time.Time EditTimestamp time.Time ThreadID string MXID id.EventID SenderMXID id.UserID // contains filtered or unexported fields }
func (*Message) DiscordProtoChannelID ¶
func (*Message) MassInsertParts ¶ added in v0.3.0
func (m *Message) MassInsertParts(msgs []MessagePart)
func (*Message) UpdateEditTimestamp ¶ added in v0.4.0
type MessagePart ¶
type MessageQuery ¶
type MessageQuery struct {
// contains filtered or unexported fields
}
func (*MessageQuery) DeleteAll ¶
func (mq *MessageQuery) DeleteAll(key PortalKey)
func (*MessageQuery) GetByDiscordID ¶
func (mq *MessageQuery) GetByDiscordID(key PortalKey, discordID string) []*Message
func (*MessageQuery) GetByMXID ¶
func (mq *MessageQuery) GetByMXID(key PortalKey, mxid id.EventID) *Message
func (*MessageQuery) GetClosestBefore ¶
func (*MessageQuery) GetFirstByDiscordID ¶
func (mq *MessageQuery) GetFirstByDiscordID(key PortalKey, discordID string) *Message
func (*MessageQuery) GetLast ¶ added in v0.3.0
func (mq *MessageQuery) GetLast(key PortalKey) *Message
func (*MessageQuery) GetLastByDiscordID ¶
func (mq *MessageQuery) GetLastByDiscordID(key PortalKey, discordID string) *Message
func (*MessageQuery) GetLastInThread ¶
func (mq *MessageQuery) GetLastInThread(key PortalKey, threadID string) *Message
func (*MessageQuery) MassInsert ¶ added in v0.3.0
func (mq *MessageQuery) MassInsert(key PortalKey, msgs []Message)
func (*MessageQuery) New ¶
func (mq *MessageQuery) New() *Message
type Portal ¶
type Portal struct { Key PortalKey Type discordgo.ChannelType OtherUserID string ParentID string GuildID string MXID id.RoomID PlainName string Name string NameSet bool FriendNick bool Topic string TopicSet bool Avatar string AvatarURL id.ContentURI AvatarSet bool Encrypted bool InSpace id.RoomID FirstEventID id.EventID RelayWebhookID string RelayWebhookSecret string // contains filtered or unexported fields }
type PortalKey ¶
func NewPortalKey ¶
type PortalQuery ¶
type PortalQuery struct {
// contains filtered or unexported fields
}
func (*PortalQuery) FindPrivateChatBetween ¶ added in v0.4.0
func (pq *PortalQuery) FindPrivateChatBetween(id, receiver string) *Portal
func (*PortalQuery) FindPrivateChatsOf ¶
func (pq *PortalQuery) FindPrivateChatsOf(receiver string) []*Portal
func (*PortalQuery) FindPrivateChatsWith ¶
func (pq *PortalQuery) FindPrivateChatsWith(id string) []*Portal
func (*PortalQuery) GetAll ¶
func (pq *PortalQuery) GetAll() []*Portal
func (*PortalQuery) GetAllInGuild ¶
func (pq *PortalQuery) GetAllInGuild(guildID string) []*Portal
func (*PortalQuery) GetByID ¶
func (pq *PortalQuery) GetByID(key PortalKey) *Portal
func (*PortalQuery) New ¶
func (pq *PortalQuery) New() *Portal
type Puppet ¶
type Puppet struct { ID string Name string NameSet bool Avatar string AvatarURL id.ContentURI AvatarSet bool ContactInfoSet bool GlobalName string Username string Discriminator string IsBot bool IsWebhook bool IsApplication bool CustomMXID id.UserID AccessToken string NextBatch string // contains filtered or unexported fields }
type PuppetQuery ¶
type PuppetQuery struct {
// contains filtered or unexported fields
}
func (*PuppetQuery) Get ¶
func (pq *PuppetQuery) Get(id string) *Puppet
func (*PuppetQuery) GetAll ¶
func (pq *PuppetQuery) GetAll() []*Puppet
func (*PuppetQuery) GetAllWithCustomMXID ¶
func (pq *PuppetQuery) GetAllWithCustomMXID() []*Puppet
func (*PuppetQuery) GetByCustomMXID ¶
func (pq *PuppetQuery) GetByCustomMXID(mxid id.UserID) *Puppet
func (*PuppetQuery) New ¶
func (pq *PuppetQuery) New() *Puppet
type Reaction ¶
type Reaction struct { Channel PortalKey MessageID string Sender string EmojiName string ThreadID string MXID id.EventID FirstAttachmentID string // contains filtered or unexported fields }
func (*Reaction) DiscordProtoChannelID ¶
type ReactionQuery ¶
type ReactionQuery struct {
// contains filtered or unexported fields
}
func (*ReactionQuery) GetAllForMessage ¶
func (rq *ReactionQuery) GetAllForMessage(key PortalKey, discordMessageID string) []*Reaction
func (*ReactionQuery) GetByDiscordID ¶
func (rq *ReactionQuery) GetByDiscordID(key PortalKey, msgID, sender, emojiName string) *Reaction
func (*ReactionQuery) New ¶
func (rq *ReactionQuery) New() *Reaction
type RoleQuery ¶
type RoleQuery struct {
// contains filtered or unexported fields
}
func (*RoleQuery) DeleteByID ¶
type Thread ¶
type ThreadQuery ¶
type ThreadQuery struct {
// contains filtered or unexported fields
}
func (*ThreadQuery) GetByDiscordID ¶
func (tq *ThreadQuery) GetByDiscordID(discordID string) *Thread
func (*ThreadQuery) GetByMatrixRootMsg ¶
func (tq *ThreadQuery) GetByMatrixRootMsg(mxid id.EventID) *Thread
func (*ThreadQuery) GetByMatrixRootOrCreationNoticeMsg ¶
func (tq *ThreadQuery) GetByMatrixRootOrCreationNoticeMsg(mxid id.EventID) *Thread
func (*ThreadQuery) New ¶
func (tq *ThreadQuery) New() *Thread
type User ¶
type User struct { MXID id.UserID DiscordID string DiscordToken string ManagementRoom id.RoomID SpaceRoom id.RoomID DMSpaceRoom id.RoomID ReadStateVersion int // contains filtered or unexported fields }
func (*User) GetPortals ¶
func (u *User) GetPortals() []UserPortal
func (*User) IsInPortal ¶
func (*User) MarkInPortal ¶
func (u *User) MarkInPortal(portal UserPortal)
func (*User) MarkNotInPortal ¶
func (*User) PortalHasOtherUsers ¶
func (*User) PrunePortalList ¶
func (u *User) PrunePortalList(beforeTS time.Time) []UserPortal
type UserPortal ¶
func (UserPortal) Scan ¶
func (up UserPortal) Scan(l log.Logger, row dbutil.Scannable) *UserPortal
type UserQuery ¶
type UserQuery struct {
// contains filtered or unexported fields
}
func (*UserQuery) GetAllWithToken ¶
Source Files ¶
Click to show internal directories.
Click to hide internal directories.