You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Nextcord中获取消息发送者?踢人命令实现遇阻求助

在Nextcord中实现踢人命令并获取执行者与被踢用户名称

获取执行者信息

在Nextcord的交互命令(如Slash Command)中,不要用interaction.message.author——普通Slash Command是直接从命令栏触发的,不存在对应的message对象,所以这个属性会返回None。你应该直接使用interaction.user来获取执行操作的用户:

  • interaction.user.name:用户的账号名称
  • interaction.user.display_name:用户在当前服务器的昵称(优先显示)

获取被踢出用户信息

踢人命令需要指定目标用户,在定义命令时添加Member类型的参数即可直接拿到目标用户对象:

  • 比如参数member: nextcord.Member,通过member.name或member.display_name就能获取被踢用户的名称。

完整示例代码

import nextcord
from nextcord.ext import commands

# 初始化机器人,确保开启所有必要权限
bot = commands.Bot(command_prefix="!", intents=nextcord.Intents.all())

# Slash Command版本的踢人命令
@bot.slash_command(name="kick", description="踢出服务器内指定用户")
async def kick_slash(interaction: nextcord.Interaction, 
                     member: nextcord.Member, 
                     reason: str = "无明确理由"):
    # 权限检查:执行者是否有踢人权限
    if not interaction.user.guild_permissions.kick_members:
        await interaction.response.send_message("你没有执行踢人操作的权限!", ephemeral=True)
        return
    # 权限检查:机器人自身是否有踢人权限
    if not interaction.guild.me.guild_permissions.kick_members:
        await interaction.response.send_message("我没有踢人权限,请先赋予我对应权限!", ephemeral=True)
        return
    
    # 执行踢人操作
    await member.kick(reason=reason)
    # 发送结果通知,展示双方名称
    await interaction.response.send_message(
        f"✅ 已成功踢出用户:**{member.display_name}**\n"
        f"执行操作的管理员:**{interaction.user.display_name}**\n"
        f"踢人原因:{reason}"
    )

# 前缀命令版本(如果习惯用!触发)
@bot.command(name="kick")
async def kick_prefix(ctx, member: nextcord.Member, reason: str = "无明确理由"):
    if not ctx.author.guild_permissions.kick_members:
        await ctx.send("你没有执行踢人操作的权限!")
        return
    await member.kick(reason=reason)
    await ctx.send(
        f"✅ 已成功踢出用户:**{member.display_name}**\n"
        f"执行操作的管理员:**{ctx.author.display_name}**\n"
        f"踢人原因:{reason}"
    )

bot.run("你的机器人令牌")

补充说明

如果是上下文菜单命令(右键用户触发的命令),interaction.message可能存在,但依然推荐用interaction.user获取执行者,因为它更通用,适配所有交互场景。

内容的提问来源于stack exchange,提问作者Swampy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 18:27:31