All Projects → yyuueexxiinngg → Onebot Kotlin

yyuueexxiinngg / Onebot Kotlin

Licence: agpl-3.0
OneBot标准的Kotlin实现及mirai插件 - 原cqhttp-mirai

Programming Languages

kotlin
9241 projects

Labels

Projects that are alternatives of or similar to Onebot Kotlin

arknights-helper
mirai-console 插件开发计划
Stars: ✭ 26 (-93.79%)
Mutual labels:  qqbot
weibo-helper
mirai-console 插件开发计划
Stars: ✭ 21 (-94.99%)
Mutual labels:  qqbot
Koishi
一个跨平台机器人框架
Stars: ✭ 307 (-26.73%)
Mutual labels:  qqbot
Kobirt
基于酷 Q 框架的 QQ 机器人,K 菊专用。
Stars: ✭ 27 (-93.56%)
Mutual labels:  qqbot
mirai-cpp-template
mirai-cpp-template, mirai-cpp的模板项目, 快速上手mirai-cpp。
Stars: ✭ 16 (-96.18%)
Mutual labels:  qqbot
Go-Mirai-Client
基于MiraiGo的客户端,使用反向 websocket 收发私聊、群聊消息,消息格式类似onebot。支持多账号,很稳定
Stars: ✭ 90 (-78.52%)
Mutual labels:  qqbot
genshin task-resin-expedition alert
完全摸了,之后若有需要,请使用下面链接的这个仓库~
Stars: ✭ 91 (-78.28%)
Mutual labels:  qqbot
Qqbot
QQBot: A conversation robot base on Tencent's SmartQQ
Stars: ✭ 3,643 (+769.45%)
Mutual labels:  qqbot
FG
基于Nonebot的QQ群机器人🤖️,特色功能是利用机器学习算法,基于每日聊天记录生成每日总结。可在酷Q/Mirai平台上运行
Stars: ✭ 74 (-82.34%)
Mutual labels:  qqbot
Oicq
Node.js实现的安卓协议QQ机器人
Stars: ✭ 258 (-38.42%)
Mutual labels:  qqbot
HoshinoBot-Plugins
nonebot1 RSS、B站解析、自定义回复……
Stars: ✭ 34 (-91.89%)
Mutual labels:  qqbot
CoolQBot
基于 NoneBot2 的聊天机器人
Stars: ✭ 62 (-85.2%)
Mutual labels:  qqbot
mirai-class-notice
🥳 这是一款基于 mirai 的班级 QQ 群课程通知机器人,拥有简单的 web 管理页面,尽量实现一键安装简易操作等功能。
Stars: ✭ 25 (-94.03%)
Mutual labels:  qqbot
MShell
一个Mirai机器人插件,用来连接QQ聊天窗口和系统Shell
Stars: ✭ 23 (-94.51%)
Mutual labels:  qqbot
Application
一个设计精巧, 协议实现完备的, 基于 mirai-api-http 的即时聊天软件自动化框架.
Stars: ✭ 307 (-26.73%)
Mutual labels:  qqbot
accenbot
基于Onebot-kotlin实现的QQ群聊天机器人,遵循OneBot标准。极简、高效的框架。
Stars: ✭ 17 (-95.94%)
Mutual labels:  qqbot
java
基于 go-cqhttp 和 java 的 qq 机器人
Stars: ✭ 128 (-69.45%)
Mutual labels:  qqbot
Miraigo
qq协议的golang实现, 移植于mirai
Stars: ✭ 404 (-3.58%)
Mutual labels:  qqbot
Unifiedmessagerelay
Group Message Forward Framework (supports QQ Telegram Line Discord)
Stars: ✭ 363 (-13.37%)
Mutual labels:  qqbot
ProtobufBot
QQ机器人框架 ProtobufBot 整体介绍。看README
Stars: ✭ 45 (-89.26%)
Mutual labels:  qqbot

OneBot Mirai - CQHTTP Mirai

OneBot v10 Gradle CI Downloads Release Downloads @latest

