Discord 試圖message.author在使用await message.author.add_roles(message.author,role,reason='Reason: Used \'%s\' in \'%s\ , on %s/%s/%s (day,month,year) at %s' % (word, str(message.channel),day,month,year,time))刪除第二個message.author修復此問題時添加角色,因此應該是:await message.author.add_roles(role,reason='Reason: Used \'%s\' in \'%s\ , on %s/%s/%s (day,month,year) at %s' % (word, str(message.channel),day,month,year,time))屬性錯誤:Traceback (most recent call last): File "C:\Users\Me\AppData\Local\Programs\Python\Python36\lib\site-packages\discord\client.py", line 312, in _run_event await coro(*args, **kwargs) File "C:\Users\Me\Desktop\Productive\Programming Projects\Python 3\Other\MyBot\bot.py", line 41, in on_message await bot.add_roles(message.author,role,reason='Reason: Used \'%s\' in \'%s\ , on %s/%s/%s (day,month,year) at %s' % (word, str(message.channel),day,month,year,time))AttributeError: 'Client' object has no attribute 'add_roles'名稱錯誤:Ignoring exception in on_messageTraceback (most recent call last): File "C:\Users\Me\AppData\Local\Programs\Python\Python36\lib\site-packages\discord\client.py", line 312, in _run_event await coro(*args, **kwargs) File "C:\Users\Me\Desktop\Productive\Programming Projects\Python 3\Other\MyBot\bot.py", line 41, in on_message await add_roles(message.author,role,reason='Reason: Used \'%s\' in \'%s\ , on %s/%s/%s (day,month,year) at %s' % (word, str(message.channel),day,month,year,time))NameError: name 'add_roles' is not defined所有相關代碼import discord;from discord.utils import getfrom datetime import datetimebot=discord.Client()@bot.eventasync def on_ready(): print('Logged in') print('Username: %s' % (bot.user.name)) print('Userid: %s' % (bot.user.id))
2 回答

月關寶盒
TA貢獻1772條經驗 獲得超5個贊
on_message中的Message對象應包含 message.author 中的 Member 對象,因此您可以執行以下操作:
await?message.author.add_roles(role,?reason='Reason:?Used?\'%s\'?in?\'%s\?,?on?%s/%s/%s?(day,month,year)?at?%s'?%?(word,?str(message.channel),day,month,year,time))

陪伴而非守候
TA貢獻1757條經驗 獲得超8個贊
過去,我是通過調用消息來完成此操作add_roles
的author
。在你的情況下,它會是這樣的:
await message.author.add_roles(role,reason='Reason: Used \'%s\' in \'%s\ , on %s/%s/%s (day,month,year) at %s' % (word, str(message.channel),day,month,year,time)
我認為我沒有包含一個reason
論點,所以我不確定這種形式是否會采用該論點,但如果其他形式這樣做,我認為會的。
添加回答
舉報
0/150
提交
取消