about summary refs log tree commit diff
path: root/pkg/discord
diff options
context:
space:
mode:
authorMel <einebeere@gmail.com>2022-04-10 20:20:15 +0200
committerMel <einebeere@gmail.com>2022-04-10 20:20:15 +0200
commit6cd2890450aaf71e97004d421237996f0a42d04c (patch)
tree2d501aedb0b311891d6028dbbf6d9034f886df77 /pkg/discord
parent46b68c20aa4c83b3a3ab05fa243b16ed6b100a9d (diff)
downloadjinx-6cd2890450aaf71e97004d421237996f0a42d04c.tar.zst
jinx-6cd2890450aaf71e97004d421237996f0a42d04c.zip
Start pushing out context where not necessary
Diffstat (limited to 'pkg/discord')
-rw-r--r--pkg/discord/discord.go8
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()
 }