aboutsummaryrefslogtreecommitdiff
path: root/pkg/discord
diff options
context:
space:
mode:
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()
}