RICQ
QQ Android 协议的 Rust 实现,移植于 OICQ。
- ricq:提供异步 API
- ricq-core:不带 IO 的数据包构造器、解析器(通常用于 FFI)
- ricq-axum-api:提供 HTTP API 形式的登录接口,配合 ricq-react-ui,只需要开发登录后的逻辑。
如何使用
本项目是协议 Lib,如果需要直接使用,可以参考 examples 中的例子进行开发。
可以配合前端界面 ricq-react-ui 解压 static.zip 后,运行 ricq-axum-api,使用浏览器 F12-Network 查看调用方式。
普通开发者推荐使用 SDK、框架进行开发:
框架 / SDK | 语言 | 说明 |
---|---|---|
rust_proc_qq | Rust | 模仿rocket |
Walle-Q | - | onebot协议 |
pbrq | - | websocket+protobuf协议(附带Web-UI) |
atri_qq | - | 加载原生动态库插件,高性能低占用 |
awr | Python | 基于 ricq 包装,供 Python 使用的 QQ 无头客户端。 |
本项目是一个年轻的项目,请使用 Nightly 工具链构建本项目哦(正经人谁用 Stable 啊)
相关项目
项目 | 描述 |
---|---|
lomirus/gtk-qq | Unofficial Linux QQ client, based on GTK4 and libadwaita, developed with Rust and Relm4. |
a1967629423/esp32c3-rs-qq | 在单片机上运行QQ |
ricq-react-ui + ricq-axum-api | 登录 demo,附带前端 UI |
已完成功能 / 开发计划
登录
- 账号密码登录
- 二维码登录
- 验证码提交
- 设备锁验证
- 错误信息解析
消息类型
- 文本
- 表情
- At
- 回复
- 匿名
- 骰子
- 石头剪刀布
- 图片
- 语音
- 长消息(仅支持群聊发送)
- 合并转发(仅支持群聊发送)
- 链接分享
- 小程序(暂只支持 RAW)
- 短视频
- 群文件(上传与接收信息)
事件
- 群消息
- 好友消息
- 新好友请求
- 收到其他用户进群请求
- 新好友
- 群禁言
- 好友消息撤回
- 群消息撤回
- 收到邀请进群请求
- 群名称变更
- 好友删除
- 群成员权限变更
- 新成员进群 / 退群
- 登录号加群
- 临时会话消息
- 群解散
- 登录号退群(包含踢出)
- 客户端离线
- 群提示(戳一戳 / 运气王等)
主动操作
为防止滥用,将不支持主动邀请新成员进群
- 修改昵称
- 发送群消息
- 获取群列表
- 获取群成员列表
- 获取好友列表 / 分组
- 获取好友个性签名
- 添加 / 删除 / 重命名好友分组
- 群成员禁言 / 解除禁言
- 踢出群成员
- 戳一戳群友
- 戳一戳好友
- 设置群管理员
- 设置群公告
- 设置群名称
- 全员禁言
- 获取群@全体剩余次数
- 翻译
- 修改群成员头衔
- 设置群精华消息
- 发送好友消息
- 发送临时会话消息
- 修改群成员 Card
- 撤回群消息
- 撤回好友消息
- 处理被邀请加群请求
- 处理加群请求
- 处理好友请求
- 删除好友
- 获取陌生人信息
- 设置在线状态
- 修改个人资料
- 修改个性签名
- 获取群文件下载链接
- 获取群荣誉(龙王 / 群聊火焰等)
-
群成员邀请
敏感操作
由于 QQ 钱包支付用户服务协议, 将不提供一切有关 QQ 钱包的功能。
4.13 您不得利用本服务实施下列任一的行为:
(9) 侵害 QQ 钱包支付服务系統;
-
QQ 钱包协议(收款 / 付款等)