• Stars
    star
    113
  • Rank 310,115 (Top 7 %)
  • Language
    Rust
  • Created about 4 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

✨ OneBot(原CQHTTP) 多平台的实现
OneBot-YaYa

OneBot-YaYa

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

ATRI Yobot Hoshino OtterBot

NoneBot ZeroBot Koishi ZhaMao Sora Spring-CQ

Badge License Stars Commits Release Downloads

开始使用

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

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

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

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://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
  1. 每个姬气人都可以设置多个 正向WS 反向WS HTTP 服务,实在不懂加群问或者提 issue
  • 注:不要使用重载插件功能,修改保存配置文件后会自动热重载

支持的标准

通信方式
  • HTTP
  • HTTP POST
  • 正向Websocket
  • 反向Websocket
消息段类型 注:CQ码需要对以下字符进行转义

","=> ,

"&"=> &

"["=> [

"]"=> ]

  • 纯文本

    纯文本内容
    
  • QQ表情

    [CQ:face,id=123]
    
  • 图片

    [CQ:image,file=http://baidu.com/1.jpg]
    [CQ:image,file=file:///C:\\example\test.jpg]
    
  • 语音

    [CQ:record,file=http://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=http://y.music.163.com/m/song?id=33911781,image=http://p2.music.126.net/daZcHVIJicL3wXJWMIjAng==/7926379325753633.jpg,audio=http://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=http://www.链接.com,owner=群主]
    

    注:此CQ码与OneBot标准有异

  • 自定义位置分享

    [CQ:location,title=OneBot,content=YaYa,lon=114,lat=514]
    

    注:此为YaYa特有CQ码

  • XML消息

    [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>]
    
  • JSON消息

    注:特殊字符需要转义

    [CQ:json,data={"app":"com.tencent.miniapp"&#44;"desc":""&#44;"view":"notification"&#44;"ver":"0.0.0.1"&#44;"prompt":"&#91;应用&#93;"&#44;"appID":""&#44;"sourceName":""&#44;"actionData":""&#44;"actionData_A":""&#44;"sourceUrl":""&#44;"meta":{"notification":{"appInfo":{"appName":"全国疫情数据统计"&#44;"appType":4&#44;"appid":1109659848&#44;"iconUrl":"http:\/\/gchat.qpic.cn\/gchatpic_new\/719328335\/-2010394141-6383A777BEB79B70B31CE250142D740F\/0"}&#44;"data":&#91;{"title":"确诊"&#44;"value":"80932"}&#44;{"title":"今日确诊"&#44;"value":"28"}&#44;{"title":"疑似"&#44;"value":"72"}&#44;{"title":"今日疑似"&#44;"value":"5"}&#44;{"title":"治愈"&#44;"value":"60197"}&#44;{"title":"今日治愈"&#44;"value":"1513"}&#44;{"title":"死亡"&#44;"value":"3140"}&#44;{"title":"今**亡"&#44;"value":"17"}&#93;&#44;"title":"中国加油,武汉加油"&#44;"button":&#91;{"name":"病毒:SARS-CoV-2,其导致疾病命名 COVID-19"&#44;"action":""}&#44;{"name":"传染源:新冠肺炎的患者。无症状感染者也可能成为传染源。"&#44;"action":""}&#93;&#44;"emphasis_keyword":""}}&#44;"text":""&#44;"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 字段暂未实现
通知事件 备注
群文件上传
群管理员变动
群成员减少
群成员增加
群禁言
好友添加
群消息撤回
好友消息撤回
群内戳一戳 先驱不支持
群红包运气王 先驱不支持
群成员荣誉变更 先驱不支持
请求事件 备注
加好友请求
加群请求/邀请
元事件 备注
生命周期
心跳

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# 反向 WS Yukrai103/Sora Yukrai103
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

特别感谢

IntelliJ IDEA 是一个在各个方面都最大程度地提高开发人员的生产力的 IDE,适用于 JVM 平台语言。

特别感谢 JetBrains 为开源项目提供免费的 IDE 的授权