diff options
Diffstat (limited to 'vendor/github.com/matterbridge/slack/websocket.go')
-rw-r--r-- | vendor/github.com/matterbridge/slack/websocket.go | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/vendor/github.com/matterbridge/slack/websocket.go b/vendor/github.com/matterbridge/slack/websocket.go deleted file mode 100644 index f3c9cbd8..00000000 --- a/vendor/github.com/matterbridge/slack/websocket.go +++ /dev/null @@ -1,93 +0,0 @@ -package slack - -import ( - "encoding/json" - "errors" - "time" - - "golang.org/x/net/websocket" -) - -const ( - // MaxMessageTextLength is the current maximum message length in number of characters as defined here - // https://api.slack.com/rtm#limits - MaxMessageTextLength = 4000 -) - -// RTM represents a managed websocket connection. It also supports -// all the methods of the `Client` type. -// -// Create this element with Client's NewRTM() or NewRTMWithOptions(*RTMOptions) -type RTM struct { - idGen IDGenerator - pings map[int]time.Time - - // Connection life-cycle - conn *websocket.Conn - IncomingEvents chan RTMEvent - outgoingMessages chan OutgoingMessage - killChannel chan bool - forcePing chan bool - rawEvents chan json.RawMessage - wasIntentional bool - isConnected bool - - // Client is the main API, embedded - Client - websocketURL string - - // UserDetails upon connection - info *Info - - // useRTMStart should be set to true if you want to use - // rtm.start to connect to Slack, otherwise it will use - // rtm.connect - useRTMStart bool -} - -// RTMOptions allows configuration of various options available for RTM messaging -// -// This structure will evolve in time so please make sure you are always using the -// named keys for every entry available as per Go 1 compatibility promise adding fields -// to this structure should not be considered a breaking change. -type RTMOptions struct { - // UseRTMStart set to true in order to use rtm.start or false to use rtm.connect - // As of 11th July 2017 you should prefer setting this to false, see: - // https://api.slack.com/changelog/2017-04-start-using-rtm-connect-and-stop-using-rtm-start - UseRTMStart bool -} - -// Disconnect and wait, blocking until a successful disconnection. -func (rtm *RTM) Disconnect() error { - if !rtm.isConnected { - return errors.New("Invalid call to Disconnect - Slack API is already disconnected") - } - rtm.killChannel <- true - return nil -} - -// Reconnect only makes sense if you've successfully disconnectd with Disconnect(). -func (rtm *RTM) Reconnect() error { - logger.Println("RTM::Reconnect not implemented!") - return nil -} - -// GetInfo returns the info structure received when calling -// "startrtm", holding all channels, groups and other metadata needed -// to implement a full chat client. It will be non-nil after a call to -// StartRTM(). -func (rtm *RTM) GetInfo() *Info { - return rtm.info -} - -// SendMessage submits a simple message through the websocket. For -// more complicated messages, use `rtm.PostMessage` with a complete -// struct describing your attachments and all. -func (rtm *RTM) SendMessage(msg *OutgoingMessage) { - if msg == nil { - rtm.Debugln("Error: Attempted to SendMessage(nil)") - return - } - - rtm.outgoingMessages <- *msg -} |