diff options
Diffstat (limited to 'pkg/discord/discord.go')
| -rw-r--r-- | pkg/discord/discord.go | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/pkg/discord/discord.go b/pkg/discord/discord.go index b0b6f7d..49ddc3b 100644 --- a/pkg/discord/discord.go +++ b/pkg/discord/discord.go @@ -16,6 +16,8 @@ type Discord struct { gateway gateway.Gateway eventHandler events.EventHandler rest rest.REST + + cancel context.CancelFunc } func New(token string, logger *zerolog.Logger) *Discord { @@ -34,7 +36,10 @@ func New(token string, logger *zerolog.Logger) *Discord { } } -func (d *Discord) Connect(ctx context.Context) error { +func (d *Discord) Connect() error { + ctx, cancel := context.WithCancel(context.Background()) + d.cancel = cancel + gatewayURL, err := d.rest.Gateway() if err != nil { return err @@ -52,6 +57,7 @@ func (d *Discord) Connect(ctx context.Context) error { } func (d *Discord) Disconnect() error { + d.cancel() return d.gateway.Close() } |
