Add more safety around message reference misuse

This commit is contained in:
Carson Hoffman 2021-08-10 21:40:36 -04:00
parent 460b371cce
commit f7454d039f
No known key found for this signature in database
GPG key ID: 05B660CB452C657F
2 changed files with 6 additions and 1 deletions

View file

@ -120,7 +120,9 @@ type Message struct {
// Is sent with Rich Presence-related chat embeds
Application *MessageApplication `json:"application"`
// MessageReference contains reference data sent with crossposted messages
// MessageReference contains reference data sent with crossposted or reply messages.
// This does not contain the reference *to* this message; this is for when *this* message references another.
// To generate a reference to this message, use (*Message).Reference().
MessageReference *MessageReference `json:"message_reference"`
// The flags of the message, which describe extra features of a message.

View file

@ -1612,6 +1612,9 @@ func (s *Session) ChannelMessageSendEmbed(channelID string, embed *MessageEmbed)
// content : The message to send.
// reference : The message reference to send.
func (s *Session) ChannelMessageSendReply(channelID string, content string, reference *MessageReference) (*Message, error) {
if reference == nil {
return nil, fmt.Errorf("reply attempted with nil message reference")
}
return s.ChannelMessageSendComplex(channelID, &MessageSend{
Content: content,
Reference: reference,