From 43296df3d8f78bfbcee866627da8d1f46ab88b75 Mon Sep 17 00:00:00 2001 From: ayn2op Date: Tue, 6 May 2025 21:48:04 -0400 Subject: [PATCH] feat: dump all (not just non-registered events) events when log-level is set to debug --- cmd/root.go | 2 ++ cmd/state.go | 30 ++++++++++++++---------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/cmd/root.go b/cmd/root.go index 3defebd..b526b95 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -6,6 +6,7 @@ import ( "github.com/ayn2op/discordo/internal/config" "github.com/ayn2op/discordo/internal/consts" "github.com/ayn2op/discordo/internal/logger" + "github.com/diamondburned/arikawa/v3/utils/ws" "github.com/gdamore/tcell/v2" "github.com/rivo/tview" "github.com/spf13/cobra" @@ -25,6 +26,7 @@ var ( var level slog.Level switch s, _ := flags.GetString("log-level"); s { case "debug": + ws.EnableRawEvents = true level = slog.LevelDebug case "info": level = slog.LevelInfo diff --git a/cmd/state.go b/cmd/state.go index ed1cefe..00d7417 100644 --- a/cmd/state.go +++ b/cmd/state.go @@ -2,7 +2,6 @@ package cmd import ( "context" - "fmt" "log/slog" "runtime" @@ -10,6 +9,7 @@ import ( "github.com/diamondburned/arikawa/v3/api" "github.com/diamondburned/arikawa/v3/gateway" "github.com/diamondburned/arikawa/v3/utils/httputil/httpdriver" + "github.com/diamondburned/arikawa/v3/utils/ws" "github.com/diamondburned/ningen/v3" "github.com/gdamore/tcell/v2" "github.com/rivo/tview" @@ -39,19 +39,25 @@ func openState(token string) error { } // Handlers - discordState.AddHandler(discordState.onEvent) discordState.AddHandler(discordState.onReady) discordState.AddHandler(discordState.onMessageCreate) discordState.AddHandler(discordState.onMessageDelete) - discordState.AddHandler(discordState.onGetMemberChunk) - discordState.StateLog = discordState.onStateLog + discordState.AddHandler(func(event *gateway.GuildMembersChunkEvent) { + app.messagesText.setFetchingChunk(false) + }) + + discordState.AddHandler(func(event *ws.RawEvent) { + slog.Debug("new raw event", "code", event.OriginalCode, "type", event.OriginalType, "data", event.Raw) + }) + + discordState.StateLog = func(err error) { + slog.Error("state log", "err", err) + } + discordState.OnRequest = append(discordState.OnRequest, discordState.onRequest) - return discordState.Open(context.TODO()) -} -func (s *State) onStateLog(err error) { - slog.Error("state log", "err", err) + return discordState.Open(context.TODO()) } func (s *State) onRequest(r httpdriver.Request) error { @@ -63,10 +69,6 @@ func (s *State) onRequest(r httpdriver.Request) error { return nil } -func (s *State) onEvent(event any) { - slog.Debug("new gateway event", "name", fmt.Sprintf("%T", event), "data", event) -} - func (s *State) onReady(r *gateway.ReadyEvent) { root := app.guildsTree.GetRoot() root.ClearChildren() @@ -112,7 +114,3 @@ func (s *State) onMessageDelete(m *gateway.MessageDeleteEvent) { app.messagesText.drawMsgs(m.ChannelID) } } - -func (s *State) onGetMemberChunk(g *gateway.GuildMembersChunkEvent) { - app.messagesText.setFetchingChunk(false) -}