From 103b33f77d1848719bf02974409554c9a5d1bceb Mon Sep 17 00:00:00 2001 From: cryox-dev <153694079+cryox-dev@users.noreply.github.com> Date: Wed, 13 Dec 2023 14:30:01 +1300 Subject: [PATCH] Add Delete() --- bridge/discord/transmitter/transmitter.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/bridge/discord/transmitter/transmitter.go b/bridge/discord/transmitter/transmitter.go index 71407a1d..3d5ade7c 100644 --- a/bridge/discord/transmitter/transmitter.go +++ b/bridge/discord/transmitter/transmitter.go @@ -94,6 +94,23 @@ func (t *Transmitter) Edit(channelID string, messageID string, params *discordgo return nil } +// Delete will delete a message from a channel, if possible. +func (t *Transmitter) Delete(channelID string, messageID string) error { + wh := t.getWebhook(channelID) + + if wh == nil { + return ErrWebhookNotFound + } + + uri := discordgo.EndpointWebhookToken(wh.ID, wh.Token) + "/messages/" + messageID + _, err := t.session.RequestWithBucketID("DELETE", uri, nil, discordgo.EndpointWebhookToken("", "")) + if err != nil { + return fmt.Errorf("delete failed: %w", err) + } + + return nil +} + // HasWebhook checks whether the transmitter is using a particular webhook. func (t *Transmitter) HasWebhook(id string) bool { t.mutex.RLock()