OneBot API 列表
ApiReturn 结构体
pub struct ApiReturn {
pub status: String,
pub retcode: i32,
pub data: Value,
pub echo: String,
}
Kovi 处理返回值的 API
bot.send_group_msg_return()
发送群组消息, 并返回消息 ID
向指定的群组发送消息,并返回消息的 ID。
参数
group_id
: 目标群组的 ID。msg
: 要发送的消息内容。
返回
Result<i32, ApiReturn>
: 如果操作成功,将返回消息的 ID,类型为i32
。如果操作失败,将返回ApiReturn
。
bot.send_private_msg_return()
发送私聊消息, 并返回消息 ID
向指定用户发送私聊消息,并返回消息的 ID。
参数
user_id
: 目标用户的 ID。msg
: 要发送的消息内容。
返回
Result<i32, ApiReturn>
: 如果操作成功,将返回消息的 ID,类型为i32
。如果操作失败,将返回ApiReturn
。
bot.can_send_image()
是否能发送图片
检查当前账号是否能够发送图片。
返回
Result<bool, ApiReturn>
: 如果操作成功,将返回bool
类型的结果,true
表示可以发送图片,false
表示不能发送图片。如果操作失败,将返回ApiReturn
。
bot.can_send_record()
是否能发送语音
检查当前账号是否能够发送语音消息。
返回
Result<bool, ApiReturn>
: 如果操作成功,将返回bool
类型的结果,true
表示可以发送语音,false
表示不能发送语音。如果操作失败,将返回ApiReturn
。
无返回值的 API
bot.send_group_msg()
发送群组消息
发送群组消息。如果需要返回消息 ID,请使用 send_group_msg_return()
方法。
参数
group_id
: 目标群组的 ID。msg
: 要发送的消息内容。
bot.send_private_msg()
发送私聊消息
发送私聊消息。如果需要返回消息 ID,请使用 send_private_msg_return()
方法。
参数
user_id
: 目标用户的 ID。msg
: 要发送的消息内容。
bot.delete_msg()
撤回消息
撤回指定的消息。
参数
message_id
: 要撤回的消息 ID。
bot.send_like()
点赞
对指定用户进行点赞。有些服务端会返回点赞失败,所以需要返回值的话请使用 send_like_return()
参数
user_id
: 被点赞的用户 ID。times
: 点赞的次数。
bot.set_group_kick()
群组踢人
将指定用户从群组中踢出。
参数
group_id
: 群组的 ID。user_id
: 被踢出的用户 ID。reject_add_request
: 是否拒绝此人的加群请求。如果传入true
,则拒绝此人再次加入该群组。
bot.set_group_ban()
群组单人禁言
对群组中的指定用户进行禁言或取消禁言。
参数
group_id
: 群组的 ID。user_id
: 需要禁言或取消禁言的用户 ID。duration
: 禁言时长,单位为秒。0
表示取消禁言。
bot.set_group_anonymous_ban_use_anonymous()
群组匿名用户禁言
对群组中的匿名用户进行禁言或取消禁言。
参数
group_id
: 群组的 ID。anonymous
: 要禁言的匿名用户对象(群消息上报的 anonymous 字段)。duration
: 禁言时长,单位为秒。0
表示取消禁言。enable
: 是否禁言,传入true
表示禁言,false
表示取消禁言。
bot.set_group_anonymous_ban_use_flag()
群组匿名用户禁言
对群组中的匿名用户进行禁言或取消禁言。
参数
group_id
: 群组的 ID。flag
: 要禁言的匿名用户的标识(需要从群消息上报的数据中获得)。duration
: 禁言时长,单位为秒。0
表示取消禁言。enable
: 是否禁言,传入true
表示禁言,false
表示取消禁言。
bot.set_group_whole_ban()
群组全员禁言
对群组中的所有成员进行禁言或取消禁言。
参数
group_id
: 群组的 ID。enable
: 是否禁言,传入true
表示全员禁言,false
表示取消禁言。
bot.set_group_admin()
群组设置管理员
设置或取消群组中的管理员权限。
参数
group_id
: 群组的 ID。user_id
: 需要设置或取消管理员权限的用户 ID。enable
: 是否设置管理员,传入true
表示设置为管理员,false
表示取消管理员权限。
bot.set_group_anonymous()
群组匿名
设置或取消群组中的匿名状态。
参数
group_id
: 群组的 ID。enable
: 是否启用匿名,传入true
表示启用匿名,false
表示取消匿名。
bot.set_group_card()
设置群名片(群备注)
设置或删除群组中的用户名片(群备注)。
参数
group_id
: 群组的 ID。user_id
: 需要设置或删除群名片的用户 ID。card
: 群名片内容。如果不填或传入空字符串,则表示删除群名片。
bot.set_group_name()
设置群名
设置群组的新名称。
参数
group_id
: 群组的 ID。group_name
: 新的群组名称。
bot.set_group_leave()
退出群组
退出指定的群组,或解散群组(如果权限允许)。
参数
group_id
: 群组的 ID。is_dismiss
: 是否解散群组。如果登录号是群主,则仅在此项为true
时能够解散群组。
bot.set_group_special_title()
设置群组专属头衔
设置或删除群组成员的专属头衔。
参数
group_id
: 群组的 ID。user_id
: 需要设置或删除专属头衔的用户 ID。special_title
: 专属头衔内容。传入空字符串表示删除专属头衔。
bot.set_friend_add_request()
处理加好友请求
处理收到的加好友请求。
参数
flag
: 加好友请求的标识(需从上报的数据中获得)。approve
: 是否同意请求。传入true
表示同意,false
表示拒绝。remark
: 添加后的好友备注,仅在同意请求时有效。如果不同意请求,此参数将被忽略。
bot.set_group_add_request()
处理加群请求/邀请
处理收到的加群请求或邀请。
参数
flag
: 加群请求的标识(需从上报的数据中获得)。type
: add 或 invite,请求类型(需要和上报消息中的 sub_type 或 type 字段相符),由于不同服务端实现不一样,Kovi 提供一个枚举,使用需注意服务端要求是 sub_type 还是 type 。approve
: 是否同意请求或邀请。传入true
表示同意,false
表示拒绝。reason
: 拒绝理由。仅在拒绝时有效。可以为空字符串。
bot.clean_cache()
清理缓存
清理积攒的 OneBot 服务端 缓存文件。并非是对于本框架清除。
有返回值的 API
有返回值的 Api ,Kovi 会帮忙简单判断一下返回的 "status" 是不是 "ok", 如果不是,将会返回 Err(ApiReturn)
具体返回了什么值,请查看 OneBot v11 文档 或者服务端文档
bot.get_msg()
获取消息
获取指定的消息内容。
参数
message_id
: 消息的 ID。
返回
Result<ApiReturn, ApiReturn>
bot.get_forward_msg()
获取合并转发消息
获取指定的合并转发消息内容。
参数
id
: 合并转发的 ID。
返回
Result<ApiReturn, ApiReturn>
bot.get_login_info()
获取登录号信息
获取当前登录号的信息。
返回
Result<ApiReturn, ApiReturn>
bot.get_stranger_info()
获取陌生人信息
获取指定陌生人的信息。
参数
user_id
: 陌生人的用户 ID。no_cache
: 是否不使用缓存(使用缓存可能更新不及时,但响应更快)。
返回
Result<ApiReturn, ApiReturn>
bot.get_friend_list()
获取好友列表
获取当前登录号的好友列表。
返回
Result<ApiReturn, ApiReturn>
bot.get_group_info()
获取群信息
获取指定群组的信息。
参数
group_id
: 群组的 ID。no_cache
: 是否不使用缓存。传入true
表示不使用缓存(可能获取到更及时的信息但响应较慢),传入false
表示使用缓存(响应较快但信息可能不及时)。
返回
Result<ApiReturn, ApiReturn>
bot.get_group_list()
获取群列表
获取当前登录号所在的群组列表。
返回
Result<ApiReturn, ApiReturn>
bot.get_group_member_info()
获取群成员信息
获取指定群组中某个成员的信息。
参数
group_id
: 群组的 ID。user_id
: 群组成员的用户 ID。no_cache
: 是否不使用缓存。传入true
表示不使用缓存(可能获取到更及时的信息但响应较慢),传入false
表示使用缓存(响应较快但信息可能不及时)。
返回
Result<ApiReturn, ApiReturn>
bot.get_group_member_list()
获取群成员列表
获取指定群组中的所有成员列表。
参数
group_id
: 群组的 ID。
返回
Result<ApiReturn, ApiReturn>
bot.get_group_honor_info()
获取群荣誉信息
获取指定群组的荣誉信息。
参数
group_id
: 群组的 ID。honor_type
: 要获取的群荣誉类型。本框架已包装好了HonorType
枚举
返回
Result<ApiReturn, ApiReturn>
bot.get_credentials()
获取相关接口凭证
获取合并后的接口凭证,包括 Cookies 和 CSRF Token。
参数
domain
: 需要获取 Cookies 的域名。
返回
Result<ApiReturn, ApiReturn>
bot.get_status()
获取运行状态
获取当前运行状态的信息。
返回
Result<ApiReturn, ApiReturn>
bot.get_version_info()
获取版本信息
获取当前版本的信息。
返回
Result<ApiReturn, ApiReturn>
bot.get_cookies()
获取 Cookies
获取指定域名的 Cookies。
参数
domain
: 需要获取 Cookies 的域名。
返回
Result<ApiReturn, ApiReturn>
bot.get_csrf_token()
获取 CSRF Token
获取 CSRF Token。
返回
Result<ApiReturn, ApiReturn>
bot.get_record()
获取语音
获取并转换语音文件。
参数
file
: 收到的语音文件名(消息段的file
参数),例如0B38145AA44505000B38145AA4450500.silk
。out_format
: 要转换到的格式,支持mp3
、amr
、wma
、m4a
、spx
、ogg
、wav
、flac
,具体请查看 OneBot 服务端。
返回
Result<ApiReturn, ApiReturn>
bot.get_image()
获取图片
获取指定的图片文件。
参数
file
: 收到的图片文件名(消息段的file
参数),例如6B4DE3DFD1BD271E3297859D41C530F5.jpg
。Result<ApiReturn, ApiReturn>