diff options
Diffstat (limited to 'pkg/discord/discord.go')
| -rw-r--r-- | pkg/discord/discord.go | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/pkg/discord/discord.go b/pkg/discord/discord.go index fd60edd..bd8a7f7 100644 --- a/pkg/discord/discord.go +++ b/pkg/discord/discord.go @@ -5,26 +5,28 @@ import ( "encoding/json" "errors" "fmt" - "log" "math/rand" "net/http" "time" "github.com/gorilla/websocket" + "github.com/rs/zerolog" ) type Discord struct { token string + logger *zerolog.Logger conn *websocket.Conn eventHandler *EventHandlerImpl rest REST } -func NewClient(token string) *Discord { +func NewClient(token string, logger *zerolog.Logger) *Discord { token = "Bot " + token return &Discord{ token: token, + logger: logger, conn: nil, eventHandler: NewEventHandler(), rest: NewREST(token), @@ -87,14 +89,14 @@ func (d *Discord) heartbeat(ctx context.Context, interval uint64) { case <-ctx.Done(): return case <-ticker.C: - fmt.Println("sending heartbeat.") + d.logger.Debug().Msg("sending heartbeat") msg := GatewayPayload[any]{ Op: GATEWAY_OP_HEARTBEAT, } if err := d.conn.WriteJSON(msg); err != nil { - log.Fatalf("error sending heartbeat: %s\n", err) + d.logger.Error().Err(err).Msg("error sending heartbeat") } } } @@ -124,7 +126,7 @@ func (d *Discord) identify() error { return err } - fmt.Printf("identify response payload: %+v\n", res) + d.logger.Debug().Msgf("identify response payload: %+v", res) if res.Op != GATEWAY_OP_DISPATCH { return fmt.Errorf("expected opcode %d, got %d", GATEWAY_OP_DISPATCH, res.Op) @@ -141,7 +143,7 @@ func (d *Discord) listen(ctx context.Context) { for { var msg GatewayPayload[json.RawMessage] if err := d.conn.ReadJSON(&msg); err != nil { - log.Fatalf("error reading message: %s\n", err) + d.logger.Error().Err(err).Msg("error reading message") } select { @@ -156,13 +158,13 @@ func (d *Discord) listen(ctx context.Context) { func (d *Discord) onEvent(msg GatewayPayload[json.RawMessage]) error { switch msg.Op { case GATEWAY_OP_HEARTBEAT_ACK: - fmt.Println("received heartbeat ack.") + d.logger.Debug().Msg("received heartbeat ack.") case GATEWAY_OP_HEARTBEAT: return errors.New("on demand heartbeat not implemented") case GATEWAY_OP_DISPATCH: return d.onDispatch(msg.EventName, msg.Data) default: - fmt.Printf("received unknown opcode: %d\n", msg.Op) + d.logger.Warn().Msgf("received unknown opcode: %d", msg.Op) } return nil @@ -178,7 +180,7 @@ func (d *Discord) onDispatch(eventName string, body json.RawMessage) error { d.eventHandler.Fire(DISCORD_EVENT_MESSAGE, payload) default: - fmt.Println("received unknown event:", eventName) + d.logger.Warn().Msgf("received unknown event: %s", eventName) } return nil |
