pub struct Engine {
pub uin: AtomicI64,
pub transport: Transport,
pub seq_id: AtomicU16,
pub request_packet_request_id: AtomicI32,
pub group_seq: AtomicI32,
pub friend_seq: AtomicI32,
pub group_data_trans_seq: AtomicI32,
pub highway_apply_up_seq: AtomicI32,
}Fields
uin: AtomicI64transport: Transportseq_id: AtomicU16request_packet_request_id: AtomicI32group_seq: AtomicI32friend_seq: AtomicI32group_data_trans_seq: AtomicI32highway_apply_up_seq: AtomicI32Implementations
sourceimpl Engine
impl Engine
pub fn decode_push_req_packet(&self, payload: Bytes) -> RQResult<ConfigPushReq>
sourceimpl Engine
impl Engine
pub fn build_friend_group_list_request_packet(
&self,
friend_start_index: i16,
friend_list_count: i16,
group_start_index: i16,
group_list_count: i16
) -> Packet
pub fn build_group_list_request_packet(&self, vec_cookie: &[u8]) -> Packet
pub fn build_group_member_list_request_packet(
&self,
group_code: i64,
next_uin: i64
) -> Packet
pub fn build_edit_group_tag_packet(
&self,
group_code: i64,
member_uin: i64,
new_tag: String
) -> Packet
pub fn build_delete_friend_packet(&self, del_uin: i64) -> Packet
sourcepub fn build_friend_list_add_group_req_packet(
&self,
sort_id: u8,
group_name: &str
) -> Packet
pub fn build_friend_list_add_group_req_packet(
&self,
sort_id: u8,
group_name: &str
) -> Packet
添加好友分组
sourcepub fn build_friend_list_rename_group_req_packet(
&self,
group_id: u8,
group_name: &str
) -> Packet
pub fn build_friend_list_rename_group_req_packet(
&self,
group_id: u8,
group_name: &str
) -> Packet
重命名好友分组
sourcepub fn build_friend_list_del_group_req_packet(&self, group_id: u8) -> Packet
pub fn build_friend_list_del_group_req_packet(&self, group_id: u8) -> Packet
删除好友分组
sourceimpl Engine
impl Engine
pub fn decode_friend_group_list_response(
&self,
payload: Bytes
) -> RQResult<FriendListResponse>
pub fn decode_group_list_response(
&self,
payload: Bytes
) -> RQResult<GroupListResponse>
pub fn decode_group_member_list_response(
&self,
payload: Bytes,
group_owner_uin: i64
) -> RQResult<GroupMemberListResponse>
pub fn decode_remove_friend(&self, payload: Bytes) -> RQResult<DelFriendResp>
sourceimpl Engine
impl Engine
pub fn build_group_member_info_request_packet(
&self,
group_code: i64,
uin: i64
) -> Packet
sourceimpl Engine
impl Engine
pub fn decode_group_member_info_response(
&self,
payload: Bytes
) -> RQResult<GroupMemberInfo>
sourceimpl Engine
impl Engine
pub fn build_heartbeat_packet(&self) -> Packet
sourceimpl Engine
impl Engine
pub fn decode_group_image_store_response(
&self,
payload: Bytes
) -> RQResult<GroupImageStoreResp>
sourceimpl Engine
impl Engine
pub fn decode_off_pic_up_response(
&self,
payload: Bytes
) -> RQResult<OffPicUpResp>
sourceimpl Engine
impl Engine
pub fn build_group_sending_packet(
&self,
group_code: i64,
elems: Vec<Elem>,
ptt: Option<Ptt>,
ran: i32,
pkg_num: i32,
pkg_index: i32,
pkg_div: i32,
forward: bool
) -> Packet
pub fn build_get_message_request_packet(&self, flag: i32, time: i64) -> Packet
pub fn build_delete_message_request_packet(
&self,
items: Vec<MessageItem>
) -> Packet
pub fn build_send_message_packet(
&self,
routing_head: RoutingHead,
elems: Vec<Elem>,
ptt: Option<Ptt>,
seq: i32,
ran: i32,
time: i64
) -> Packet
pub fn build_get_group_msg_request(
&self,
group_code: i64,
begin_seq: i64,
end_seq: i64
) -> Packet
pub fn build_friend_recall_packet(
&self,
uin: i64,
msg_time: i64,
seqs: Vec<i32>,
rands: Vec<i32>
) -> Packet
pub fn build_group_recall_packet(
&self,
group_code: i64,
seqs: Vec<i32>,
rands: Vec<i32>
) -> Packet
sourceimpl Engine
impl Engine
pub fn decode_svc_notify(&self, payload: Bytes) -> RQResult<RequestPushNotify>
pub fn decode_force_offline(
&self,
payload: Bytes
) -> RQResult<RequestPushForceOffline>
pub fn decode_message_svc_packet(
&self,
payload: Bytes
) -> RQResult<MessageSyncResponse>
sourceimpl Engine
impl Engine
pub fn build_multi_msg_apply_down_req(&self, res_id: String) -> Packet
pub fn build_multi_msg_apply_up_req(
&self,
msg_size: i64,
msg_md5: Vec<u8>,
bu_type: i32,
dst_uin: i64
) -> Packet
pub fn calculate_validation_data(
&self,
messages: Vec<ForwardMessage>,
group_code: i64
) -> Vec<u8>
sourceimpl Engine
impl Engine
pub fn decode_multi_msg_apply_down_resp(
&self,
payload: Bytes
) -> RQResult<MultiMsgApplyDownRsp>
pub fn decode_multi_msg_apply_up_resp(
&self,
payload: Bytes
) -> RQResult<MultiMsgApplyUpRsp>
sourceimpl Engine
impl Engine
pub fn build_update_profile_detail_packet(
&self,
profile: ProfileDetailUpdate
) -> Packet
pub fn build_group_info_request_packet(&self, group_codes: Vec<i64>) -> Packet
pub fn build_group_mute_packet(
&self,
group_code: i64,
member_uin: i64,
duration: u32
) -> Packet
pub fn build_group_mute_all_packet(&self, group_code: i64, mute: bool) -> Packet
pub fn build_group_name_update_packet(
&self,
group_code: i64,
name: String
) -> Packet
pub fn build_group_memo_update_packet(
&self,
group_code: i64,
memo: String
) -> Packet
pub fn build_group_kick_packet(
&self,
group_code: i64,
member_uins: Vec<i64>,
kick_msg: &str,
block: bool
) -> Packet
pub fn build_group_poke_packet(&self, group_code: i64, target: i64) -> Packet
pub fn build_friend_poke_packet(&self, target: i64) -> Packet
pub fn build_group_admin_set_packet(
&self,
group_code: i64,
member: i64,
flag: bool
) -> Packet
pub fn build_group_invite_packet(&self, group_code: i64, uin: i64) -> Packet
pub fn build_group_at_all_remain_request_packet(
&self,
group_code: i64
) -> Packet
pub fn build_edit_special_title_packet(
&self,
group_code: i64,
member_uin: i64,
new_title: String
) -> Packet
pub fn build_translate_request_packet(
&self,
src_language: String,
dst_language: String,
src_text_list: Vec<String>
) -> Packet
pub fn build_essence_msg_operate_packet(
&self,
group_code: i64,
msg_seq: i32,
msg_rand: i32,
flag: bool
) -> Packet
pub fn build_image_ocr_request_packet(
&self,
url: String,
md5: String,
size: i32,
wight: i32,
height: i32
) -> Packet
pub fn build_get_group_admin_list_request_packet(
&self,
group_code: u64
) -> Packet
pub fn build_group_sign_in_packet(&self, group_code: i64) -> Packet
sourceimpl Engine
impl Engine
pub fn decode_group_info_response(
&self,
payload: Bytes
) -> RQResult<Vec<GroupInfo>>
pub fn decode_group_at_all_remain_response(
&self,
payload: Bytes
) -> RQResult<GroupAtAllRemainInfo>
pub fn decode_translate_response(&self, payload: Bytes) -> RQResult<Vec<String>>
pub fn decode_essence_msg_response(
&self,
payload: Bytes
) -> RQResult<EacRspBody>
pub fn decode_image_ocr_response(&self, payload: Bytes) -> RQResult<OcrResponse>
pub fn decode_get_group_admin_list_response(
&self,
payload: Bytes
) -> RQResult<HashMap<i64, GroupMemberPermission>>
sourceimpl Engine
impl Engine
pub fn build_delete_online_push_packet(
&self,
uin: i64,
svrip: i32,
push_token: Bytes,
seq: u16,
del_msg: Vec<PushMessageInfo>
) -> Packet
pub fn build_sid_ticket_expired_response(&self, seq: i32) -> Packet
sourceimpl Engine
impl Engine
pub fn decode_group_message_packet(
&self,
payload: Bytes
) -> RQResult<GroupMessagePart>
pub fn decode_online_push_req_packet(&self, payload: Bytes) -> RQResult<ReqPush>
pub fn decode_online_push_trans_packet(
&self,
payload: Bytes
) -> RQResult<OnlinePushTrans>
pub fn decode_c2c_sync_packet(&self, payload: Bytes) -> RQResult<PbPushMsg>
sourceimpl Engine
impl Engine
pub fn build_group_msg_readed_packet(
&self,
group_code: i64,
msg_seq: i32
) -> Packet
pub fn build_friend_msg_readed_packet(&self, uin: i64, time: i64) -> Packet
sourceimpl Engine
impl Engine
pub fn build_system_msg_new_group_packet(&self, suspicious: bool) -> Packet
pub fn build_system_msg_new_friend_packet(&self) -> Packet
pub fn build_system_msg_group_action_packet(
&self,
msg_seq: i64,
req_uin: i64,
group_code: i64,
msg_type: i32,
is_invite: bool,
accept: bool,
block: bool,
reason: String
) -> Packet
pub fn build_system_msg_friend_action_packet(
&self,
req_id: i64,
req_uin: i64,
accept: bool
) -> Packet
pub fn build_quit_group_packet(&self, group_code: i64) -> Packet
pub fn build_get_rich_sig_request_packet(&self, user_ids: Vec<i64>) -> Packet
sourceimpl Engine
impl Engine
pub fn decode_system_msg_group_packet(
&self,
payload: Bytes
) -> RQResult<GroupSystemMessages>
pub fn decode_system_msg_friend_packet(
&self,
payload: Bytes
) -> RQResult<FriendSystemMessages>
pub fn decode_get_rich_sig_response_packet(
&self,
payload: Bytes
) -> RQResult<Vec<RichSigInfo>>
sourceimpl Engine
impl Engine
pub fn build_group_video_store_packet(
&self,
short_video_up_req: ShortVideoUploadReq
) -> Packet
pub fn build_short_video_up_req(
&self,
to_uin: i64,
file_md5: Vec<u8>,
thumb_file_md5: Vec<u8>,
file_size: i64,
thumb_file_size: i64
) -> ShortVideoUploadReq
pub fn build_c2c_ptt_down_req(
&self,
sender_uin: i64,
file_uuid: Vec<u8>
) -> Packet
sourceimpl Engine
impl Engine
pub fn decode_group_video_store_response(
&self,
payload: Bytes
) -> RQResult<ShortVideoUploadRsp>
pub fn decode_c2c_ptt_down(&self, payload: Bytes) -> RQResult<String>
sourceimpl Engine
impl Engine
pub fn build_group_try_up_ptt_req(
&self,
group_code: i64,
file_md5: Vec<u8>,
file_size: u64,
codec: u32,
voice_length: u32
) -> Bytes
pub fn build_friend_try_up_ptt_req(
&self,
target: i64,
file_md5: Vec<u8>,
file_size: i64,
voice_length: i32
) -> Bytes
pub fn build_group_ptt_down_req(
&self,
group_code: i64,
file_md5: Vec<u8>
) -> Packet
sourceimpl Engine
impl Engine
pub fn build_get_offline_msg_request_packet(
&self,
last_message_time: i64
) -> Packet
pub fn build_sync_msg_request_packet(&self, last_message_time: i64) -> Packet
sourceimpl Engine
impl Engine
pub fn decode_push_param_packet(
&self,
payload: &[u8]
) -> RQResult<Vec<OtherClientInfo>>
sourceimpl Engine
impl Engine
pub fn build_set_online_status_packet(
&self,
online_status: i32,
ext_online_status: i64,
custom_status: Option<CustomOnlineStatus>
) -> Packet
pub fn build_client_register_packet(&self) -> Packet
pub fn build_device_list_request_packet(&self) -> Packet
pub fn build_msf_force_offline_rsp(&self, uin: i64, seq_no: i64) -> Packet
sourceimpl Engine
impl Engine
pub fn decode_client_register_response(
&self,
payload: Bytes
) -> RQResult<SvcRespRegister>
pub fn decode_dev_list_response(
&self,
payload: Bytes
) -> RQResult<Vec<SvcDevLoginInfo>>
pub fn decode_msf_force_offline(
&self,
payload: Bytes
) -> RQResult<RequestMSFForceOffline>
sourceimpl Engine
impl Engine
pub fn decode_summary_card_response(
&self,
payload: Bytes
) -> RQResult<SummaryCardInfo>
sourceimpl Engine
impl Engine
pub fn build_qrcode_fetch_request_packet(&self) -> Packet
pub fn build_qrcode_result_query_request_packet(&self, sig: &[u8]) -> Packet
pub fn build_qrcode_login_packet(
&self,
t106: &[u8],
t16a: &[u8],
t318: &[u8]
) -> Packet
pub fn build_device_lock_login_packet(&self) -> Packet
pub fn build_captcha_packet(&self, result: String, sign: &[u8]) -> Packet
pub fn build_sms_request_packet(&self) -> Packet
pub fn build_sms_code_submit_packet(&self, code: &str) -> Packet
pub fn build_ticket_submit_packet(&self, ticket: &str) -> Packet
pub fn build_request_tgtgt_no_pic_sig_packet(&self) -> Packet
pub fn build_request_change_sig_packet(
&self,
main_sig_map: Option<u32>
) -> Packet
pub fn build_login_packet(
&self,
password_md5: &[u8],
allow_slider: bool
) -> Packet
sourceimpl Engine
impl Engine
pub fn decode_trans_emp_response(&self, payload: Bytes) -> RQResult<QRCodeState>
pub fn decode_login_response(&self, reader: Bytes) -> RQResult<LoginResponse>
pub fn decode_exchange_emp_response(
&self,
payload: Bytes
) -> RQResult<LoginResponse>
sourceimpl Engine
impl Engine
pub fn process_qrcode_confirmed(&mut self, resp: QRCodeConfirmed)
pub fn process_login_response(&mut self, login_response: LoginResponse)
sourceimpl Engine
impl Engine
pub fn new(device: Device, version: &'static Version) -> Self
pub fn uin(&self) -> i64
pub fn next_seq(&self) -> u16
pub fn next_packet_seq(&self) -> i32
pub fn next_group_seq(&self) -> i32
pub fn next_friend_seq(&self) -> i32
pub fn next_group_data_trans_seq(&self) -> i32
pub fn next_highway_apply_seq(&self) -> i32
pub fn gen_token(&self) -> Token
pub fn load_token(&mut self, token: Token)
Auto Trait Implementations
impl RefUnwindSafe for Engine
impl Send for Engine
impl Sync for Engine
impl Unpin for Engine
impl UnwindSafe for Engine
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more