用pycord中的bot类获取message.content?

问题描述 投票:0回答:1

我正在尝试使用 pycord 获取通过我的机器人在服务器中发送的消息的 message.content。我已经在谷歌上搜索了一个小时,试图找到任何与我所做的不同的东西,但没有运气。

这是我写的(简化的):

还有一个编辑:我应该提到我已经尝试过 @bot.event 和 @bot.listen,最后有和没有 () 。我还确保我邀请它时获得了必要的权限。


import discord

bot = discord.Bot()


token = [token would go here]
intents = discord.Intents.default()
intents.typing = True
intents.messages = True
intents.message_content = True

@bot.event
async def on_message(message):
    print(f'Recieved {message.content}')

bot.run(token)

从那里,我应该得到

Recieved {message.content}

对于服务器中发送的每条消息。 然而,我在 shell 中得到的只是

Receieved 
,没有任何消息内容。 是的,我已在不和谐开发门户的机器人仪表板中切换了消息内容意图。

我可以使用客户端对象而不是机器人来实现我想要的结果,但这阻止我使用我需要的斜杠命令,并且我无法同时运行这两个命令。那么有人知道 pycord 的交易到底是什么吗?

discord discord.py bots pycord
1个回答
0
投票

已修复:添加此块:

intents = discord.Intents.default()

intents.typing = True
intents.messages = True
intents.message_content = True
bot = discord.Bot(intents=intents)

已经解决了。我现在觉得自己很蠢,但这就是这个爱好的发展方向。

© www.soinside.com 2019 - 2024. All rights reserved.