1 回答

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超7個(gè)贊
消息在 DM 中發(fā)送,而不是在服務(wù)器中發(fā)送。
當(dāng) DM 發(fā)送時(shí),message.author將是一個(gè) User 對(duì)象,正如您所知,在 DM 中沒有角色,所以它是一個(gè)錯(cuò)誤。
當(dāng)消息在服務(wù)器中發(fā)送時(shí),message.author將是一個(gè)Member對(duì)象,Guild中的User成為Member,因?yàn)榉?wù)器中有角色,Member.roles將有效。
檢查消息是否沒有公會(huì)屬性,然后返回
@commands.Cog.listener()
async def on_message(self, message):
if not message.guild: return
if not message.author.permissions_in(message.channel).manage_messages:
if "discord.gg" in message.content.lower():
await message.delete()
await message.channel.send(f"temp, <@{message.author.id}>")
添加回答
舉報(bào)