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

使用Hikari与Lightbulb实现Slash命令时角色提及失效求助

解决Hikari+Lightbulb Slash命令无法触发角色提及的问题

问题分析

直接发送<@&角色ID>格式的字符串时,Hikari/Lightbulb会默认将其作为纯文本处理并转义,导致Discord无法识别为有效的角色提及,因此无法触发提醒效果。

修改方案

方案1:通过角色对象发送提及

直接获取目标角色对象并作为消息内容发送,Hikari会自动将其转换为可识别的角色提及格式:

@plugin.command
@lightbulb.command('tag', 'test tag!')
@lightbulb.implements(lightbulb.SlashCommand)
async def tag(ctx):
    # 获取服务器内的目标角色
    target_role = ctx.get_guild().get_role(1067308654342197269)
    # 发送角色对象,自动生成有效提及
    await ctx.respond(target_role)

方案2:使用Hikari内置的格式化函数

利用hikari.formatting.mention_role函数生成标准的角色提及字符串,确保Discord能正确识别:

import hikari

@plugin.command
@lightbulb.command('tag', 'test tag!')
@lightbulb.implements(lightbulb.SlashCommand)
async def tag(ctx):
    # 生成标准角色提及格式
    role_mention = hikari.formatting.mention_role(1067308654342197269)
    await ctx.respond(role_mention)

额外注意事项

  • 确保机器人在目标服务器中拥有提及角色的权限
  • 确认目标角色的允许提及设置已开启(服务器角色管理中可配置)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 06:01:43