OneBot-YaYa是基于CGO开发的QQ机器人HTTP API,OneBot标准的先驱QQ机器人平台实现,高效稳定简单
-
下载 先驱框架(测试版) 与 OneBot-YaYa 并解压
-
解压先驱框架到文件夹,并运行先驱.exe,待相关文件生成完毕后,将
OneBot-YaYa.XQ.dll
放入.\Plugin
,重启先驱框架 -
切到
账号管理
界面登录机器人账号
4. 详细的配置文件说明 .\OneBot\config.yml
# 版本
version: 1.0.5
# 主人QQ号
master: 12345678
# 是否开启DEBUG日志
debug: true
# 不同姬气人的设置,注意yaml中 "-" 代表一个父节点有多个子节点
bots:
# 被设置的姬气人QQ
- bot: 0
# 正向WS
websocket:
# 连接到的服务的名字,自己起
- name: WSS EXAMPLE
# 是否启动该服务的连接,连接为 true
enable: false
# OneBot建立服务器的HOST,无特殊需求一般为 127.0.0.1
host: 127.0.0.1
# OneBot建立服务器的PORT,与插件的端口要对应
port: 6700
# OneBot服务器 Token ,一般不动
access_token: ""
# OneBot上报格式,可为 string 或 array ,一般不动
post_message_format: string
# 反向WS
websocket_reverse:
# 连接到的服务的名字,自己起
- name: WSC EXAMPLE
# 是否启动该服务的连接,连接为 true
enable: false
# 插件服务器的地址,一般只需要改端口
url: ws:https://127.0.0.1:8080/ws
# 插件填了 Token 这里也要填
access_token: ""
# OneBot上报格式,可为 string 或 array ,一般不动
post_message_format: string
# HTTP 和 HTTP POST
http:
# 连接到的服务的名字,自己起
- name: HTTP EXAMPLE
# 是否启动该服务的连接,连接为 true
enable: true
# OneBot建立服务器的HOST,无特殊需求一般为 127.0.0.1
host: 127.0.0.1
# OneBot建立服务器的PORT,与插件的端口要对应
port: 5700
# OneBot服务器 Token ,一般不动
token: ""
# OneBot 上报的地址,即插件服务器地址
post_url:
# OneBot 上报的 Secret,一般不填
secret: ""
# OneBot上报格式,可为 string 或 array ,一般不动
post_message_format: string
- 注:不要使用
重载插件
功能,修改保存配置文件后会自动热重载
- HTTP
- HTTP POST
- 正向Websocket
- 反向Websocket
消息段类型
注:CQ码需要对以下字符进行转义","=>
,
"&"=>
&
"["=>
[
"]"=>
]
-
纯文本内容
-
[CQ:face,id=123]
-
[CQ:image,file=https://baidu.com/1.jpg] [CQ:image,file=file:https:///C:\\example\test.jpg]
-
[CQ:record,file=https://baidu.com/1.mp3]
-
[CQ:at,qq=10001000]
-
[CQ:shake]
-
本条消息使用私聊气泡
[CQ:bubble,id=0]
注:此为YaYa特有CQ码
-
自定义分享
[CQ:share,title=OneBot,content=YaYa,url=https://github.com/Yiwen-Chan/OneBot-YaYa,image=https://github.com/howmanybots/onebot/raw/master/assets/logo-256.png,brief=OneBot]
注:此CQ码与OneBot标准有异
-
[CQ:music,type=custom,title=secret base ~君がくれたもの~ (10 years after Ver.),content=茅野愛衣,url=https://y.music.163.com/m/song?id=33911781,image=https://p2.music.126.net/daZcHVIJicL3wXJWMIjAng==/7926379325753633.jpg,audio=https://music.163.com/song/media/outer/url?id=33911781.mp3]
注:暂时只支持
type=custom
-
自定义天气分享
[CQ:weather,city=北京,type=201,air=66,max=30,min=20,date=1月1日 周一]
注:此为YaYa特有CQ码
-
推荐联系人
[CQ:contact,type=qq,id=11011101,name=昵称]
注:此CQ码与OneBot标准有异
-
推荐群聊
[CQ:contact,type=group,id=11011101,name=群名,url=https://www.链接.com,owner=群主]
注:此CQ码与OneBot标准有异
-
自定义位置分享
[CQ:location,title=OneBot,content=YaYa,lon=114,lat=514]
注:此为YaYa特有CQ码
-
[CQ:xml,data=<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <msg serviceID="1"> <item><title>生死8秒!女司机高速急刹,他一个操作救下一车性命</title></item> <source name="官方认证消息" icon="https://qzs.qq.com/ac/qzone_v5/client/auth_icon.png" action="" appid="-1" /> </msg>]
-
注:特殊字符需要转义
[CQ:json,data={"app":"com.tencent.miniapp","desc":"","view":"notification","ver":"0.0.0.1","prompt":"[应用]","appID":"","sourceName":"","actionData":"","actionData_A":"","sourceUrl":"","meta":{"notification":{"appInfo":{"appName":"全国疫情数据统计","appType":4,"appid":1109659848,"iconUrl":"http:\/\/gchat.qpic.cn\/gchatpic_new\/719328335\/-2010394141-6383A777BEB79B70B31CE250142D740F\/0"},"data":[{"title":"确诊","value":"80932"},{"title":"今日确诊","value":"28"},{"title":"疑似","value":"72"},{"title":"今日疑似","value":"5"},{"title":"治愈","value":"60197"},{"title":"今日治愈","value":"1513"},{"title":"死亡","value":"3140"},{"title":"今**亡","value":"17"}],"title":"中国加油,武汉加油","button":[{"name":"病毒:SARS-CoV-2,其导致疾病命名 COVID-19","action":""},{"name":"传染源:新冠肺炎的患者。无症状感染者也可能成为传染源。","action":""}],"emphasis_keyword":""}},"text":"","sourceAd":""}]
API
API | 功能 | 备注 |
---|---|---|
/send_private_msg | 发送私聊消息 | |
/send_group_msg | 发送群消息 | |
/send_msg | 发送消息 | |
/delete_msg | 撤回信息 | |
/get_msg | 获取消息 | |
/get_forward_msg | 获取合并转发消息 | 暂未实现 |
/send_like | 发送好友赞 | |
/set_group_kick | 群组踢人 | |
/set_group_ban | 群组单人禁言 | |
/set_group_anonymous_ban | 群组匿名用户禁言 | 暂未实现 |
/set_group_whole_ban | 群组全员禁言 | |
/set_group_admin | 群组设置管理员 | |
/set_group_anonymous | 群组匿名 | |
/set_group_card | 设置群名片群备注 | |
/set_group_name | 设置群名 | 先驱不支持 |
/set_group_leave | 退出群组 | |
/set_group_special_title | 设置群组专属头衔 | 先驱不支持 |
/set_friend_add_request | 处理加好友请求 | |
/set_group_add_request | 处理加群请求/邀请 | |
/get_login_info | 获取登录号信息 | |
/get_stranger_info | 获取陌生人信息 | |
/get_friend_list | 获取好友列表 | |
/get_group_info | 获取群信息 | |
/get_group_list | 获取群列表 | |
/get_group_member_info | 获取群成员信息 | 实现了 昵称 性别 年龄 的获取 |
/get_group_member_list | 获取群成员列表 | |
/get_group_honor_info | 获取群荣誉信息 | |
/get_cookies | 获取 Cookies | 支持 "qun.qq.com" "qzone.qq.com" |
/get_csrf_token | 获取 CSRF Token | 先驱不支持 |
/get_credentials | 获取 QQ 相关接口凭证 | 只实现 /get_cookies 部分 |
/get_record | 获取语音 | 暂未实现 |
/get_image | 获取图片 | 暂未实现 |
/can_send_image | 检查是否可以发送图片 | |
/can_send_record | 检查是否可以发送语音 | |
/get_status | 获取运行状态 | |
/get_version_info | 获取版本信息 | |
/set_restart | 重启 onebot 实现 | 暂未实现 |
/clean_cache | 清理缓存 | 暂未实现 |
/send_json | 发送JSON 消息 |
data字段填JSON 结构体,YaYa特有,不需要转义,sdk可能无此API接口 |
/send_xml | 发送XML 消息 |
data字段填XML 结构体,YaYa特有,不需要转义,sdk可能无此API接口 |
Event
信息事件 | 备注 |
---|---|
私聊信息 | sender 字段暂未实现 |
群消息 | sender 字段暂未实现 |
通知事件 | 备注 |
---|---|
群文件上传 | |
群管理员变动 | |
群成员减少 | |
群成员增加 | |
群禁言 | |
好友添加 | |
群消息撤回 | |
好友消息撤回 | |
群内戳一戳 | 先驱不支持 |
群红包运气王 | 先驱不支持 |
群成员荣誉变更 | 先驱不支持 |
请求事件 | 备注 |
---|---|
加好友请求 | |
加群请求/邀请 |
元事件 | 备注 |
---|---|
生命周期 | |
心跳 |
语言 | 通信方式 | 地址 | 核心作者 |
---|---|---|---|
Python | HTTP, 反向 WS | nonebot/nonebot | richardchien yanyongyu |
Go | 正向 WS | wdvxdr1123/ZeroBot | wdvxdr1123 |
Node.js | HTTP, 正向 WS, 反向 WS | koishijs/koishi | Shigma |
PHP | 反向 WS | zhamao-robot/zhamao-framework | crazywhalecc |
C# | 反向 WS | Yukrai103/Sora | Yukrai103 |
Java Kotlin Groovy | 反向 WS | lz1998/Spring-CQ(教程) | lz1998 |
项目地址 | 简介或功能 | 依赖 | 核心作者 |
---|---|---|---|
Kyomotoi/ATRI | 名为 ATRI 的BOT | nonebot | Kyomotoi |
fz6m/nonebot-plugin | 各种即开即用、良好兼容的插件 | nonebot | fz6m |
mnixry/coolQPythonBot | 识图识番搜图涩图 番剧查询 B站视频解析 RSS 维基百科 广播 欢迎 一言 嘴臭 身份生成 | nonebot | mnixry |
cleoold/sendo-erika | 自定义回复 点歌 签到 运势 谷歌搜索 百度热搜 碧蓝建造 | nonebot | cleoold |
Quan666/ELF_RSS | RSS | nonebot | Quan666 |
Bluefissure/OtterBot | FF14 玩家BOT | 云BOT | Bluefissure |
IntelliJ IDEA 是一个在各个方面都最大程度地提高开发人员的生产力的 IDE,适用于 JVM 平台语言。
特别感谢 JetBrains 为开源项目提供免费的 IDE 的授权