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

如何实现机器人提及命令消息中被@的指定用户

!kill 指令功能实现方案

核心实现逻辑

不管你用什么机器人开发框架,核心逻辑都是一致的:

  • 监听所有用户发送的消息内容
  • 用正则表达式匹配!kill @被提及用户格式的指令,不同平台的@格式存在差异,需要根据你对接的平台调整匹配规则
  • 从匹配成功的结果中提取出被@的用户标识(用户名/用户ID)
  • 拼接回复内容后发送到对应聊天窗口即可

正则匹配参考

如果是@后直接跟用户名的场景(比如Telegram、部分自定义平台),可以用如下正则:
^!kill\s+@([a-zA-Z0-9_]+)\s*$
如果是Discord这类平台,@会被封装为带ID的特殊格式,正则可以调整为:
^!kill\s+<@!?(\d+)>\s*$

极简可运行示例(Python)

import re

def process_user_msg(msg: str) -> str | None:
    # 这里用普通用户名格式的正则做示例,按需修改即可
    kill_cmd_pattern = r"^!kill\s+@(\w+)\s*$"
    match_res = re.match(kill_cmd_pattern, msg.strip())
    if match_res:
        target = match_res.group(1)
        return f"@{target} is dead now."
    # 不是目标指令就返回空,不处理
    return None

# 测试
if __name__ == "__main__":
    test_msg = "!kill @zhang3"
    reply = process_user_msg(test_msg)
    if reply:
        print(reply) # 输出:@zhang3 is dead now.

可选优化项

  • 增加权限校验,仅允许管理员/特定权限用户使用该指令
  • 增加指令冷却时间,避免用户反复刷指令刷屏
  • 可以添加随机回复模板,增加趣味性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 18:15:02