func (rtm *RTM) NewTypingMessage(channel string) *OutgoingMessage {
	id := rtm.idGen.Next()
	return &OutgoingMessage{
		ID:      id,
		Type:    "typing",
		Channel: channel,
	}
}
NewTypingMessage prepares an OutgoingMessage that the user can
use to send as a typing indicator. Use this function to properly set the
messageID.
package slack
type OutgoingMessage struct {
	ID      int    `json:"id"`
	Channel string `json:"channel,omitempty"`
	Text    string `json:"text,omitempty"`
	Type    string `json:"type,omitempty"`
}
type Message struct {
	Msg
	SubMessage *Msg `json:"message,omitempty"`
}
type Msg struct {
	Type        string       `json:"type,omitempty"`
	Channel     string       `json:"channel,omitempty"`
	User        string       `json:"user,omitempty"`
	Text        string       `json:"text,omitempty"`
	Timestamp   string       `json:"ts,omitempty"`
	IsStarred   bool         `json:"is_starred,omitempty"`
	PinnedTo    []string     `json:"pinned_to, omitempty"`
	Attachments []Attachment `json:"attachments,omitempty"`
	Edited      *Edited      `json:"edited,omitempty"`
	SubType string `json:"subtype,omitempty"`
	Hidden           bool   `json:"hidden,omitempty"`      
	DeletedTimestamp string `json:"deleted_ts,omitempty"`  
	EventTimestamp   string `json:"event_ts,omitempty"`
	BotID    string `json:"bot_id,omitempty"`
	Username string `json:"username,omitempty"`
	Icons    *Icon  `json:"icons,omitempty"`
	Inviter string `json:"inviter,omitempty"`
	Topic string `json:"topic,omitempty"`
	Purpose string `json:"purpose,omitempty"`
	Name    string `json:"name,omitempty"`
	OldName string `json:"old_name,omitempty"`
	Members []string `json:"members,omitempty"`
	File *File `json:"file,omitempty"`
	Upload bool `json:"upload,omitempty"`
	Comment *Comment `json:"comment,omitempty"`
	ItemType string `json:"item_type,omitempty"`
	ReplyTo int    `json:"reply_to,omitempty"`
	Team    string `json:"team,omitempty"`
	Reactions []ItemReaction `json:"reactions,omitempty"`
}
type Icon struct {
	IconURL   string `json:"icon_url,omitempty"`
	IconEmoji string `json:"icon_emoji,omitempty"`
}
type Edited struct {
	User      string `json:"user,omitempty"`
	Timestamp string `json:"ts,omitempty"`
}
type Event struct {
	Type string `json:"type,omitempty"`
}
type Ping struct {
	ID   int    `json:"id"`
	Type string `json:"type"`
}
type Pong struct {
	Type    string `json:"type"`
	ReplyTo int    `json:"reply_to"`
}
func (rtm *RTM) NewOutgoingMessage(text string, channel string) *OutgoingMessage {
	id := rtm.idGen.Next()
	return &OutgoingMessage{
		ID:      id,
		Type:    "message",
		Channel: channel,
		Text:    text,
	}
}