本文最后更新于:2024年9月17日 晚上
开始之前
今天我们讲的是,如何在koishi发送纯按钮消息,不含Markdown
准备的条件
- 一个已通过的按钮消息模板
- 一个QQ官方
bot
号
- koishi+onebotv11
截至到发稿为止,QQ官方
那边按钮
主动被动都不需要日活,md
主动不需要日活被动需要DAU2000+
发送消息
首先我们登录QQ
开放平台,找到我们通过的按钮消息模板,点我直达,在高阶能力查看你的按钮消息模板
确保你要发送的模板处于已通过状态
这里根据官方文档的api
给出,我这里用的是早苗的gsk
,发送markdown
是
这里后面是接base64
编码的内容,但是这里编码要指定utf8
的,早苗群里的都是py
实现,没有ts
实现
成品
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| import { Buffer } from 'buffer'; import { Context, h } from 'koishi';
export function get_keyboard(id: string){ let data ={ "markdown": { "template_id": 1, "params": [{}] }, "keyboard": { "id": id } } var jsonStr1 : string = JSON.stringify(data, null, 1); var dataBytes1 : Buffer = Buffer.from(jsonStr1, 'utf-8'); var encodedData1 : string = dataBytes1.toString('base64'); return encodedData1 } export function main(ctx: Context){ ctx.command("测试") .action(async({session})=>{ await session.send(h.parse(`[CQ:markdown,data=base64://${get_keyboard("1111111_1111111")}]`)) }) }
|