send praises and conspiracies on schedule

This commit is contained in:
Khinshan Khan
2025-03-08 20:08:43 -05:00
parent 7dd6e55042
commit d47ca69bf7
+24 -5
View File
@@ -4,6 +4,7 @@ import (
"embed" "embed"
"encoding/json" "encoding/json"
"fmt" "fmt"
"math/rand"
"os" "os"
"os/signal" "os/signal"
"syscall" "syscall"
@@ -102,14 +103,32 @@ func readyHandler(s *discordgo.Session, r *discordgo.Ready) {
} }
func sendScheduledMessages(s *discordgo.Session, channelID string) { func sendScheduledMessages(s *discordgo.Session, channelID string) {
ticker := time.NewTicker(30 * time.Second) // TODO: change time after debugging
ticker := time.NewTicker(time.Second * 5)
defer ticker.Stop() defer ticker.Stop()
for range ticker.C { for range ticker.C {
message := "Good" sendMessage(praises, s, channelID)
_, err := s.ChannelMessageSend(channelID, message)
if err != nil { // 30% chance to send a conspiracy theory
fmt.Printf("Error sending message: %v\n", err) // TODO: and delete it after 5 min
if rand.Float32() < 0.3 {
sendMessage(conspiracies, s, channelID)
} }
} }
} }
func sendMessage(messages []string, s *discordgo.Session, channelID string) *discordgo.Message {
if len(messages) == 0 {
fmt.Printf("No messages available.")
return nil
}
message := messages[rand.Intn(len(messages))]
discordMessage, err := s.ChannelMessageSend(channelID, message)
if err != nil {
fmt.Printf("Error sending message: %v\n", err)
return nil
}
return discordMessage
}