fix(cmd): do not fetch member for webhooks (#629)

This commit is contained in:
Ayyan 2025-11-23 21:36:40 -05:00 • committed by GitHub
parent 7c67c21d0f
commit 0499f5be6d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -143,7 +143,9 @@ func (ml *messagesList) drawTimestamps(w io.Writer, ts discord.Timestamp) {
func (ml *messagesList) drawAuthor(w io.Writer, message discord.Message) {
name := message.Author.DisplayOrUsername()
foreground := tcell.ColorDefault
if message.GuildID.IsValid() {
// Webhooks do not have nicknames or roles.
if message.GuildID.IsValid() && !message.WebhookID.IsValid() {
member, err := discordState.Cabinet.Member(message.GuildID, message.Author.ID)
if err != nil {
slog.Error("failed to get member from state", "guild_id", message.GuildID, "member_id", message.Author.ID, "err", err)
@ -640,6 +642,11 @@ func (ml *messagesList) delete() {
func (ml *messagesList) requestGuildMembers(gID discord.GuildID, ms []discord.Message) {
var usersToFetch []discord.UserID
for _, m := range ms {
// Do not fetch member for a webhook message.
if m.WebhookID.IsValid() {
continue
}
if member, _ := discordState.Cabinet.Member(gID, m.Author.ID); member == nil {
usersToFetch = append(usersToFetch, m.Author.ID)
}