func NewMessageEdit(channelID string, messageID string) *MessageEdit {
	return &MessageEdit{
		Channel: channelID,
		ID:      messageID,
	}
}
NewMessageEdit returns a MessageEdit struct, initialized
with the Channel and ID.
package discordgo
import (
	"io"
	"regexp"
	"strings"
)
type MessageType int
const (
	MessageTypeDefault MessageType = iota
	MessageTypeRecipientAdd
	MessageTypeRecipientRemove
	MessageTypeCall
	MessageTypeChannelNameChange
	MessageTypeChannelIconChange
	MessageTypeChannelPinnedMessage
	MessageTypeGuildMemberJoin
	MessageTypeUserPremiumGuildSubscription
	MessageTypeUserPremiumGuildSubscriptionTierOne
	MessageTypeUserPremiumGuildSubscriptionTierTwo
	MessageTypeUserPremiumGuildSubscriptionTierThree
	MessageTypeChannelFollowAdd
	MessageTypeGuildDiscoveryDisqualified = iota + 1
	MessageTypeGuildDiscoveryRequalified
	MessageTypeReply = iota + 4
	MessageTypeApplicationCommand
)
type Message struct {
	ID string `json:"id"`
	ChannelID string `json:"channel_id"`
	GuildID string `json:"guild_id,omitempty"`
	Content string `json:"content"`
	Timestamp Timestamp `json:"timestamp"`
	EditedTimestamp Timestamp `json:"edited_timestamp"`
	MentionRoles []string `json:"mention_roles"`
	TTS bool `json:"tts"`
	MentionEveryone bool `json:"mention_everyone"`
	Author *User `json:"author"`
	Attachments []*MessageAttachment `json:"attachments"`
	Embeds []*MessageEmbed `json:"embeds"`
	Mentions []*User `json:"mentions"`
	Reactions []*MessageReactions `json:"reactions"`
	Pinned bool `json:"pinned"`
	Type MessageType `json:"type"`
	WebhookID string `json:"webhook_id"`
	Member *Member `json:"member"`
	MentionChannels []*Channel `json:"mention_channels"`
	Activity *MessageActivity `json:"activity"`
	Application *MessageApplication `json:"application"`
	MessageReference *MessageReference `json:"message_reference"`
	Flags MessageFlags `json:"flags"`
}
type MessageFlags int
const (
	MessageFlagsCrossPosted MessageFlags = 1 << iota
	MessageFlagsIsCrossPosted
	MessageFlagsSupressEmbeds
	MessageFlagsSourceMessageDeleted
	MessageFlagsUrgent
)
type File struct {
	Name        string
	ContentType string
	Reader      io.Reader
}
type MessageSend struct {
	Content         string                  `json:"content,omitempty"`
	Embed           *MessageEmbed           `json:"embed,omitempty"`
	TTS             bool                    `json:"tts"`
	Files           []*File                 `json:"-"`
	AllowedMentions *MessageAllowedMentions `json:"allowed_mentions,omitempty"`
	Reference       *MessageReference       `json:"message_reference,omitempty"`
	File *File `json:"-"`
}
type MessageEdit struct {
	Content         *string                 `json:"content,omitempty"`
	Embed           *MessageEmbed           `json:"embed,omitempty"`
	AllowedMentions *MessageAllowedMentions `json:"allowed_mentions,omitempty"`
	ID      string
	Channel string
}