簡體   English   中英

為什么 discord.py 的 client.event 不起作用,我該如何解決?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM