我一直在为我和我的朋友制作不和谐机器人。 我想让我们服务器上的每个人(无论他们的等级如何)都能踢特定的人。 让他的名字叫乔治
那是乔治:
George = {
'id' : '123456789',
'username' : 'george12'
}
我试图以这种方式实现:
if message.content.startswith("Goodbay George"):
await george['id'].kick
还有这个:
@bot.command()
@commands.has_permissions(kick_members = True)
@commands.bot_has_permissions(kick_members = True)
async def kick(ctx, member : discord.Member, *, reason = None):
await member.kick(reason = reason)
@bot.event
async def on_message(message):
if message.content.startswith("Goodbay George"):
await kick(george['id']) ### im not sure how provide member as argument, I got kick function from this forum
但是这些选项都不起作用。 我怎样才能做到我所期待的? (开头说)
答案 0 :(得分:0)
当从 id
dict 访问 george
键时,您会得到一个字符串(乔治的 ID),要真正踢某人,它必须是一个 discord.Member
实例,以便得到它你可以使用Guild.get_member
(这需要一个整数)
if message.content.startswith("Goodbay George"):
george_id = int(george['id']) # already casting to an integer
member = message.guild.get_member(george_id)
await member.kick()