python 在www.example.com中的message.discord.py在消息发送时没有信息

tvmytwxo  于 2023-03-16  发布在  Python
关注(0)|答案(1)|浏览(113)

我有一个Discord机器人程序,从去年开始就没有修改过。虽然我已经修正了新的缩进要求,但每当我在Discord服务器上以完全权限向机器人发送消息时,message.content没有我可以使用的数据或字符串。这意味着我的程序无法接收特定的命令或消息。
下面是我的代码:每当我向discord服务器发送消息时,它应该打印消息、作者、提及和消息的内容,但它没有这样做,只是奇怪地打印了作者。
当我重置我的令牌时,因为我放错了位置,这种情况开始发生。否则,它在几个月前就可以工作了。

import discord

intents = discord.Intents.default()
client = discord.Client(intents=intents)

@client.event
async def on_ready():
    print('We have logged in as {0.user}'.format(client))

@client.event
async def on_message(message):
    if message.author == client.user:
        return

    if message.content.startswith('$hello'):
        await message.channel.send('Hello!')

print(message.author.mention + ' ' + message.content)

client.run('TOKEN HERE')
db2dz4w8

db2dz4w81#

在新的Discord API更新中,Intent做了一些更改。要获取消息的消息内容,您需要message_content Intent。这是一个特权Intent。要启用它,请在Discord开发者门户上启用它,之后,您需要在代码中启用它。以下是您的操作方法:

intents = discord.Intents.default()
intents.message_content = True

我希望这对你有帮助。如果有更多的问题,请随时发表评论。

相关问题