discordo/ui/util.go
ayntgl c5be3b3c86
refactor: switch to Arikawa (#178)
* Basic

* nav

* remove discord pkg

* fix guild delete handler

* misc

* remove ioutil

* remove astatine, press f to pay respect

* panic bad, log.Fatal good

* add preview
2022-08-19 02:31:39 +05:30

46 lines
918 B
Go

package ui
import (
"strings"
"github.com/diamondburned/arikawa/v3/discord"
"github.com/diamondburned/arikawa/v3/state"
)
func channelToString(c discord.Channel) string {
var repr string
if c.Name != "" {
repr = "#" + c.Name
} else if len(c.DMRecipients) == 1 {
rp := c.DMRecipients[0]
repr = rp.Username + "#" + rp.Discriminator
} else {
rps := make([]string, len(c.DMRecipients))
for i, r := range c.DMRecipients {
rps[i] = r.Username + "#" + r.Discriminator
}
repr = strings.Join(rps, ", ")
}
return repr
}
func findMessageByID(ms []discord.Message, mID discord.MessageID) (int, *discord.Message) {
for i, m := range ms {
if m.ID == mID {
return i, &m
}
}
return -1, nil
}
func hasPermission(s *state.State, cID discord.ChannelID, p discord.Permissions) bool {
perm, err := s.Permissions(cID, s.Ready().User.ID)
if err != nil {
return false
}
return perm&p == p
}