diff options
| author | Mel <einebeere@gmail.com> | 2022-04-04 01:53:41 +0200 |
|---|---|---|
| committer | Mel <einebeere@gmail.com> | 2022-04-04 01:53:41 +0200 |
| commit | fdd0ea7911b2c98f95ef99f6d1518ee4eb4dfd7a (patch) | |
| tree | 702f893e5ef2ec4196cd37393014b3ca59e5c0dc /pkg/bot/bot.go | |
| parent | b80bda2da026086523f1de8f460637a376c53bf2 (diff) | |
| download | jinx-fdd0ea7911b2c98f95ef99f6d1518ee4eb4dfd7a.tar.zst jinx-fdd0ea7911b2c98f95ef99f6d1518ee4eb4dfd7a.zip | |
Listen to incoming messages and respond to pings
Diffstat (limited to 'pkg/bot/bot.go')
| -rw-r--r-- | pkg/bot/bot.go | 25 |
1 files changed, 17 insertions, 8 deletions
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() +} |
