Discord.py 如果另一个用户发送消息,如何使discord bot发送消息?不和谐

Discord.py 如果另一个用户发送消息,如何使discord bot发送消息?不和谐,discord.py,Discord.py,嗨,我需要帮助,使机器人可以发送消息,如果一个特定的用户发送一个 前。 阿里卡卡特:大家好 机器人:YoWassup 这是我设法编写但不起作用的代码: @client.event async def on_message(message): me = '<user id>' if message.author.id == me: await message.channel.send("yo wassup") else:

嗨,我需要帮助,使机器人可以发送消息,如果一个特定的用户发送一个

前。 阿里卡卡特:大家好
机器人:YoWassup

这是我设法编写但不起作用的代码:

@client.event
async def on_message(message):
    me = '<user id>'
    if message.author.id == me:
        await message.channel.send("yo wassup")
    else:
        return
@client.event
异步def on_消息(消息):
我=“”
如果message.author.id==me:
等待message.channel.send(“yowassup”)
其他:
返回

它不工作,因为ID是整数,也是
消息。如果您没有
意图,author
可以是
None
。成员
已启用

@client.event
异步def on_消息(消息):
me=6817239878981
如果message.author.id==me:
等待message.channel.send('yowassup')
什么是
意图

Discord要求用户声明其bot运行所需的信息类型(即事件)。这是通过意图的形式实现的。 您可以阅读更多关于意向的信息

什么是特权意图?

随着API变更要求机器人作者指定意图,一些意图受到进一步限制,需要更多的手动步骤。这些意图称为特权意图。

如何启用意图?

intents=discord.intents.default()
bot=commands.bot(…,intents=intents)
#或者如果您使用的是'discord.Client'`
客户端=不一致。客户端(意图=意图)
如何启用特权意图

intents=discord.intents.all()
#如果您只想要成员或存在
intents=discord.intents.default()
intents.members=True

还要确保在中启用特权成员意图

它不起作用,因为ID是整数,也是
消息。如果您没有
意图,则author
可以是
None
。成员
已启用

@client.event
异步def on_消息(消息):
me=6817239878981
如果message.author.id==me:
等待message.channel.send('yowassup')
什么是
意图

Discord要求用户声明其bot运行所需的信息类型(即事件)。这是通过意图的形式实现的。 您可以阅读更多关于意向的信息

什么是特权意图?

随着API变更要求机器人作者指定意图,一些意图受到进一步限制,需要更多的手动步骤。这些意图称为特权意图。

如何启用意图?

intents=discord.intents.default()
bot=commands.bot(…,intents=intents)
#或者如果您使用的是'discord.Client'`
客户端=不一致。客户端(意图=意图)
如何启用特权意图

intents=discord.intents.all()
#如果您只想要成员或存在
intents=discord.intents.default()
intents.members=True

还要确保在中启用特权成员意图

等等,我把变量me改成字符串,我不明白你说的第二部分。不,你把
me
变量改成整数。我将编辑我的答案,解释什么是意图以及您应该如何启用它们。每个用户都有自己的ID。您可以通过在开发人员模式下进行Discord并右键单击用户来找到这一点。将有一个按钮显示复制ID。开发人员模式位于“不协调设置”中“外观”选项卡的底部。例如,我的ID是348311499946721282。好的,我已经将me变量更改为int。我还启用了intent。现在,我的代码是:
@client.event async def on_message(message):me=767208094525947924 if message.author.id==me:wait message.channel.send(“yo wassup”)else:return
很抱歉,它看起来有问题,我将用codewait回答我的问题,因此我将变量me更改为字符串,而我不理解您所说的第二部分。不,您将
me
变量更改为整数。我将编辑我的答案,解释什么是意图以及您应该如何启用它们。每个用户都有自己的ID。您可以通过在开发人员模式下进行Discord并右键单击用户来找到这一点。将有一个按钮显示复制ID。开发人员模式位于“不协调设置”中“外观”选项卡的底部。例如,我的ID是348311499946721282。好的,我已经将me变量更改为int。我还启用了intent。现在我的代码是:
@client.event async def on_message(message):me=767208094525947924 if message.author.id==me:wait message.channel.send(“yo wassup”)else:return
很抱歉看起来有问题,我会用代码回答我的问题