Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Base ¶
Base enforces standard variables across communication packages
func (*Base) IsConnected ¶
IsConnected returns if the package is connected to a server and/or ready to send
func (*Base) IsEnabled ¶
IsEnabled returns if the comms package has been enabled in the configuration
func (*Base) SetServiceStarted ¶
SetServiceStarted sets the time the service started
type CommsStatus ¶
CommsStatus stores the status of a comms relayer
type CommunicationsConfig ¶
type CommunicationsConfig struct { SlackConfig SlackConfig `json:"slack"` SMSGlobalConfig SMSGlobalConfig `json:"smsGlobal"` SMTPConfig SMTPConfig `json:"smtp"` TelegramConfig TelegramConfig `json:"telegram"` }
CommunicationsConfig holds all the information needed for each enabled communication package
func (*CommunicationsConfig) IsAnyEnabled ¶
func (c *CommunicationsConfig) IsAnyEnabled() bool
IsAnyEnabled returns whether any comms relayers are enabled
type IComm ¶
type IComm []ICommunicate
IComm is the main interface array across the communication packages
func (IComm) GetEnabledCommunicationMediums ¶
GetEnabledCommunicationMediums prints out enabled and connected communication packages (#debug output only)
func (IComm) GetStatus ¶
func (c IComm) GetStatus() map[string]CommsStatus
GetStatus returns the status of the comms relayers
type ICommunicate ¶
type ICommunicate interface { Setup(config *CommunicationsConfig) Connect() error PushEvent(Event) error IsEnabled() bool IsConnected() bool GetName() string SetServiceStarted(time.Time) }
ICommunicate enforces standard functions across communication packages
type SMSContact ¶
type SMSContact struct { Name string `json:"name"` Number string `json:"number"` Enabled bool `json:"enabled"` }
SMSContact stores the SMS contact info
type SMSGlobalConfig ¶
type SMSGlobalConfig struct { Name string `json:"name"` From string `json:"from"` Enabled bool `json:"enabled"` Verbose bool `json:"verbose"` Username string `json:"username"` Password string `json:"password"` Contacts []SMSContact `json:"contacts"` }
SMSGlobalConfig structure holds all the variables you need for instant messaging and broadcast used by SMSGlobal
type SMTPConfig ¶
type SMTPConfig struct { Name string `json:"name"` Enabled bool `json:"enabled"` Verbose bool `json:"verbose"` Host string `json:"host"` Port string `json:"port"` AccountName string `json:"accountName"` AccountPassword string `json:"accountPassword"` From string `json:"from"` RecipientList string `json:"recipientList"` }
SMTPConfig holds all variables to start and run the SMTP package
type SlackConfig ¶
type SlackConfig struct { Name string `json:"name"` Enabled bool `json:"enabled"` Verbose bool `json:"verbose"` TargetChannel string `json:"targetChannel"` VerificationToken string `json:"verificationToken"` }
SlackConfig holds all variables to start and run the Slack package
type TelegramConfig ¶
type TelegramConfig struct { Name string `json:"name"` Enabled bool `json:"enabled"` Verbose bool `json:"verbose"` VerificationToken string `json:"verificationToken"` AuthorisedClients map[string]int64 `json:"authorisedClients"` }
TelegramConfig holds all variables to start and run the Telegram package