aboutsummaryrefslogtreecommitdiff
path: root/pkg/bot
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/bot')
-rw-r--r--pkg/bot/bot.go20
1 files changed, 16 insertions, 4 deletions
diff --git a/pkg/bot/bot.go b/pkg/bot/bot.go
index 091e1be..9095d7c 100644
--- a/pkg/bot/bot.go
+++ b/pkg/bot/bot.go
@@ -4,6 +4,7 @@ import (
"context"
"fmt"
"jinx/pkg/discord"
+ "log"
)
type Bot struct {
@@ -16,16 +17,27 @@ func Start(token string) (*Bot, error) {
client := discord.NewClient(token)
- ctx, cancel := context.WithCancel(context.Background())
+ client.AddEventHandler(discord.DISCORD_EVENT_READY, func(_ any) {
+ log.Println("bot is ready!")
+ })
+
+ client.AddEventHandler(discord.DISCORD_EVENT_MESSAGE, func(m any) {
+ msg := m.(discord.GatewayMessageCreateEvent)
+ log.Printf("message: %s", msg.Content)
+
+ if msg.Content == "ping" {
+ if err := client.SendMessage(msg.ChannelID, "pong"); err != nil {
+ log.Printf("error sending message: %s", err)
+ }
+ }
+ })
- fmt.Println("connecting..")
+ ctx, cancel := context.WithCancel(context.Background())
if err := client.Connect(ctx); err != nil {
cancel()
return nil, err
}
- fmt.Println("connected..")
-
return &Bot{
Client: client,
cancelContext: cancel,