refactor: move isUnread to util.go
This commit is contained in:
parent
b04e5df2fa
commit
ceae56bca3
2 changed files with 22 additions and 20 deletions
18
discord.go
18
discord.go
|
|
@ -44,26 +44,12 @@ func onSessionReady(_ *discordgo.Session, r *discordgo.Ready) {
|
|||
n := channelsTree.GetRoot()
|
||||
n.AddChild(dmNode)
|
||||
|
||||
createPrivateChannels(r.PrivateChannels, dmNode)
|
||||
createGuilds(r.Guilds, n)
|
||||
createPrivateChannels(dmNode)
|
||||
createGuilds(n)
|
||||
|
||||
channelsTree.SetCurrentNode(n)
|
||||
}
|
||||
|
||||
func isUnread(c *discordgo.Channel) bool {
|
||||
if c.LastMessageID == "" {
|
||||
return false
|
||||
}
|
||||
|
||||
for _, rs := range session.State.ReadState {
|
||||
if c.ID == rs.ID {
|
||||
return c.LastMessageID != rs.LastMessageID
|
||||
}
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
func onSessionMessageCreate(_ *discordgo.Session, m *discordgo.MessageCreate) {
|
||||
c, err := session.State.Channel(m.ChannelID)
|
||||
if err != nil {
|
||||
|
|
|
|||
24
util.go
24
util.go
|
|
@ -37,7 +37,8 @@ func findByMessageID(mID string) *discordgo.Message {
|
|||
return nil
|
||||
}
|
||||
|
||||
func createPrivateChannels(cs []*discordgo.Channel, dmNode *tview.TreeNode) {
|
||||
func createPrivateChannels(n *tview.TreeNode) {
|
||||
cs := session.State.PrivateChannels
|
||||
sort.Slice(cs, func(i, j int) bool {
|
||||
return cs[i].LastMessageID > cs[j].LastMessageID
|
||||
})
|
||||
|
|
@ -52,11 +53,12 @@ func createPrivateChannels(cs []*discordgo.Channel, dmNode *tview.TreeNode) {
|
|||
|
||||
cn := tview.NewTreeNode(tag + generateChannelRepr(c) + "[::-]").
|
||||
SetReference(c.ID)
|
||||
dmNode.AddChild(cn)
|
||||
n.AddChild(cn)
|
||||
}
|
||||
}
|
||||
|
||||
func createGuilds(gs []*discordgo.Guild, rootNode *tview.TreeNode) {
|
||||
func createGuilds(n *tview.TreeNode) {
|
||||
gs := session.State.Guilds
|
||||
sort.Slice(gs, func(a, b int) bool {
|
||||
found := false
|
||||
for _, gID := range session.State.Settings.GuildPositions {
|
||||
|
|
@ -76,7 +78,7 @@ func createGuilds(gs []*discordgo.Guild, rootNode *tview.TreeNode) {
|
|||
|
||||
for _, g := range gs {
|
||||
gn := tview.NewTreeNode(g.Name).Collapse()
|
||||
rootNode.AddChild(gn)
|
||||
n.AddChild(gn)
|
||||
|
||||
cs := g.Channels
|
||||
sort.Slice(cs, func(i, j int) bool {
|
||||
|
|
@ -185,3 +187,17 @@ func getTreeNodeByReference(r interface{}) (mn *tview.TreeNode) {
|
|||
|
||||
return
|
||||
}
|
||||
|
||||
func isUnread(c *discordgo.Channel) bool {
|
||||
if c.LastMessageID == "" {
|
||||
return false
|
||||
}
|
||||
|
||||
for _, rs := range session.State.ReadState {
|
||||
if c.ID == rs.ID {
|
||||
return c.LastMessageID != rs.LastMessageID
|
||||
}
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue