Recieving messages via the external link

This commit is contained in:
2023-06-17 22:27:14 +00:00
parent b252d5e62e
commit 77d41bb945
11 changed files with 164 additions and 15 deletions

45
discord/message.go Normal file
View File

@@ -0,0 +1,45 @@
package discord
import (
"log"
"github.com/bwmarrin/discordgo"
"github.com/yeslayla/birdbot/core"
"github.com/yeslayla/birdbot/persistence"
)
func (discord *Discord) WebhookSendMessage(channel *core.Channel, displayName string, message string) {
webhookData, err := discord.db.GetDiscordWebhook(channel.ID)
if err != nil {
log.Printf("Error getting webhook from DB: %s", err)
return
}
if webhookData == nil {
webhook, err := discord.session.WebhookCreate(channel.ID, "BirdBot", "")
if err != nil {
log.Printf("Error creating webhook: %s", err)
return
}
webhookData = &persistence.DBDiscordWebhook{
ID: webhook.ID,
Token: webhook.Token,
}
if err := discord.db.SetDiscordWebhook(channel.ID, webhookData); err != nil {
log.Fatalf("Error failed to store webhook in DB: %s", err)
return
}
}
if _, err = discord.session.WebhookExecute(webhookData.ID, webhookData.Token, false, &discordgo.WebhookParams{
Content: message,
Username: displayName,
}); err != nil {
log.Printf("Failed to send message over webhook: %s", err)
}
}