koishi支持音乐卡片吗

在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:

1 个赞