在napcat中看到了关于音乐签名地址的配置项,想问这个配置项是对QQ发送的音乐卡片进行签名吗,koishi是否有相对应的方法发送音乐卡片呢
2 个赞
不同的onebot实现端,可能API方法也不一样
用napcat实现的话,在koishi侧可以使用
session.onebot._request
比如
const 卡片 = await session.onebot._request("get_mini_app_ark", {
type: "bili",
title: info.data.title,
desc: "",
picUrl: info.data.pic,
jumpUrl: "pages/video/video.html?avid=" + info.data.aid
});
插件市场有已经实现了类似逻辑的插件
具体可以参考这个
1 个赞
效果:

代码:
这样写可以不需要引入 import {} from ‘koishi-plugin-adapter-onebot’
const msgArr = [
{
"type": "music",
"data": {
"type": "163",
"id": "1999253939"
}
}
]
const onebotBot = await ctx.bots.find( b => b.platform === "onebot" )
onebotBot && onebotBot.internal._request(
'send_group_msg',
{
"group_id": session.channelId,
"message": msgArr
}
)
napcat版本:

1 个赞
这里的bot可能不止一个
const onebotBot = await ctx.bots.find( b => (b.platform === "onebot" && b.userId === "114514") )
1 个赞
也许可以尝试通过qq号 来找到想要的具体的某一个onebotBot (?
1 个赞
const bot = Object.values(ctx.bots).find(b => b.selfId === "your_bot_uid" || b.user?.id === "your_bot_uid");
if (!bot || bot.status !== Universal.Status.ONLINE) {
ctx.logger.error(`机器人离线或未找到。`);
return;
}
if (bot == null) return;
// 在这里继续使用 bot.方法
cool
1 个赞
羡慕 ![]()
1 个赞