# Structs

Message is the struct that is used to pass messages from the Gateway to the Redis pubsub (inbound messages).
MessageSend is the struct that is used to pass messages from the Redis pubsub to the Discord Gateway (outbound messages) Because the discordgo.Session.ChannelMessageSend() method only accepts channel ID and content as a string, our struct limits iteslef to those two fields as well.
Metadata is used by the Gateway(s) and app(s) to trace messages and identify intended recipients.