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