Documentation ¶
Index ¶
- Constants
- func GetIconURL(msg *Message, iconURL string) string
- type Bridge
- type BridgeValues
- type ChannelInfo
- type ChannelMember
- type ChannelMembers
- type ChannelOptions
- type Config
- type FileInfo
- type Gateway
- type Message
- type Protocol
- type SameChannelGateway
- type Tengo
- type TestConfig
- func (c *TestConfig) GetBool(key string) (bool, bool)
- func (c *TestConfig) GetInt(key string) (int, bool)
- func (c *TestConfig) GetString(key string) (string, bool)
- func (c *TestConfig) GetStringSlice(key string) ([]string, bool)
- func (c *TestConfig) GetStringSlice2D(key string) ([][]string, bool)
- func (c *TestConfig) IsKeySet(key string) bool
Constants ¶
View Source
const ( EventJoinLeave = "join_leave" EventTopicChange = "topic_change" EventFailure = "failure" EventFileFailureSize = "file_failure_size" EventAvatarDownload = "avatar_download" EventRejoinChannels = "rejoin_channels" EventUserAction = "user_action" EventMsgDelete = "msg_delete" EventFileDelete = "file_delete" EventAPIConnected = "api_connected" EventUserTyping = "user_typing" EventGetChannelMembers = "get_channel_members" EventNoticeIRC = "notice_irc" )
View Source
const ParentIDNotFound = "msg-parent-not-found"
Variables ¶
This section is empty.
Functions ¶
func GetIconURL ¶
Types ¶
type Bridge ¶
type Bridge struct { Account string Channel string Options ChannelOptions SameChannel bool }
type BridgeValues ¶
type BridgeValues struct { API map[string]Protocol IRC map[string]Protocol Mattermost map[string]Protocol Matrix map[string]Protocol Slack map[string]Protocol SlackLegacy map[string]Protocol Steam map[string]Protocol Gitter map[string]Protocol XMPP map[string]Protocol Discord map[string]Protocol Telegram map[string]Protocol Rocketchat map[string]Protocol SSHChat map[string]Protocol WhatsApp map[string]Protocol // TODO is this struct used? Search for "SlackLegacy" for example didn't return any results Zulip map[string]Protocol Keybase map[string]Protocol Mumble map[string]Protocol General Protocol Tengo Tengo Gateway []Gateway SameChannelGateway []SameChannelGateway }
type ChannelInfo ¶
type ChannelMember ¶
type ChannelMembers ¶
type ChannelMembers []ChannelMember
type ChannelOptions ¶
type Config ¶
type Config interface { Viper() *viper.Viper BridgeValues() *BridgeValues IsKeySet(key string) bool GetBool(key string) (bool, bool) GetInt(key string) (int, bool) GetString(key string) (string, bool) GetStringSlice(key string) ([]string, bool) GetStringSlice2D(key string) ([][]string, bool) }
type Message ¶
type Message struct { Text string `json:"text"` Channel string `json:"channel"` Username string `json:"username"` UserID string `json:"userid"` // userid on the bridge Avatar string `json:"avatar"` Account string `json:"account"` Event string `json:"event"` Protocol string `json:"protocol"` Gateway string `json:"gateway"` ParentID string `json:"parent_id"` Timestamp time.Time `json:"timestamp"` ID string `json:"id"` Extra map[string][]interface{} }
func (Message) ParentNotFound ¶
func (Message) ParentValid ¶
type Protocol ¶
type Protocol struct { AllowMention []string // discord AuthCode string // steam BindAddress string // mattermost, slack // DEPRECATED Buffer int // api Charset string // irc ClientID string // msteams ColorNicks bool // only irc for now Debug bool // general DebugLevel int // only for irc now DisableWebPagePreview bool // telegram EditSuffix string // mattermost, slack, discord, telegram, gitter EditDisable bool // mattermost, slack, discord, telegram, gitter HTMLDisable bool // matrix IconURL string // mattermost, slack IgnoreFailureOnStart bool // general IgnoreNicks string // all protocols IgnoreMessages string // all protocols Jid string // xmpp JoinDelay string // all protocols Label string // all protocols Login string // mattermost, matrix LogFile string // general MediaDownloadBlackList []string MediaDownloadPath string // Basically MediaServerUpload, but instead of uploading it, just write it to a file on the same server. MediaDownloadSize int // all protocols MediaServerDownload string MediaServerUpload string MediaConvertTgs string // telegram MediaConvertWebPToPNG bool // telegram MessageDelay int // IRC, time in millisecond to wait between messages MessageFormat string // telegram MessageLength int // IRC, max length of a message allowed MessageQueue int // IRC, size of message queue for flood control MessageSplit bool // IRC, split long messages with newlines on MessageLength instead of clipping MessageSplitMaxCount int // discord, split long messages into at most this many messages instead of clipping (MessageLength=1950 cannot be configured) Muc string // xmpp MxID string // matrix Name string // all protocols Nick string // all protocols NickFormatter string // mattermost, slack NickServNick string // IRC NickServUsername string // IRC NickServPassword string // IRC NicksPerRow int // mattermost, slack NoHomeServerSuffix bool // matrix NoSendJoinPart bool // all protocols NoTLS bool // mattermost, xmpp Password string // IRC,mattermost,XMPP,matrix PrefixMessagesWithNick bool // mattemost, slack PreserveThreading bool // slack Protocol string // all protocols QuoteDisable bool // telegram QuoteFormat string // telegram QuoteLengthLimit int // telegram RealName string // IRC RejoinDelay int // IRC ReplaceMessages [][]string // all protocols ReplaceNicks [][]string // all protocols RemoteNickFormat string // all protocols RunCommands []string // IRC Server string // IRC,mattermost,XMPP,discord,matrix SessionFile string // msteams,whatsapp ShowJoinPart bool // all protocols ShowTopicChange bool // slack ShowUserTyping bool // slack ShowEmbeds bool // discord SkipTLSVerify bool // IRC, mattermost SkipVersionCheck bool // mattermost StripNick bool // all protocols StripMarkdown bool // irc SyncTopic bool // slack TengoModifyMessage string // general Team string // mattermost, keybase TeamID string // msteams TenantID string // msteams Token string // gitter, slack, discord, api, matrix Topic string // zulip URL string // mattermost, slack // DEPRECATED UseAPI bool // mattermost, slack UseLocalAvatar []string // discord UseSASL bool // IRC UseTLS bool // IRC UseDiscriminator bool // discord UseFirstName bool // telegram UseUserName bool // discord, matrix, mattermost UseInsecureURL bool // telegram UserName string // IRC VerboseJoinPart bool // IRC WebhookBindAddress string // mattermost, slack WebhookURL string // mattermost, slack }
type SameChannelGateway ¶
type TestConfig ¶
func (*TestConfig) GetStringSlice ¶
func (c *TestConfig) GetStringSlice(key string) ([]string, bool)
func (*TestConfig) GetStringSlice2D ¶
func (c *TestConfig) GetStringSlice2D(key string) ([][]string, bool)
func (*TestConfig) IsKeySet ¶
func (c *TestConfig) IsKeySet(key string) bool
Click to show internal directories.
Click to hide internal directories.