Add additional log handlers

This commit is contained in:
ayn2op 2023-01-21 00:00:49 +05:30
parent 50d09cbd0a
commit d7a590108b

View file

@ -9,11 +9,12 @@ import (
"github.com/diamondburned/arikawa/v3/api"
"github.com/diamondburned/arikawa/v3/gateway"
"github.com/diamondburned/arikawa/v3/state"
"github.com/diamondburned/arikawa/v3/utils/httputil/httpdriver"
"github.com/rivo/tview"
)
func init() {
api.UserAgent = fmt.Sprintf("%s/%s %s/%s", config.Name, "0.1", "arikawa", "v3")
api.UserAgent = fmt.Sprintf("%s/0.1 (https://github.com/diamondburned/arikawa, v3)", config.Name)
gateway.DefaultIdentity = gateway.IdentifyProperties{
OS: runtime.GOOS,
Browser: config.Name,
@ -33,9 +34,25 @@ func newState(token string) *State {
s.AddHandler(s.onReady)
s.AddHandler(s.onMessageCreate)
s.StateLog = s.onLog
s.OnRequest = append(s.Client.OnRequest, s.onRequest)
return s
}
func (s *State) onLog(err error) {
log.Printf("%s\n", err)
}
func (s *State) onRequest(r httpdriver.Request) error {
req, ok := r.(*httpdriver.DefaultRequest)
if ok {
log.Printf("method = %s; url = %s\n", req.Method, req.URL)
}
return nil
}
func (s *State) onReady(r *gateway.ReadyEvent) {
dmNode := tview.NewTreeNode("Direct Messages")
guildsTree.root.AddChild(dmNode)