渐进式 QQ 机器人快速开发框架,基于 ricq。
use chocho::prelude::*;
use async_trait::async_trait;
use chocho::ricq::handler::PartlyHandler;
struct Handler;
#[async_trait]
impl PartlyHandler for Handler {
async fn handle_login(&self, uin: i64) {
tracing::info!("登录成功: {}", uin);
}
}
#[chocho::main(handler = Handler)]
async fn main(client: RQClient) -> anyhow::Result<()> {
let account_info = client.account_info.read().await;
tracing::info!("{:?}", account_info);
client.group(12345678).send("Hello, world!").await?;
}
点击展开
- chocho: 统一入口点
- chocho_login: 用户登录
- chocho_client: 客户端操作接口
- chocho_event: 事件处理
- chocho_msg: 消息处理
- chocho_macros: 过程宏支持
- 账号密码登录
- 二维码登录
- 验证码提交
- 设备锁验证
- 错误信息解析
- 文本
- 表情
- At
- 回复
- 匿名
- 骰子
- 石头剪刀布
- 图片
- 语音
- 长消息(仅支持群聊发送)
- 合并转发(仅支持群聊发送)
- 链接分享
- 小程序(暂只支持RAW)
- 短视频
- 群文件(上传与接收信息)
支持使用 ricq 的事件处理(
Handler
)处理事件,以下为chocho_event
的实现进度
- 群消息
- 好友消息
- 新好友请求
- 收到其他用户进群请求
- 新好友
- 群禁言
- 好友消息撤回
- 群消息撤回
- 收到邀请进群请求
- 群名称变更
- 好友删除
- 群成员权限变更
- 新成员进群/退群
- 登录号加群
- 临时会话消息
- 群解散
- 登录号退群(包含T出)
- 客户端离线
- 群提示 (戳一戳/运气王等)
- 修改昵称
- 设置在线状态
- 修改个人资料
- 修改个性签名
- 发送好友消息
- 获取好友列表/分组
- 添加/删除/重命名好友分组
- 获取好友个性签名
- 戳一戳好友
- 发送好友语音
- 下载好友语音
- 好友链接分享
- 好友音乐分享
- 撤回好友消息
- 处理好友请求
- 删除好友
- 获取陌生人信息
为防止滥用,将不支持主动邀请新成员进群
- 发送群消息
- 获取群列表
- 获取群成员列表
- 获取群管理员列表
- 群成员禁言/解除禁言
- 踢出群成员
- 戳一戳群友
- 发送群语音
- 下载群语音
- 群链接分享
- 群音乐分享
- 群匿名消息
- 群打卡
- 设置/取消群管理员
- 设置群公告
- 设置群名称
- 全员禁言
- 获取群@全体剩余次数
- 修改群成员头衔
- 获取群成员信息。
- 设置群精华消息
- 发送临时会话消息
- 修改群成员名片
- 撤回群消息
- 处理被邀请加群请求
- 处理加群请求
- 获取群荣誉 (龙王/群聊火焰等)
- 获取群文件下载链接
-
群成员邀请
- 翻译
- OCR