亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

誰能幫我解決這個錯誤?不和諧.py

誰能幫我解決這個錯誤?不和諧.py

MMMHUHU 2023-06-27 13:08:46
這樣做的目的是查看用戶是否沒有管理消息權限,然后根據他們所說的內容發送一條消息,這可以工作,但它會用這個錯誤填充我的控制臺。這是我收到的錯誤:Traceback (most recent call last):  File "C:\Python38\lib\site-packages\discord\client.py", line 312, in _run_event    await coro(*args, **kwargs)  File "C:\Users\cuzto\Desktop\DiscordBot.-py\cogs\events.py", line 106, in on_message    if not message.author.permissions_in(message.channel).manage_messages:  File "C:\Python38\lib\site-packages\discord\user.py", line 232, in permissions_in    return channel.permissions_for(self)  File "C:\Python38\lib\site-packages\discord\channel.py", line 146, in permissions_for    base = super().permissions_for(member)  File "C:\Python38\lib\site-packages\discord\abc.py", line 475, in permissions_for    roles = member.rolesAttributeError: 'User' object has no attribute 'roles'這是代碼:    @commands.Cog.listener()    async def on_message(self, message):        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}>")有人會告訴我如何解決這個問題嗎?我嘗試了很多事情,但我不知道還能做什么
查看完整描述

1 回答

?
aluckdog

TA貢獻1847條經驗 獲得超7個贊

消息在 DM 中發送,而不是在服務器中發送。


當 DM 發送時,message.author將是一個 User 對象,正如您所知,在 DM 中沒有角色,所以它是一個錯誤。


當消息在服務器中發送時,message.author將是一個Member對象,Guild中的User成為Member,因為服務器中有角色,Member.roles將有效。


檢查消息是否沒有公會屬性,然后返回


@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}>")


查看完整回答
反對 回復 2023-06-27
  • 1 回答
  • 0 關注
  • 140 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號