OneBot标准 mirai 插件版 (原cqhttp-mirai)

开始使用

  1. 请首先运行mirai-console相关客户端生成plugins文件夹
  2. onebot-mirai生成的jar包文件放入plugins文件夹中
  3. 运行mirai-console, 将在config/OneBot文件夹中自动生成样本配置文件settings.yml
  4. 编辑config/OneBot/settings.yml配置文件, 按照以下配置给出的注释修改保存
  5. 再次启动mirai-console相关客户端

OneBot Kotlin - CQHTTP Mirai Embedded

OneBot标准 Kotlin实现 (原cqhttp-mirai-embedded)

注意事项

  • 此版本内置mirai-coremirai-console
  • 请将此版本Jar包放至与mirai-console-loader, miraiOK同级目录
  • 此版本启动方式java -jar onebot-kotlin-**.jar
  • 请不要将此版本与主分支单插件版同时使用, 即不要在plugins文件夹下放置onebot-mirai的Jar包

开始使用

  1. 运行Jar包: java -jar onebot-kotlin-**.jar
  2. 编辑config/OneBot/settings.yml配置文件, 将以下配置给出的注释修改保存
  3. 重新运行

接收的参数

  • --account 123456789 要自动登录的账号
  • --password ******* 要自动登录账号的密码
  • --args -- --xx传入参数至mirai-console, 如--args -- --help--help传入获取mirai-console提供的帮助信息

读取的环境变量

  • ONEBOT_ACCOUNT--account参数, 但优先级低, 会被参数覆盖
  • ONEBOT_PASSWORD--password参数, 但优先级低, 会被参数覆盖

更新日志: CHANGELOG

配置相关

# 下载图片/语音时使用的Proxy, 配置后, 发送图片/语音时指定`proxy=1`以通过Proxy下载, 如[CQ:image,proxy=1,url=http://***]
# 支持HTTP及Sock两种Proxy, 设置举例 proxy: "http=http://127.0.0.1:8888", proxy : "sock=127.0.0.1:1088"
proxy: ''
# Mirai支持多帐号登录, 故需要对每个帐号进行单独设置
bots:
  # 要进行配置的QQ号
  1234567890: 
    # 是否缓存所有收到的图片, 默认为否 (仅包含图片信息, 不包含图片本身,  < 0.5KB)
    cacheImage: false
    # 是否缓存所有收到的语音, 默认为否 (将下载完整语音进行保存)
    cacheRecord: false
    # 心跳包相关配置
    heartbeat: 
      # 是否发送心跳包, 默认为否
      enable: false
      # 心跳包发送间隔, 默认为 15000毫秒
      interval: 15000
    # HTTP 相关配置
    http: 
      # 可选,是否启用HTTP API服务器, 默认为不启用, 此项开始与否跟postUrl无关
      enable: true
      # 可选,HTTP API服务器监听地址, 默认为0.0.0.0
      host: 0.0.0.0
      # 可选,HTTP API服务器监听端口, 5700
      port: 5700
      # 可选,访问口令, 默认为空, 即不设置Token
      accessToken: ''
      # 可选,事件及数据上报URL, 默认为空, 即不上报
      postUrl: ''
      # 可选,上报消息格式,string 为字符串格式,array 为数组格式, 默认为string
      postMessageFormat: string
      # 可选,上报数据签名密钥, 默认为空
      secret: ''
      # 上报超时时间, 单位毫秒, 须大于0才会生效
      timeout: 0
    # 可选,反向客户端服务
    ws_reverse: 
      # 可选,是否启用反向客户端,默认不启用
      - enable: true
        # 上报消息格式,string 为字符串格式,array 为数组格式
        postMessageFormat: string
        # 反向Websocket主机
        reverseHost: 127.0.0.1
        # 反向Websocket端口
        reversePort: 8080
        # 访问口令, 默认为空, 即不设置Token
        accessToken: ''
        # 反向Websocket路径
        reversePath: /ws
        # 可选, 反向Websocket Api路径, 默认为reversePath
        reverseApiPath: /api
        # 可选, 反向Websocket Event路径, 默认为reversePath
        reverseEventPath: /event
        # 是否使用Universal客户端 默认为true
        useUniversal: true
        # 可选, 是否通过HTTPS连接, 默认为false
        useTLS: false
        # 反向 WebSocket 客户端断线重连间隔,单位毫秒
        reconnectInterval: 3000
      - enable: true # 这里是第二个连接, 相当于CQHTTP分身版
        postMessageFormat: string
        reverseHost: 127.0.0.1
        reversePort: 9222
        reversePath: /ws
        useUniversal: false
        reconnectInterval: 3000
    # 正向Websocket服务器
    ws: 
      # 可选,是否启用正向Websocket服务器,默认不启用
      enable: true
      # 可选,上报消息格式,string 为字符串格式,array 为数组格式, 默认为string
      postMessageFormat: string
      # 监听主机
      wsHost: 0.0.0.0
      # 监听端口
      wsPort: 6700
      # 可选,访问口令, 默认为空, 即不设置Token
      accessToken: ''
  0987654321: # 这里是第二个QQ Bot的配置
    ws_reverse: 
      - enable: true
        postMessageFormat: string
        reverseHost:
        reversePort:
        reversePath: /ws
        reconnectInterval: 3000

