我想知道如何使一个命令每次都踢到一个特定的用户,而不必提到用户。
我在找这样的东西:
@client.command()
async def kick(ctx):
user = #user id
await user.kick(reason=None)
而不是像这样:
@client.command()
async def kick(ctx, member : discord.Member, *, reason=None):
await member.kick(reason=reason)
Thanks in advance
您可以使用discord.Guild.get_member
从他/她的id获取成员。
@client.command()
async def kick(ctx):
user = ctx.guild.get_member(<user id>)
await user.kick(reason=None)
或者您可以使用discord.utils.get
。我建议你使用第一个,但这也是一个选项。
@client.command()
async def kick(ctx):
user = discord.utils.get(ctx.guild.members, id=<user id>)
await user.kick(reason=None)
<标题>引用discord.Guild.get_member()
discord.utils.get()
您可以使用成员:discord的内置转换器。成员这样的:
from discord.ext import commands
@client.command()
async def kick(ctx, member: commands.MemberConverter, *, reason):
await ctx.guild.kick(member, reason=reason)
纠正我,如果我错了,但它应该工作
你可以观看这个视频,如果你感到困惑:https://www.youtube.com/watch?v=MX29zp9RKlA(这是我学到的所有我的discord.py编码的东西)