refactor main, and fix bugs from initial manual run

Signed-off-by: Ava Affine <ava@sunnypup.io>
This commit is contained in:
Ava Apples Affine 2025-01-13 15:45:07 -08:00
parent 55f9725af1
commit fed49ba3cb
6 changed files with 66 additions and 35 deletions

View file

@ -2,6 +2,7 @@ package confession
import (
"errors"
"fmt"
"sync"
"github.com/bwmarrin/discordgo"
@ -20,7 +21,7 @@ const (
var (
// guild ID to channel ID
linkLock sync.RWMutex
confessionChannelLinks map[string]state.ConfessionsChannelLinkEvent
confessionChannelLinks = make(map[string]state.ConfessionsChannelLinkEvent)
)
func Start() error {
@ -36,6 +37,7 @@ func Start() error {
go func() {
for {
ev := <- ch
logging.Info("recieved new confessional channel link")
e := ev.(state.ConfessionsChannelLinkEvent)
linkLock.Lock()
confessionChannelLinks[e.GuildID] = e
@ -51,7 +53,7 @@ func MakeConfession(s *discordgo.Session, guildID string, content string) {
link, ok := confessionChannelLinks[guildID]
linkLock.RUnlock()
if !ok {
logging.Error("Failed to send confession in guild %s: no link exists in map", guildID)
logging.Error(fmt.Sprintf("Failed to send confession in guild %s: no link exists in map", guildID))
return
}
s.ChannelMessageSend(link.ChannelID, content)