Skip to content

Markdown 消息

发送

java
import cn.org.bukkit.bngeuit.Bngeuit;

// 群聊
Bngeuit.sendGroupMarkdown(groupOpenid, msgSeq, """
    # 标题
    **粗体** *斜体*
    - 列表项 1
    - 列表项 2
    [链接](https://qq.com)
    """);

// 私聊
Bngeuit.sendC2CMarkdown(openid, msgSeq, "**Hello!**");

// 带键盘
Bngeuit.sendGroupMarkdown(groupOpenid, msgSeq, "请选择:", keyboard);

回复/引用

java
// 被动回复(设 msgId,不带气泡)
Bngeuit.replyGroupMarkdown(groupOpenid, msgId, msgSeq, "**回复**");

// 引用回复(refIdx 是被引用消息的引用索引,见下方提示)
Bngeuit.quoteGroupMarkdown(groupOpenid, refIdx, msgSeq, "**引用回复**");

引用回复的 refIdx

quote 系列方法的 refIdx 必须是 REFIDX_... 格式的引用索引,不是 ROBOT1.0_... 格式的消息 ID:

  • 引用别人的消息:用事件 e.getMessageScene().msgIdx()
  • 引用自己的消息:用发送响应 resp.extInfo().refIdx()

reply 系列使用的才是消息 ID(msg_id)。

从本地文件读取 Markdown

Bngeuit.getMarkdownContent(String fileName) 读取 markdown_files/<fileName> 的内容:

java
String md = Bngeuit.getMarkdownContent("帮助.md");
if (md != null) {
    Bngeuit.sendGroupMarkdown(groupOpenid, msgSeq, md);
}

辅助标签

atUser — @用户

在 Markdown 消息中 @指定用户:

java
// 生成 <qqbot-at-user id="xxx" /> 标签
String md = "你好 " + Bngeuit.atUser(userOpenid) + ",欢迎!";
Bngeuit.sendGroupMarkdown(groupOpenid, msgSeq, md);

cmdInput — 指令输入按钮

生成可点击的指令按钮,用户点击后自动填入指定文本:

java
// 生成 <qqbot-cmd-input text="xxx" show="xxx" reference="true|false" /> 标签
String md = "可用指令:\n" +
    "- " + Bngeuit.cmdInput("/help", "查看帮助", false) + "\n" +
    "- " + Bngeuit.cmdInput("/sign", "每日签到", true);
Bngeuit.sendGroupMarkdown(groupOpenid, msgSeq, md);

参数说明:

  • text:点击后填入输入框的文本
  • show:按钮显示的文案
  • reference:是否引用回复原消息