Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python discord py bot只能看到一个成员_Python_Discord_Discord.py_Bots - Fatal编程技术网

Python discord py bot只能看到一个成员

Python discord py bot只能看到一个成员,python,discord,discord.py,bots,Python,Discord,Discord.py,Bots,我试图获取服务器上所有用户的#,机器人只看到自己,尽管它响应其他用户的消息 client = discord.Client() @client.event async def on_message(message): msg=message.content if message.author == client.user: return if msg.startswith("count"): await message.channel.send(

我试图获取服务器上所有用户的#,机器人只看到自己,尽管它响应其他用户的消息

client = discord.Client()

@client.event
async def on_message(message):
  msg=message.content
  if message.author == client.user:
    return
  if msg.startswith("count"):
    await message.channel.send(client.users)

代码输出一个包含一个用户的列表(bot本身)

您需要启用意图,但它们丢失了

确保在应用程序的中打开它们(设置->机器人)

要在代码中实现它们,可以使用以下命令:

intents=discord.intents.all()#导入所有意图
client=commands.Bot(command\u prefix=“YourPrefix”,intents=intents)
或者在您的情况下:

intents=discord.intents.all()#导入所有意图
客户端=不一致。客户端(意图=意图)

您可以在文档中阅读更多内容。

您需要启用这些意图,它们丢失了

确保在应用程序的中打开它们(设置->机器人)

要在代码中实现它们,可以使用以下命令:

intents=discord.intents.all()#导入所有意图
client=commands.Bot(command\u prefix=“YourPrefix”,intents=intents)
或者在您的情况下:

intents=discord.intents.all()#导入所有意图
客户端=不一致。客户端(意图=意图)

您可以在文档中阅读更多内容。

您遇到的问题是,由于版本1.5(而不是我最初所说的1.6,谢谢Łukasz Kwieciński),discord.py需要您指定bot需要的意图,以便从discord的API接收此类信息

如果更改以下内容,代码将正常工作:

intents=discord.intents.default()
intents.members=True
客户端=不一致。客户端(意图=意图)
为了让它工作,你需要去你的机器人,并启用成员的意图

从你的代码中我可以看到,你似乎在试图发出命令,我强烈建议你开始使用commands扩展。您的代码如下所示:

来自discord.ext导入命令
intents=discord.intents.default()
intents.members=True
bot=commands.bot(命令前缀='.',意图=意图)
@bot.command()
异步def计数(ctx):
等待ctx.send(bot.users)
bot.run(令牌)
生成的代码更加紧凑、可读性和可维护性。
您可以查看其他示例

您遇到的问题是,由于版本1.5(而不是我最初认为的1.6,谢谢Łukasz Kwieciński),discord.py需要您指定bot需要的意图,以便从discord的API接收此类信息

如果更改以下内容,代码将正常工作:

intents=discord.intents.default()
intents.members=True
客户端=不一致。客户端(意图=意图)
为了让它工作,你需要去你的机器人,并启用成员的意图

从你的代码中我可以看到,你似乎在试图发出命令,我强烈建议你开始使用commands扩展。您的代码如下所示:

来自discord.ext导入命令
intents=discord.intents.default()
intents.members=True
bot=commands.bot(命令前缀='.',意图=意图)
@bot.command()
异步def计数(ctx):
等待ctx.send(bot.users)
bot.run(令牌)
生成的代码更加紧凑、可读性和可维护性。
您可以查看其他示例

是否启用了意图?它是什么?怎么做?你启用了意图吗?是什么?怎么做呢?1.5版,不是1.6:)1.5版,不是1.6:)