# QQBot-Plugin
**Repository Path**: OvertimeBunny/QQBot-Plugin
## Basic Information
- **Project Name**: QQBot-Plugin
- **Description**: 自用yunzai,修复卡片异常情况,分离卡片和按钮重复
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 3
- **Created**: 2025-04-21
- **Last Updated**: 2025-09-16
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# TRSS-Yunzai QQBot Plugin
TRSS-Yunzai QQBot 适配器 插件
# Tip
建议使用TRSS原版,此版本为`小叶Fork个人自用`版的`修改版`,会在`任意时间`直接进行更改,且`不会`与TRSS一致
可使用自定义ws连接其他人搭建的webhook-to-websocket服务,从而实现无缝切换webhook
班级群: [687976465](https://qm.qq.com/q/PCWuy2zV6u)
自己部署webhook转发服务
- Python后端(Linux推荐):[qbot-webhook-to-websocket](https://github.com/DevOpen-Club/qbot-webhook-to-websocket)
- Node.js后端(Windows推荐-TS霆生のwebhook转发服务同款👍):[Node.js-qbot-webhook-to-websocket(Gitee)](https://gitee.com/ts-yf/Node.js-qbot-webhook-to-websocket) | [Node.js-qbot-webhook-to-websocket(Github)](https://github.com/Ts-yf/Node.js-qbot-webhook-to-websocket)
使用TS霆生のwebhook转发服务(免费)
## 为了防止滥用,此功能需要进群联系管理员授权服务。
1. QQ机器人后台回调配置链接:`https://ts.elaina.vin/webhook?secret={secret}`,`{secret}`替换为`bot secret`,配置回调链接不用授权,未授权的secret将不会推送消息给ws
2. 插件ws连接配置:`ws://ts.elaina.vin:8000/ws/{secret}`,`{secret}`替换为`bot secret`
> 感谢`冷曦·Elaine`提供的域名服务
## 自用Fork版
0. 自定义ws接收地址,在`config/QQBot.yaml`中添加以下配置项,`BotQQ`改为`机器人QQ号`
```yml
WsUrl:
BotQQ: ws://...
BotQQ: ws://...
```
1. 转发消息改为渲染成图片,需要安装`ws-plugin`
2. `#QQBot设置转换开启`配合`#ws绑定`实现互通数据
3. `#QQBotDAU` and `#QQBotDAUpro`
4. `Model/template/groupIncreaseMsg_default.js`中`自定义入群发送主动消息`
5. `config/QQBot.yaml`中使用以下自定义模版,如果设置了全局md会优先使用自定义模版,配合`e.toQQBotMD = true`将特定消息`转换`成md,亦可在`全局md模式下`通过`e.toQQBotMD = false`将特定消息`不转换`成md
- 方法1: 直接修改`config/QQBot.yaml` **(推荐)**
```yml
customMD:
BotQQ:
custom_template_id: 模版id
keys:
- key1 # 对应的模版key名字
- key2
# ... 最多10个
```
- 方法2: 在`Model/template`目录下新建`markdownTemplate.js`文件,写入以下内容 **(不推荐)**
```js
// params为数组,每一项为{key:string,values: ['\u200B']} // values固定为['\u200B']
export defalut {
custom_template_id: '',
params: []
}
```
6. `#QQBot调用统计` 根据`e.reply()`发送的消息进行统计,每条消息仅统计一次,未做持久化处理,默认关闭,`#QQBot设置调用统计开启`
7. `config/QQBot.yaml`中使用以下配置项,在`全局MD`时会`以MD的模式`自动加入`params`中
```yml
mdSuffix:
BotQQ:
- key: key1
values:
- value # 如果用到了key则不会添加
- key: key2
values:
# \ 需转义 \\
- "{{ e.msg.replace(/^#/g, '\\/') }}" # {{}}中为动态参数,会在发送时替换成对应值,目前仅有e可用,也可以传入js表达式等等, 后续可能会添加自定义方法
# ...
```
8. `config/QQBot.yaml`中使用以下配置项,在`全局MD`时会`以button的模式`自动加入`按钮指定行数并独占一行`,当`超过`5排按钮时`不会添加`
```yml
btnSuffix:
BotQQ:
position: 1 # 位置:第几行 1 - 5
values:
- text: test
callback: test
show: # 达成什么条件才会显示
type: random # 目前仅支持 random
data: 50 # 0-100
- text: test2
input: test2
# ... 最多10个
```
9. `#QQBot用户统计`: 对比昨日的用户数据,默认关闭,`#QQBot设置用户统计开启`
10. `config/QQBot.yaml`中使用前台日志消息过滤(~~自欺欺人大法~~),将会不在前台打印自定的消息内容,防log刷屏(~~比如修仙、宝可梦等~~),也可以使用`#QQBot添加/删除过滤日志垃圾机器人`
- **自定义消息采取完整消息匹配,非关键词匹配**
- **非必要不建议开启此项**
> 注意:_只会过滤部分QQBot的日志_
```yml
filterLog:
BotQQ:
- 垃圾机器人
- 垃圾bot
- 垃圾Bot
# ...
```
11. `config/QQBot.yaml`中`simplifiedSdkLog`是否简化sdk日志,若设置为`true`则不会打印` recv from Group(xxx): xxx`,并且会简化发送为`send to Group(xxx):