smmcat-mdsend:qqbot原生MD发送模块

考虑一个消息会话下若连续发送原生md需要维护 msg_seq 奇葩设定的参数,若要连续发送md,这个插件可以节约维护成本(但其实 session[“seq”] 可以获取当前 mes_seq)

若为了更新迭代让自己插件支持md,一般情况下可以直接将项目中所有 session.send(msg) 替换成 ctx.mdsend.send(session,msg)

:warning:仅支持原生qqbot的md格式的发送,在使用前请确认自己是否拥有原生md权限!
尽量控制一个 session.messageId 保持在 5 句回复内。(session.prompt 则除外)


导入模块

export const inject = {
required: ["mdsend"]
};

基本发送操作演示

await ctx.mdsend.send(session,"要发送的md消息")

判断当前 session 是否可以继续发送

ctx.mdsend.isUseMd(session) && 
await ctx.mdsend.send(session,"要发送的md消息")

支持 获取最新的 session.messageId 并尝试替换使用。

因此在循环体中的 session.prompt 使用 ctx.mdsend.send 它总是可用的。

但是开发插件时请不要使用多个作者的 md模板发送模块,可能会导致携带的 msg_seq 参数不同步

const str = await session.prompt(10000);

str && await ctx.mdsend.isUseMd(session) && 
await ctx.mdsend.send(session,"要发送的md消息")

效果展示

代码

效果

1 个赞