介绍
神奇弹幕本身并不能发送 QQ 消息,一切交互都是通过 QQ 机器人的接口来实现的,因此需要一个能够接收外部消息接口的机器人。
此处使用的是 cqhttp,为完美结合神奇弹幕与腾讯QQ,建议下载我基于 cqhttp 开发的 QQ 机器人工具——猫样QQ。
以下方式皆以 Windows 平台下的捐赠版神奇弹幕为例,其他平台亦可做参考。
开播 QQ 群通知
功能说明:监听直播间开播,在粉丝群发送开播消息。
该方式不限于群聊、私聊、或者 QQ 之外的平台、短信,甚至可基于此功能开发为订阅模式。
1. 配置 cqhttp
在 cqhttp 目录下打开配置文件 config.yml
,检查 http 选项是否开启(猫样QQ默认开启):


命令行或双击启动 cqhttp.exe
程序,按照步骤进行登录。初次登录会进行一些初始化,之后可以自动登录:

进去后会以文字的形式显示接收到的消息:

要进行是否能发送弹幕,在浏览器上打开网址:
http://127.0.0.1:5700/send_private_msg?user_id=【接收者QQ号】&message=测试
填入任意好友或者自己的QQ号,如果能正常发送消息,则表示 QQ 机器人可用。
2. 配置神奇弹幕
在事件中添加事件:LIVE
,
添加代码:
(cd18:600)>connectNet(http://127.0.0.1:5700/send_group_msg?group_id=【QQ群号】&message=开播啦!%room_name%%0a直播间:https://live.bilibili.com/【直播间ID】[CQ:at,qq=all])
如图所示:

实现效果如下:

这里显示了直播间标题、在线链接、@全体成员,可自行修改任意部分。
弹幕关键词转发至 QQ
功能说明:包含指定文字或满足条件的弹幕,自动发送至 QQ 消息。
使用神奇弹幕的自动回复功能即可轻易实现
如图所示:
[%uid%!=%my_uid%, %living% + 1]>connectNet(http://127.0.0.1:5700/send_private_msg?user_id=【接收者QQ号】&message=[%upname%] %uname%:%text%)

效果如下(自动回复功能继续看下面):

QQ 回复弹幕
功能说明:接收到上面关键词消息后,在 QQ 界面中回复消息就能发送弹幕。
此处需要两个 QQ 机器人(弹幕->QQ,QQ->弹幕,如果只有一个机器人则可以通过插入前后缀的方式判断),用到了 神奇弹幕 与 猫样QQ 两者都包含的可编程功能。
1. 配置猫样QQ


代码:
^[懒一夕] => >setValue(room_id, 11584296)
// 按照上面的关键词、直播间,自行添加映射关系
^0$ => >setValue(room_id, )
^当前直播间$ => >%{room_id}%
^[\[>] =>
[[%sender_id% = %my_id%, "%{room_id}%" != ""]]>getData(http://127.0.0.1:5520/api/event?event=QQ_REPLY_EVENT&data={"room_id": %{room_id}%, "text": "%message%"})
第一行是用来识别哪个直播间,如代码中则是:[懒一夕] 弹幕消息
,使用方括号中的文字来存储最后一条消息的直播间ID,适用于连接了多个直播间的情况,回复消息只回复给最后一个。
这里方括号中的消息要和上一项“弹幕关键词转发至QQ”的格式一致,否则识别不到是哪个直播间的消息。
发送消息“当前直播间”可以看到最后一个直播间的 ID,发送其他消息都会变成这个直播间的弹幕。(这里只适用于文字,没判断富文本消息)
发送除了“当前直播间”外的任意消息,都会触发神奇弹幕的 QQ_REPLY_EVENT
事件,从而发送弹幕。
2. 配置神奇弹幕
要用到神奇弹幕的 API 来触发接收到 QQ 消息的事件:

自定义的事件名 QQ_REPLY_EVENT
,代码:
/// QQ回复的消息,使用这个接口发送
[%living%+1]>sendRoomMsg(%.room_id%, %.text%)
就是把接收到的 房间号、消息 作为弹幕参数发送出去。
QQ群消息同步到直播间弹幕
功能说明:将指定 QQ 群的消息(不超过20字、不包含富文本)转发到直播间,以水平滚动弹幕的形式显示在直播画面上。
使用 H5 插件显示,不是真的用机器人发弹幕。
1. 配置猫样QQ
打开粉丝群的卡片,右键菜单中“编辑代码”,插入:
\[CQ =>
\] =>
%n% =>
.{20,} =>
[1]>getData(http://127.0.0.1:5520/api/event?event=QQ_GROUP_MSG&data={"uid":"%sender_id%","nickname":"%nickname%","text":"%message%"})

中间一堆条件是为了去掉富文本、特殊字符、过长文本。
接收到该 QQ 群的消息时,自动触发神奇弹幕的相应事件。
2. 配置神奇弹幕
下载QQ弹幕插件(位置:扩展-QQ弹幕),放到神奇弹幕安装目录下的 www
文件夹中,刷新扩展就能看到。
点击导入代码的按钮,产生了一个叫 QQ_GROUP_MSG
的事件:


直播姬/OBS添加浏览器:http://127.0.0.1:5520/qq_danmu/index.html,调整画面为整个屏幕的范围,配置完成。
结合 AI 回复的发送消息
功能说明:带有关键词的消息,一边通过发送给 QQ,一边调用 AI 来回复消息,并且将回复的消息也显示在QQ中。
能看到观众发了什么弹幕、AI 又回复了什么消息。
实用性不是很强,建议两个 QQ 号并登录机器人(一个也行)。

关闭自带的智能闲聊功能,改用代码调用 AI 回复。
添加自动回复:
[%uid%!=%my_uid%, %living% + 1]>aiChat(%>replaceReg(%text%, ^(机器人), 你)%, >sendRoomMsg(%room_id%, \%text\%)%m%>connectNet(http://127.0.0.1:5700/send_private_msg?&user_id=1600631528&message=[回复] \%text\%))
如图所示:
