Skip to main content

OnebotTrait

Trait OnebotTrait 

Source
pub trait OnebotTrait: CanSendApi {
Show 40 methods // Provided methods fn send_group_msg_return<T>( &self, group_id: i64, msg: T, ) -> impl Future<Output = Result<i32, ApiReturn>> where KoviMessage: From<T>, T: Serialize { ... } fn send_private_msg_return<T>( &self, user_id: i64, msg: T, ) -> impl Future<Output = Result<i32, ApiReturn>> where KoviMessage: From<T>, T: Serialize { ... } fn can_send_image(&self) -> impl Future<Output = Result<bool, ApiReturn>> { ... } fn can_send_record(&self) -> impl Future<Output = Result<bool, ApiReturn>> { ... } fn send_group_msg<T>(&self, group_id: i64, msg: T) where KoviMessage: From<T>, T: Serialize { ... } fn send_private_msg<T>(&self, user_id: i64, msg: T) where KoviMessage: From<T>, T: Serialize { ... } fn delete_msg(&self, message_id: i32) { ... } fn send_like(&self, user_id: i64, times: usize) { ... } fn set_group_kick( &self, group_id: i64, user_id: i64, reject_add_request: bool, ) { ... } fn set_group_ban(&self, group_id: i64, user_id: i64, duration: usize) { ... } fn set_group_anonymous_ban_use_anonymous( &self, group_id: i64, anonymous: Value, duration: usize, ) { ... } fn set_group_anonymous_ban_use_flag( &self, group_id: i64, flag: &str, duration: usize, ) { ... } fn set_group_whole_ban(&self, group_id: i64, enable: bool) { ... } fn set_group_admin(&self, group_id: i64, user_id: i64, enable: bool) { ... } fn set_group_anonymous(&self, group_id: i64, enable: bool) { ... } fn set_group_card(&self, group_id: i64, user_id: i64, card: &str) { ... } fn set_group_name(&self, group_id: i64, group_name: &str) { ... } fn set_group_leave(&self, group_id: i64, is_dismiss: bool) { ... } fn set_group_special_title( &self, group_id: i64, user_id: i64, special_title: &str, ) { ... } fn set_friend_add_request(&self, flag: &str, approve: bool, remark: &str) { ... } fn set_group_add_request( &self, flag: &str, type_: AddRequestType<'_>, approve: bool, reason: &str, ) { ... } fn clean_cache(&self) { ... } fn get_msg( &self, message_id: i32, ) -> impl Future<Output = Result<ApiReturn, ApiReturn>> { ... } fn get_forward_msg( &self, id: &str, ) -> impl Future<Output = Result<ApiReturn, ApiReturn>> { ... } fn get_login_info( &self, ) -> impl Future<Output = Result<ApiReturn, ApiReturn>> { ... } fn get_stranger_info( &self, user_id: i64, no_cache: bool, ) -> impl Future<Output = Result<ApiReturn, ApiReturn>> { ... } fn get_friend_list( &self, ) -> impl Future<Output = Result<ApiReturn, ApiReturn>> { ... } fn get_group_info( &self, group_id: i64, no_cache: bool, ) -> impl Future<Output = Result<ApiReturn, ApiReturn>> { ... } fn get_group_list( &self, ) -> impl Future<Output = Result<ApiReturn, ApiReturn>> { ... } fn get_group_member_info( &self, group_id: i64, user_id: i64, no_cache: bool, ) -> impl Future<Output = Result<ApiReturn, ApiReturn>> { ... } fn get_group_member_list( &self, group_id: i64, ) -> impl Future<Output = Result<ApiReturn, ApiReturn>> { ... } fn get_group_honor_info( &self, group_id: i64, honor_type: HonorType, ) -> impl Future<Output = Result<ApiReturn, ApiReturn>> { ... } fn get_credentials( &self, domain: &str, ) -> impl Future<Output = Result<ApiReturn, ApiReturn>> { ... } fn get_status(&self) -> impl Future<Output = Result<ApiReturn, ApiReturn>> { ... } fn get_version_info( &self, ) -> impl Future<Output = Result<ApiReturn, ApiReturn>> { ... } fn get_cookies( &self, domain: &str, ) -> impl Future<Output = Result<ApiReturn, ApiReturn>> { ... } fn get_csrf_token( &self, ) -> impl Future<Output = Result<ApiReturn, ApiReturn>> { ... } fn get_record( &self, file: &str, out_format: &str, ) -> impl Future<Output = Result<ApiReturn, ApiReturn>> { ... } fn get_image( &self, file: &str, ) -> impl Future<Output = Result<ApiReturn, ApiReturn>> { ... } fn send_like_return( &self, user_id: i64, times: usize, ) -> impl Future<Output = Result<ApiReturn, ApiReturn>> { ... }
}
Expand description

Kovi提供解析过的返回值的api

Provided Methods§

Source

fn send_group_msg_return<T>( &self, group_id: i64, msg: T, ) -> impl Future<Output = Result<i32, ApiReturn>>
where KoviMessage: From<T>, T: Serialize,

发送群组消息, 并返回消息ID

Source

fn send_private_msg_return<T>( &self, user_id: i64, msg: T, ) -> impl Future<Output = Result<i32, ApiReturn>>
where KoviMessage: From<T>, T: Serialize,

发送私聊消息, 并返回消息ID

Source

fn can_send_image(&self) -> impl Future<Output = Result<bool, ApiReturn>>

是否能发送图片

Source

fn can_send_record(&self) -> impl Future<Output = Result<bool, ApiReturn>>

是否能发送语音

Source

fn send_group_msg<T>(&self, group_id: i64, msg: T)
where KoviMessage: From<T>, T: Serialize,

发送群组消息,如果需要返回消息id,请使用send_group_msg_return()

Source

fn send_private_msg<T>(&self, user_id: i64, msg: T)
where KoviMessage: From<T>, T: Serialize,

发送私聊消息,如果需要返回消息id,请使用send_private_msg_return()

Source

fn delete_msg(&self, message_id: i32)

撤回消息

§Arguments

message_id: 消息 ID

Source

fn send_like(&self, user_id: i64, times: usize)

点赞,有些服务端会返回点赞失败,所以需要返回值的话请使用 send_like_return()

§Arguments

user_id

times: 次数

Source

fn set_group_kick(&self, group_id: i64, user_id: i64, reject_add_request: bool)

群组踢人

§Arguments

group_id

user_id

reject_add_request: 是否拒绝此人的加群请求,传入true则拒绝

Source

fn set_group_ban(&self, group_id: i64, user_id: i64, duration: usize)

群组单人禁言

§Arguments

group_id

user_id

duration: 禁言时长,单位秒,0 表示取消禁言

Source

fn set_group_anonymous_ban_use_anonymous( &self, group_id: i64, anonymous: Value, duration: usize, )

群组匿名用户禁言

§Arguments

group_id

anonymous: 要禁言的匿名用户对象(群消息上报的 anonymous 字段)

enable: 是否禁言

Source

fn set_group_anonymous_ban_use_flag( &self, group_id: i64, flag: &str, duration: usize, )

群组匿名用户禁言

§Arguments

group_id

flag: 要禁言的匿名用户的 flag(需从群消息上报的数据中获得)

enable: 是否禁言

Source

fn set_group_whole_ban(&self, group_id: i64, enable: bool)

群组全员禁言

§Arguments

group_id

enable: 是否禁言

Source

fn set_group_admin(&self, group_id: i64, user_id: i64, enable: bool)

群组设置管理员

§Arguments

group_id

user_id

enable: true 为设置,false 为取消

Source

fn set_group_anonymous(&self, group_id: i64, enable: bool)

群组匿名

§Arguments

group_id

enable: true 为设置,false 为取消

Source

fn set_group_card(&self, group_id: i64, user_id: i64, card: &str)

设置群名片(群备注)

§Arguments

group_id

user_id

card: 群名片内容,不填或空字符串表示删除群名片

Source

fn set_group_name(&self, group_id: i64, group_name: &str)

设置群名

§Arguments

group_id

group_name: 新群名

Source

fn set_group_leave(&self, group_id: i64, is_dismiss: bool)

退出群组

§Arguments

group_id

is_dismiss: 是否解散,如果登录号是群主,则仅在此项为 true 时能够解散

Source

fn set_group_special_title( &self, group_id: i64, user_id: i64, special_title: &str, )

设置群组专属头衔

§Arguments

group_id

user_id

special_title: 专属头衔,空字符串表示删除专属头衔

Source

fn set_friend_add_request(&self, flag: &str, approve: bool, remark: &str)

处理加好友请求

§Arguments

flag: 加好友请求的 flag(需从上报的数据中获得)

approve: 是否同意请求

remark: 添加后的好友备注(仅在同意时有效)

Source

fn set_group_add_request( &self, flag: &str, type_: AddRequestType<'_>, approve: bool, reason: &str, )

处理加群请求/邀请

§Arguments

flag: 加群请求的 flag(需从上报的数据中获得)

type: add 或 invite,请求类型(需要和上报消息中的 sub_type 或 type 字段相符),由于不同服务端实现不一样,Kovi 提供一个枚举,使用需注意服务端要求是 sub_type 还是 type

approve: 是否同意请求/邀请

remark: 可为空, 拒绝理由(仅在拒绝时有效)

Source

fn clean_cache(&self)

清理缓存

用于清理积攒了太多的OneBot服务端缓存文件。并非是对于本框架清除

Source

fn get_msg( &self, message_id: i32, ) -> impl Future<Output = Result<ApiReturn, ApiReturn>>

获取消息

§Arguments

message_id: 消息ID

Source

fn get_forward_msg( &self, id: &str, ) -> impl Future<Output = Result<ApiReturn, ApiReturn>>

获取合并转发消息

§Arguments

id: 合并转发 ID

Source

fn get_login_info(&self) -> impl Future<Output = Result<ApiReturn, ApiReturn>>

获取获取登录号信息

Source

fn get_stranger_info( &self, user_id: i64, no_cache: bool, ) -> impl Future<Output = Result<ApiReturn, ApiReturn>>

获取获取陌生人信息

§Arguments

user_id

no_cache: 是否不使用缓存(使用缓存可能更新不及时,但响应更快)

Source

fn get_friend_list(&self) -> impl Future<Output = Result<ApiReturn, ApiReturn>>

获取好友列表

Source

fn get_group_info( &self, group_id: i64, no_cache: bool, ) -> impl Future<Output = Result<ApiReturn, ApiReturn>>

获取群信息

§Arguments

group_id

no_cache: 是否不使用缓存(使用缓存可能更新不及时,但响应更快)

Source

fn get_group_list(&self) -> impl Future<Output = Result<ApiReturn, ApiReturn>>

获取群列表

Source

fn get_group_member_info( &self, group_id: i64, user_id: i64, no_cache: bool, ) -> impl Future<Output = Result<ApiReturn, ApiReturn>>

获取群成员信息

§Arguments

group_id

user_id

no_cache: 是否不使用缓存(使用缓存可能更新不及时,但响应更快)

Source

fn get_group_member_list( &self, group_id: i64, ) -> impl Future<Output = Result<ApiReturn, ApiReturn>>

获取群成员列表

§Arguments

group_id

Source

fn get_group_honor_info( &self, group_id: i64, honor_type: HonorType, ) -> impl Future<Output = Result<ApiReturn, ApiReturn>>

获取群荣誉信息

§Arguments

group_id

honor_type: 要获取的群荣誉类型,可传入 talkative performer legend strong_newbie emotion 以分别获取单个类型的群荣誉数据,或传入 all 获取所有数据。本框架已包装好了HonorType枚举

Source

fn get_credentials( &self, domain: &str, ) -> impl Future<Output = Result<ApiReturn, ApiReturn>>

获取相关接口凭证, 即 Cookies 和 CSRF Token 的合并。

§Arguments

domain: 需要获取 cookies 的域名

Source

fn get_status(&self) -> impl Future<Output = Result<ApiReturn, ApiReturn>>

获取运行状态

Source

fn get_version_info(&self) -> impl Future<Output = Result<ApiReturn, ApiReturn>>

获取版本信息

Source

fn get_cookies( &self, domain: &str, ) -> impl Future<Output = Result<ApiReturn, ApiReturn>>

获取 Cookies

§Arguments

domain: 需要获取 cookies 的域名

Source

fn get_csrf_token(&self) -> impl Future<Output = Result<ApiReturn, ApiReturn>>

获取 CSRF Token

Source

fn get_record( &self, file: &str, out_format: &str, ) -> impl Future<Output = Result<ApiReturn, ApiReturn>>

获取语音

§Arguments

file: 收到的语音文件名(消息段的 file 参数),如 0B38145AA44505000B38145AA4450500.silk

out_format: 要转换到的格式,目前支持 mp3amrwmam4aspxoggwavflac

Source

fn get_image( &self, file: &str, ) -> impl Future<Output = Result<ApiReturn, ApiReturn>>

获取图片

§Arguments

file: 收到的图片文件名(消息段的 file 参数),如 6B4DE3DFD1BD271E3297859D41C530F5.jpg

Source

fn send_like_return( &self, user_id: i64, times: usize, ) -> impl Future<Output = Result<ApiReturn, ApiReturn>>

点赞,有些服务端会返回点赞失败,不关注返回值的话请使用 send_like()

§Arguments

user_id

times: 次数

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl OnebotTrait for RuntimeBot

Implementors§