实现

  • [x] 反向Websocket客户端
  • [x] HTTP上报服务
  • [x] Websocket服务端
  • [x] HTTP API
已实现CQ码
  • [CQ:at]
  • [CQ:image]
  • [CQ:record]
  • [CQ:face]
  • [CQ:emoji]
  • [CQ:share]
  • [CQ:contact]
  • [CQ:music]
  • [CQ:shake]
  • [CQ:poke]
  • [CQ:xml]
  • [CQ:json]
已支持的OneBot API

特别注意, 很多信息Mirai不支持获取, 如群成员的年龄、性别等, 为保证兼容性, 这些项已用Unknown, 0之类的信息填充占位

API 功能 备注
/send_private_msg 发送私聊消息
/send_group_msg 发送群消息
/send_msg 发送消息 (不包含讨论组消息)
/delete_msg 撤回信息
/set_group_kick 群组T人
/set_group_ban 群组单人禁言
/set_group_whole_ban 群组全员禁言
/set_group_card 设置群名片(群备注)
/set_group_leave 退出群组 (不支持解散群组)
/set_group_special_title 设置群组专属头衔 (不支持设置有效期)
/set_friend_add_request 处理加好友请求 (不支持设置备注)
/set_group_add_request 处理加群请求/邀请
/get_login_info 获取登录号信息
/get_friend_list 获取好友列表
/get_group_honor_info 获取群荣誉信息
/get_image 获取图片
/get_group_list 获取群列表
/get_group_info 获取群信息
/get_group_member_info 获取群成员信息
/get_group_member_list 获取群成员列表
/can_send_image 检查是否可以发送图片 (恒为true)
/can_send_record 检查是否可以发送语音
/get_status 获取插件运行状态 (不完全支持, 仅返回onlinegood两项)
/get_version_info 获取 酷Q 及 CQHTTP插件的版本信息
/set_group_name 设置群名
尚未支持的OneBot API
API 功能 备注
/get_record 获取语音
/send_discuss_msg 发送讨论组消息 已无讨论组
/set_discuss_leave 退出讨论组 已无讨论组
/get_stranger_info 获取陌生人信息
/set_group_anonymous_ban 群组匿名用户禁言
/set_group_admin 群组设置管理员
/send_like 发送好友赞 Mirai不会支持
/get_cookies 获取 Cookies Mirai不会支持
/get_csrf_token 获取 CSRF Token Mirai不会支持
/get_credentials 获取 QQ 相关接口凭证 Mirai不会支持
/set_restart_plugin 重启 CQHTTP
/clean_data_dir 清理数据目录
/clean_plugin_log 清理日志

开源协议

AGPL-3.0 © yyuueexxiinngg

直接或间接引用到的其他开源项目

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].