580. PotatoChat机器人自定义命令

你是想要第 580 条自定义命令的范例、命令模板,还是教你如何在 PotatoChat 中添加/管理自定义命令?我可以:

580. PotatoChat机器人自定义命令

  • 给出一个通用的命令模板(字段说明),方便直接在 UI 或配置文件中新增;
  • 提供几个常用的示例命令(纯回复、带参数、带权限、带冷却、带变量等);
  • 给出 JSON/伪代码 模板,便于程序化导入;
  • 或者直接帮你写一个具体功能的命令(例如提醒、投票、角色分配、天气查询等)——你只需告诉我想实现什么。

下面先给出一个通用模板和若干示例,直接拿去改即可:

通用命令模板(说明)

  • id:命令编号(可选,用于管理,例如 580)
  • name:命令名称(如 "remind")
  • trigger(或 aliases):触发词/别名(如 "!remind")
  • matchType:触发匹配方式(前缀、完全匹配、正则)
  • description:命令描述
  • responseType:响应类型(text/embed/json/http)
  • response:响应内容(支持变量占位符)
  • args:参数定义(名称、是否必需、类型、默认值、示例)
  • permissions:使用权限(所有人/管理员/角色名)
  • cooldown:冷却时间(秒)
  • ephemeral:是否私密回复(仅对调用者可见)
  • metadata:其他(创建者、创建时间)

变量示例(可在 response 中使用)

  • {user}:调用者名
  • {user.id}:调用者 ID
  • {channel}:频道名
  • {args.0}、{args.1}:按位置的参数
  • {args.name}:按命名参数(若支持)
  • {time}:当前时间
  • {server}:服务器名

示例 1 — 简单问候(id = 580)

  • id: 580
  • name: greet
  • trigger: !greet
  • matchType: 前缀
  • description: 向调用者发送问候
  • responseType: text
  • response: 你好,{user}!欢迎来到 {server}。
  • permissions: everyone
  • cooldown: 5

示例 2 — 带参数提醒(提醒自己)

  • id: 581
  • name: remind
  • trigger: !remind
  • matchType: 前缀
  • description: 设置 N 分钟后的提醒
  • args:
    • name: minutes, required: true, type: int, example: 10
    • name: note, required: false, type: string, example: "喝水"
  • responseType: text
  • response on accept: 好的,{user}。我会在 {args.minutes} 分钟后提醒你:{args.note}
  • behavior: 在指定分钟数后私信调用者:提醒:{args.note}
  • permissions: everyone
  • cooldown: 3

示例 3 — 管理命令(限管理员)

  • id: 582
  • name: purge
  • trigger: !purge
  • args:
    • name: count, required: true, type: int
  • description: 删除最近 N 条消息(管理员专用)
  • permissions: admin
  • responseType: text
  • response: 已删除 {args.count} 条消息。
  • safety: 校验 count 上限(如 <= 100)

示例 4 — 调用外部 API(天气查询)

  • id: 583
  • name: weather
  • trigger: !weather
  • args:
    • name: city, required: true, type: string
  • responseType: http/json -> 格式化为 embed/text
  • http:
  • permissions: everyone
  • cooldown: 2

伪 JSON 模板(可用于导入)
{
"id": 580,
"name": "greet",
"trigger": "!greet",
"matchType": "prefix",
"description": "向调用者发送问候",
"responseType": "text",
"response": "你好,{user}!欢迎来到 {server}。",
"permissions": "everyone",
"cooldown": 5
}

添加/使用建议

  • 在响应中尽量使用变量和占位符,避免硬编码。
  • 对可能被滥用的命令(删除、踢人、广播)添加权限校验和冷却。
  • 如果支持正则匹配,谨慎写规则以避免误触发。
  • 调用外部 API 时捕获错误并返回友好错误信息。
  • 测试时先将权限限制为管理员,确认无误后再放开。

如果你现在就想要第 580 条命令的具体实现,请告诉我:

  • 想实现什么功能(尽可能详细)
  • 有没有参数、权限、冷却等要求
  • 是否需要调用外部 API 或发送私信
    我会给出最终可直接导入/粘贴的配置或脚本。