Inline event handlers

This commit is contained in:
rigormorrtiss 2021-08-08 19:21:38 +04:00
parent 69f7ac594c
commit e78dfee9c8

View file

@ -134,9 +134,19 @@ func newSession(email string, password string, token string) *session.Session {
discordState = state.NewFromSession(sess, defaultstore.New())
sess.AddHandler(onReady)
sess.AddHandler(onGuildCreate)
sess.AddHandler(onMessageCreate)
sess.AddHandler(func(r *gateway.ReadyEvent) {
for i := range r.Guilds {
guildsDropDown.AddOption(r.Guilds[i].Name, nil)
}
})
sess.AddHandler(func(g *gateway.GuildCreateEvent) {
guildsDropDown.AddOption(g.Name, nil)
})
sess.AddHandler(func(m *gateway.MessageCreateEvent) {
if currentChannel.ID == m.ChannelID {
util.WriteMessage(messagesTextView, discordState, m.Message)
}
})
if err = sess.Open(context.Background()); err != nil {
panic(err)
}
@ -144,35 +154,19 @@ func newSession(email string, password string, token string) *session.Session {
return sess
}
func onGuildCreate(guild *gateway.GuildCreateEvent) {
guildsDropDown.AddOption(guild.Name, nil)
}
func onReady(r *gateway.ReadyEvent) {
for i := range r.Guilds {
guildsDropDown.AddOption(r.Guilds[i].Name, nil)
}
}
func onMessageCreate(m *gateway.MessageCreateEvent) {
if currentChannel.ID == m.ChannelID {
util.WriteMessage(messagesTextView, discordState, m.Message)
}
}
func onGuildsDropDownSelected(_ string, i int) {
messagesTextView.SetTitle("")
channelsTreeView.SetTitle("Channels")
channelsTreeNode.ClearChildren()
messagesTextView.Clear()
messagesTextView.
Clear().
SetTitle("")
app.SetFocus(channelsTreeView)
if messageInputField != nil {
mainFlex.RemoveItem(messageInputField)
messageInputField = nil
}
channelsTreeView.SetTitle("Channels")
app.SetFocus(channelsTreeView)
currentGuild = discordState.Ready().Guilds[i].Guild
channels, _ := discordState.Cabinet.Channels(currentGuild.ID)
sort.SliceStable(channels, func(i, j int) bool {