From fdd0ea7911b2c98f95ef99f6d1518ee4eb4dfd7a Mon Sep 17 00:00:00 2001 From: Mel Date: Mon, 4 Apr 2022 01:53:41 +0200 Subject: Listen to incoming messages and respond to pings --- pkg/bot/bot.go | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) (limited to 'pkg/bot/bot.go') diff --git a/pkg/bot/bot.go b/pkg/bot/bot.go index 71eb0e9..091e1be 100644 --- a/pkg/bot/bot.go +++ b/pkg/bot/bot.go @@ -6,24 +6,33 @@ import ( "jinx/pkg/discord" ) -func Start(token string) error { +type Bot struct { + Client *discord.Discord + cancelContext context.CancelFunc +} + +func Start(token string) (*Bot, error) { fmt.Println("hi..!") client := discord.NewClient(token) ctx, cancel := context.WithCancel(context.Background()) - defer cancel() fmt.Println("connecting..") if err := client.Connect(ctx); err != nil { - return err + cancel() + return nil, err } fmt.Println("connected..") - if err := client.Disconnect(); err != nil { - return err - } + return &Bot{ + Client: client, + cancelContext: cancel, + }, nil +} - return nil -} \ No newline at end of file +func (b *Bot) Stop() error { + b.cancelContext() + return b.Client.Disconnect() +} -- cgit 1.4.1