先驱社区

[HTTP API] OneBot-YaYa 多语言插件开发&CQHTTP插件加载

  • 插件:OneBot-YaYa GitHub开源
  • 版本:Release
  • 简介:Badge
  • 协议:License

警告:OneBot-YaYa不支持一切与商业盈利有关活动

这个插件能做什么

  • OneBot协议即CQHTTP,本插件是酷Q倒了后先驱兼容版
  • 开发基于OneBot通信标准先驱插件,包括 Python Go C# Java Node.Js PHP 等
  • 加载基于OneBot通信标准各种插件,such as ATRI 和 Hoshino 等等

目录

1 Like
![OneBot-YaYa|150x150](upload://yXzbnrVJbfOuECBwNQQoW9PTGWM.jpeg)

OneBot-YaYa

OneBot-YaYa是 高效稳定简单 的 QQ机器人HTTP API OneBot标准 的实现

ATRI Yobot Hoshino OtterBot

NoneBot ZeroBot Koishi ZhaMao Sora Spring-CQ

Badge License Stars Commits Downloads

开始使用

  1. 下载 先驱框架(测试版)OneBot-YaYa 并解压
  2. 解压先驱框架到文件夹,并运行先驱.exe,待相关文件生成完毕后,将OneBot-YaYa.XQ.dll放入.\Plugin,重启先驱框架
  3. 切到账号管理界面登录机器人账号
  4. 详细的配置文件说明 .\OneBot\config.yml
# 版本
version: 1.0.5
# 主人QQ号
master: 8888888
# 是否开启DEBUG日志
debug: true
# 心跳设置,默认不动
heratbeat:
  enable: true
  interval: 10000
# 缓存设置,暂未实现
cache:
  database: false
  image: false
  record: false
  video: false
# 不同姬气人的设置,注意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://127.0.0.1:8080/ws
    # 暂未实现
    api_url: ws://127.0.0.1:8080/api
    # 暂未实现
    event_url: ws://127.0.0.1:8080/event
    # 暂未实现
    use_universal_client: true
    # 插件填了 Token 这里也要填
    access_token: ""
    # OneBot上报格式,可为 string 或 array ,一般不动
    post_message_format: string
    # 掉线重连的时间间隔,单位毫秒
    reconnect_interval: 3000
  # 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: ""
    # 等待响应时间,一般不动
    time_out: 0
    # OneBot上报格式,可为 string 或 array ,一般不动
    post_message_format: string
  1. 每个姬气人都可以设置多个 正向WS 反向WS HTTP 服务,实在不懂加群问或者提 issue
  2. 再次重启先驱框架(热重载什么的咕了)
  3. 注:不要使用重载插件功能,否则会导致框架闪退,此为框架与go不兼容问题
1 Like

支持的标准

通信方式

  • HTTP
  • HTTP POST
  • 正向Websocket
  • 反向Websocket

消息段类型

  纯文本内容
  [CQ:face,id=123]
  [CQ:image,file=http://baidu.com/1.jpg]
  [CQ:record,file=http://baidu.com/1.mp3]
  [CQ:at,qq=10001000]
  [CQ:shake]
  [CQ:music,type=custom,url=http://baidu.com,audio=http://baidu.com/1.mp3,title=音乐标题]
  [CQ:xml,data=<?xml ...]
  [CQ:json,data={"app": ...]

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 清理缓存 暂未实现

Event

信息事件 备注
私聊信息 sender 字段暂未实现
群消息 sender 字段暂未实现
请求事件 备注
加好友请求
加群请求/邀请
元事件 备注
生命周期
心跳

OneBot 生态

SDK/开发框架

语言 通信方式 地址 核心作者
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# HTTP, 正向 WS, 反向 WS frank-bots/cqhttp.Cyan frankli0324
Java Kotlin Groovy 反向 WS lz1998/Spring-CQ教程 lz1998

More

应用案例

项目地址 简介或功能 依赖 核心作者
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

More

插件开发以及插件

NoneBot & NoneBot2

插件开发
  1. 暂无说明,自行摸索
插件使用
  1. 下载先驱框架(测试版)OneBot-YaYa 并解压

  2. 解压先驱框架到文件夹,并运行先驱.exe,待相关文件生成完毕后,将OneBot-YaYa.XQ.dll放入.\Plugin,重启先驱框架

  3. 切到账号管理界面登录机器人账号

  4. 根据实际情况编辑.\OneBot\config.yml文件

  1. master改为自己的QQ号
  2. botsbot改为需要进行通信的姬气人QQ
  3. botswebsocket_reversename 改为nonobot
  4. botswebsocket_reverseenable 改为true
  5. botswebsocket_reverseurl 改为:
    nonebot: ws://127.0.0.1:8080/ws
    nonebot2: ws://127.0.0.1:8080/cqhttp/ws
    其中127.0.0.1代表插件服务器Host,8080代表插件服务器Port
  6. botswebsocket_reverseaccess_token 按需填写
  1. 每个姬气人都可以设置多个 正向WS 反向WS HTTP 服务,实在不懂加群问或者提 issue

  2. 再次重启先驱框架(热重载什么的咕了)

  • 注:不要使用重载插件功能,否则会导致框架闪退,此为框架与go不兼容问题

先驱獭与塔塔露

(獭獭与塔塔露均为FF14玩家BOT,请非玩家不要偷偷白嫖)

  1. 下载先驱框架(测试版)OneBot-YaYa 并解压

  2. 解压先驱框架到文件夹,并运行先驱.exe,待相关文件生成完毕后,将OneBot-YaYa.XQ.dll放入.\Plugin,重启先驱框架

  3. 切到账号管理界面登录机器人账号

  4. 从獭窝下载配置文件并替换.\OneBot\config.yml(客户端选择YaYa)

或根据实际情况编辑.\OneBot\config.yml文件

  • 獭獭
  • master改为自己的QQ号
  • botsbot改为在獭獭后台申请的姬气人QQ
  • botswebsocket_reversename 改为tata
  • botswebsocket_reverseenable 改为true
  • botswebsocket_reverseurl 改为獭獭后台申请姬气人窝所在的网址,有下面四种情况:
主窝 ws://xn--v9x.net:80/ws
笔窝 ws://bot.pencilss.top/ws
风窝 ws://temp.dead-war.cn/ws
鸡窝 ws://tata.guomie.club/ws
  • botswebsocket_reverseaccess_token 改为獭獭后台申请时所填的token
  • 塔塔露
  • master改为自己的QQ号
  • botsbot改为在獭獭后台申请的姬气人QQ
  • botshttpname 改为tataru
  • botshttpenable 改为true
  • botshttppost_url 改为塔塔露后台右上角个人信息里的API的网址
  1. 每个姬气人都可以设置多个 正向WS 反向WS HTTP 服务,实在不懂加群问或者提 issue

  2. 再次重启先驱框架(热重载什么的咕了)

  • 注:不要使用重载插件功能,否则会导致框架闪退,此为框架与go不兼容问题

yaya 教程楼保留

OneBot YES!

更新记录

2020/11/16 版本:v1.0.1

  • 因为好像没人用go,所以改成了cqhttp
  • 暂时支持的api和event比较少
  • 只实现了反向ws,和Hoshino或者ATRI等bot基本衔接
  • 有兴趣的可以来项目地址帮忙补充
  • 可能会有大量未知bug,可以在本贴回复或者在GitHub提交issue

更新记录

2020/11/19 版本:v1.0.2 beta

更新记录

2020/11/21 版本:v1.0.3 beta

更新记录

2020/11/24 版本:v1.0.4 beta

更新记录

2020/11/27 版本:v1.0.5 beta

更新记录

2020/12/02 版本:v1.0.7 beta

  • API增加:get_group_honor_info 获取群荣誉信息
  • API增加:get_cookies 获取 Cookies

更新记录

2020/12/07 版本:v1.0.8 beta

  • API: Fix get_group_list
  • API: Fix get_friend_list
  • 修复了[CQ:json]的转义

更新记录

2020/12/15 版本:v1.1.3 beta

  • 相较于之前重构了大部分代码,基本稳定

更新记录

2020/12/19 版本:v1.1.4 beta

  • Fix fast reply 修复了各种方式通信的快速回复
  • Fix cqcode escape 修复了cqcode的转义