[英]Why is discord.py's client.event not working and how do I fix it?
我試圖讓我的機器人在用戶狀態發生變化時列出。 它應該做的是每當某人的 discord 狀態發生變化時在某個頻道發送消息。 但是,我經常收到以下錯誤消息:
Traceback (most recent call last):
File "main.py", line 9, in <module>
cmdEXE.all(token)
File "/home/runner/Geek-Bot/Commands/cmdEXE.py", line 9, in all
async def on_member_update(before, after):
TypeError: event() missing 1 required positional argument: 'coro'
我不知道我應該在“coro”參數中添加什么,而且我找不到解決它的方法。 這是我的代碼:
@client.event
async def on_member_update(before, after):
await client.get_channel(786336506247512094).send('To be edited')
您可以在 Clients 的文檔中找到,您可以。 如果您向下滾動到該參數列表的底部,您將看到guild_subscriptions(bool)
,這就是您要查找的內容。
要啟用你可以試試這個:
client = commands.Bot(command_prefix = 'your-perfix', guild_subscriptions=True)
Discord 1.5 您現在需要傳遞正確的Intents
,並且 Client 的文檔指出如果您不希望guild.owner
返回None
,您需要啟用Intents.members
,這也是導致您的問題的原因。 您還必須將這些意圖作為參數傳遞,所以最后的結果看起來像這樣:
intents = discord.Intents.default()
intents.members = True
client = commands.Bot(command_prefix = 'your-perfix', guild_subscriptions=True, intents=intents)
希望可以修復您的代碼, 感謝這些人
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.