猿问

discord.py - 如何添加踢/禁理由?

我想在禁止 Discord 房间的成员时reason向+kick命令添加一条可选消息。我尝试的代码如下。


命令和示例用法:


+kick <username> <reason>

+kick @Pine#1337 Spamming Messages in Wrong Channel.

代码:


@bot.command(pass_context=True)

async def kick(ctx, user: discord.Member, *, arg, reason):

author = ctx.message.author

data = datetime.now().strftime('%Y-%m-%d %H:%M:%S')

embed = discord.Embed(name="MEMBER_KICKED", description="------------------------------------------------------", color=0x00ff00)

embed.set_author(name="MEMBER_KICKED:\nMember Kicked Successfully")

embed.add_field(name="Kicked by: ", value="{}".format(author.mention), inline=False)

embed.add_field(name="Kicked: ", value="<@{}>".format(user.id), inline=False)

embed.add_field(name="Reason: ", value="{}\n------------------------------------------------------".format(arg), inline=False)

embed.set_footer(text="Requested by {} \a {}".format(author, data), icon_url=author.avatar_url)

await bot.say(embed=embed)

channel = discord.utils.get(user.server.channels, name="logs")

embed = discord.Embed(name="MEMBER_KICKED", description="------------------------------------------------------", color=0xff0000)

embed.set_author(name="MEMBER_KICKED:\nMember Kicked")

embed.add_field(name="Kicked by: ", value="{}".format(author.mention), inline=False)

embed.add_field(name="Kicked: ", value="<@{}>".format(user.id), inline=False)

embed.add_field(name="Reason: ", value="{}\n------------------------------------------------------".format(arg), inline=False)

embed.set_footer(text="Kicked at {}".format(data))

await bot.send_message(channel, embed=embed)

if user.bot == False:

错误:


类型错误:kick() 缺少 1 个必需的 1 个仅关键字参数“原因”


千巷猫影
浏览 183回答 2
2回答

拉丁的传说

只需删除reason参数你踢的原因被抓住了arg@bot.command(pass_context=True)async def kick(ctx, user: discord.Member, *, arg):&nbsp; reason = arg
随时随地看视频慕课网APP

相关分类

Python
我要回答