我正在尝试使用以下命令获取服务器中的成员列表discord.py
我的代码是:
@client.command()
async def members(ctx):
members = ctx.guild.members
for member in members:
await ctx.send(member.name)
await ctx.send("done")
Run Code Online (Sandbox Code Playgroud)
但问题是它只发送机器人的名称。如果您找出代码中的问题,那么您能帮我吗,我想要所有成员的名字。
我给你一个简短的回答,以便你能够很好地理解。
在某种程度上,意图与权限相同
那么它们有什么用呢? 如果您想在服务器中发生某些事件,则需要意图。有些可以仅通过脚本启用,而有些意图(例如存在和成员) 需要前往 Discord 开发人员门户并手动启用+在脚本中启用
因此,您只需打开脚本并转到顶部,添加以下行:
from discord.ext import commands
intents = discord.Intents(messages=True, members=True)
client = commands.Bot(command_prefix=commands.when_mentioned_or('prefix_here'), intents=intents)
Run Code Online (Sandbox Code Playgroud)
它使用命令,但您也可以将其与discord.client方法一起使用,这可以通过..
import discord
intents = discord.Intents.all()
client = discord.Client(intents=intents)
Run Code Online (Sandbox Code Playgroud)
现在你尝试用这些来运行你的脚本:)
| 归档时间: |
|
| 查看次数: |
6569 次 |
| 最近记录: |