Skip to content

Commit b65d911

Browse files
committed
解决了应该修复的warning,禁用了不必要的warning
1 parent 2208257 commit b65d911

File tree

6 files changed

+53
-73
lines changed

6 files changed

+53
-73
lines changed

src/cqp.rs

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
1-
#![allow(non_snake_case)]
2-
31
use std::os::raw::c_char;
42

53
pub static EVENT_IGNORE: i32 = 0; //事件_忽略
64
pub static EVENT_BLOCK: i32 = 1; //事件_拦截
75

8-
pub static REQUEST_ALLOW: i32 = 1; //请求_通过
6+
/*pub static REQUEST_ALLOW: i32 = 1; //请求_通过
97
pub static REQUEST_DENY: i32 = 2; //请求_拒绝
108
pub static REQUEST_GROUPADD: i32 = 1; //请求_群添加
11-
pub static REQUEST_GROUPINVITE: i32 = 2; //请求_群邀请
9+
pub static REQUEST_GROUPINVITE: i32 = 2; //请求_群邀请*/
1210

1311
pub static CQLOG_DEBUG: i32 = 0; //调试 灰色
1412
pub static CQLOG_INFO: i32 = 10; //信息 黑色

src/events/discuss_message.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ pub struct DiscussMessageEvent {
1212
}
1313

1414
impl DiscussMessageEvent {
15-
fn get_user() {}
15+
pub fn get_user() {}
1616
//fn get_discuss() {} qq已经放弃讨论组,所以讨论组方面的东西就不写了。
1717
}
1818

src/events/group_ban.rs

-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
use super::{Event, Events};
22
use crate::qqtargets::{Group, User};
3-
use crate::api::{set_group_ban, set_group_whole_ban};
43

54
#[derive(Debug)]
65
pub struct GroupBanEvent {

src/lib.rs

+22-26
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
1+
#![allow(unused_attributes)]
2+
#![allow(non_upper_case_globals)]
13
#![allow(dead_code)]
4+
#![allow(non_snake_case)]
5+
#![allow(non_camel_case_types)]
6+
#![allow(unused_unsafe)]
27

38
#[macro_use]
49
extern crate lazy_static;
@@ -7,7 +12,6 @@ use std::ffi::{CString, CStr};
712
use encoding::{EncoderTrap, DecoderTrap, Encoding};
813
use encoding::all::GB18030;
914

10-
use std::mem;
1115
use std::os::raw::c_char;
1216

1317
use events::*;
@@ -20,35 +24,27 @@ mod listener;
2024

2125
pub use listener::register_listener;
2226

23-
use std::cell::RefCell;
24-
use crate::api::{add_log, CQLogLevel, Flag, get_group_list, send_private_msg, get_stranger_info};
27+
use crate::api::Flag;
2528
use crate::qqtargets::{User, Group, File};
26-
use std::mem::size_of_val;
27-
use std::path::Prefix::DeviceNS;
28-
2929

3030
pub mod qqtargets;
3131

3232
#[macro_export]
3333
macro_rules! gb18030 {
3434
($e:expr) => {
35-
unsafe {
3635
CString::new(GB18030.encode($e, EncoderTrap::Ignore).unwrap())
3736
.unwrap()
3837
.into_raw()
39-
}
4038
};
4139
}
4240

4341
#[macro_export]
4442
macro_rules! utf8 {
4543
($e:expr) => {
46-
unsafe {
4744
GB18030
4845
.decode(CStr::from_ptr($e).to_bytes(), DecoderTrap::Ignore)
4946
.unwrap()[..]
5047
.to_string()
51-
}
5248
};
5349
}
5450

@@ -114,7 +110,7 @@ pub extern "stdcall" fn on_private_msg(
114110
canceld: false,
115111
sub_type: sub_type,
116112
msg_id: msg_id,
117-
msg: utf8!(msg),
113+
msg: unsafe { utf8!(msg) },
118114
font: font,
119115
user: User::new(user_id),
120116
},
@@ -137,11 +133,11 @@ pub extern "stdcall" fn on_group_msg(
137133
canceld: false,
138134
sub_type: sub_type,
139135
msg_id: msg_id,
140-
anonymous_flag: utf8!(anonymous_flag),
141-
msg: utf8!(msg),
136+
anonymous_flag: unsafe { utf8!(anonymous_flag) },
137+
msg: unsafe { utf8!(msg) },
142138
font: font,
143139
group: Group::new(group_id),
144-
user: User::new(user_id)
140+
user: User::new(user_id),
145141
},
146142
)
147143
}
@@ -163,7 +159,7 @@ pub extern "stdcall" fn on_discuss_msg(
163159
msg_id: msg_id,
164160
discuss_id: discuss_id,
165161
user_id: user_id,
166-
msg: utf8!(msg),
162+
msg: unsafe { utf8!(msg) },
167163
font: font,
168164
},
169165
)
@@ -177,7 +173,7 @@ pub extern "stdcall" fn on_group_upload(sub_type: i32, send_time: i32, group_id:
177173
group_id: group_id,
178174
user_id: user_id,
179175
send_time: send_time,
180-
file: File::decode(utf8!(file).as_bytes().to_vec()),
176+
file: File::decode(unsafe { utf8!(file).as_bytes().to_vec() }),
181177
})
182178
}
183179

@@ -188,7 +184,7 @@ pub extern "stdcall" fn on_group_admin(sub_type: i32, send_time: i32, group_id:
188184
sub_type: sub_type,
189185
send_time: send_time,
190186
group: Group::new(group_id),
191-
user: User::new(user_id)
187+
user: User::new(user_id),
192188
})
193189
}
194190

@@ -201,7 +197,7 @@ pub extern "stdcall" fn on_group_member_decrease(sub_type: i32, send_time: i32,
201197
group: Group::new(group_id),
202198
operate_user: if sub_type == 1 { being_operate_user.clone() } else { User::new(operate_user_id) },
203199
send_time: send_time,
204-
being_operate_user: being_operate_user
200+
being_operate_user: being_operate_user,
205201
})
206202
}
207203

@@ -213,7 +209,7 @@ pub extern "stdcall" fn on_group_member_increase(sub_type: i32, send_time: i32,
213209
group: Group::new(group_id),
214210
operate_user: User::new(operate_user_id),
215211
send_time: send_time,
216-
being_operate_user: User::new(being_operate_user_id)
212+
being_operate_user: User::new(being_operate_user_id),
217213
})
218214
}
219215

@@ -226,7 +222,7 @@ pub extern "stdcall" fn on_group_ban(sub_type: i32, send_time: i32, group_id: i6
226222
send_time: send_time,
227223
being_operate_user: User::new(being_operate_user_id),
228224
time: time,
229-
group: Group::new(group_id)
225+
group: Group::new(group_id),
230226
})
231227
}
232228

@@ -246,9 +242,9 @@ pub extern "stdcall" fn on_add_friend_request(sub_type: i32, send_time: i32, use
246242
canceld: false,
247243
sub_type: sub_type,
248244
send_time: send_time,
249-
msg: utf8!(msg),
250-
flag: Flag::from(utf8!(flag)),
251-
user: User::new(user_id)
245+
msg: unsafe { utf8!(msg) },
246+
flag: Flag::from(unsafe { utf8!(flag) }),
247+
user: User::new(user_id),
252248
})
253249
}
254250

@@ -258,9 +254,9 @@ pub extern "stdcall" fn on_add_group_request(sub_type: i32, send_time: i32, grou
258254
canceld: false,
259255
sub_type: sub_type,
260256
send_time: send_time,
261-
msg: utf8!(msg),
262-
flag: Flag::from(utf8!(flag)),
257+
msg: unsafe { utf8!(msg) },
258+
flag: Flag::from(unsafe { utf8!(flag) }),
263259
group: Group::new(group_id),
264-
user: User::new(user_id)
260+
user: User::new(user_id),
265261
})
266262
}

src/listener.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ use super::events::{Event, Events};
77
use crate::cqp::{EVENT_IGNORE, EVENT_BLOCK};
88

99
lazy_static! {
10-
static ref listeners: RwLock<HashMap<Events, fn(E: &mut Event)>> = RwLock::new(HashMap::new());
10+
static ref listeners: RwLock<HashMap<Events, fn(E: &mut dyn Event)>> = RwLock::new(HashMap::new());
1111
}
1212

1313
pub fn register_listener<E>(event_type: Events, callback: fn(&mut E)) where E: Event {

src/qqtargets.rs

+27-40
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,16 @@ use std::ops::Add;
44

55
use byteorder::{BigEndian, ReadBytesExt};
66

7-
use encoding::{EncoderTrap, DecoderTrap, Encoding};
7+
use encoding::{DecoderTrap, Encoding};
88
use encoding::all::GB18030;
99

10-
use crate::api::{send_private_msg, get_stranger_info, add_log, CQLogLevel, get_group_member_list, get_group_member_info_v2, get_group_info, send_group_msg, set_group_anonymous_ban, Flag, set_group_card, set_group_anonymous, set_group_whole_ban, set_group_ban, set_group_kick};
10+
use crate::api::{send_private_msg, get_stranger_info, get_group_member_list, get_group_member_info_v2, get_group_info, send_group_msg, set_group_anonymous_ban, Flag, set_group_card, set_group_anonymous, set_group_whole_ban, set_group_ban, set_group_kick};
1111

1212
macro_rules! utf8 {
1313
($b:expr) => {
14-
unsafe {
15-
GB18030
16-
.decode($b, DecoderTrap::Ignore).unwrap()[..]
17-
.to_string()
18-
}
14+
GB18030
15+
.decode($b, DecoderTrap::Ignore).unwrap()[..]
16+
.to_string()
1917
}
2018
}
2119

@@ -25,7 +23,7 @@ pub(crate) fn read_multi_object(b: Vec<u8>) -> Vec<Vec<u8>> {
2523
let mut vs = Vec::new();
2624
for _ in 0..count {
2725
let mut v = vec![0u8; b.read_i16::<BigEndian>().unwrap() as usize];
28-
b.read_exact(&mut v);
26+
b.read_exact(&mut v).unwrap();
2927
vs.push(v);
3028
}
3129
vs
@@ -36,8 +34,8 @@ pub trait ReadString: Read {
3634
let len = self.read_i16::<BigEndian>()?;
3735
if len > 0 {
3836
let mut v = vec![0u8; len as usize];
39-
self.read_exact(&mut v);
40-
Ok(utf8!(v.as_slice()))
37+
self.read_exact(&mut v).unwrap();
38+
Ok(unsafe { utf8!(v.as_slice()) })
4139
} else { Ok(String::new()) }
4240
}
4341
}
@@ -49,7 +47,7 @@ pub struct File {
4947
pub id: String,
5048
pub name: String,
5149
pub size: i64,
52-
pub busid: i64
50+
pub busid: i64,
5351
}
5452

5553
impl File {
@@ -59,7 +57,7 @@ impl File {
5957
id: b.read_string().unwrap(),
6058
name: b.read_string().unwrap(),
6159
size: b.read_i64::<BigEndian>().unwrap(),
62-
busid: b.read_i64::<BigEndian>().unwrap()
60+
busid: b.read_i64::<BigEndian>().unwrap(),
6361
}
6462
}
6563
}
@@ -69,11 +67,10 @@ pub struct Anonymous {
6967
pub group_id: i64,
7068
pub user_id: i64,
7169
pub name: String,
72-
pub flag: Flag
70+
pub flag: Flag,
7371
}
7472

7573
impl Anonymous {
76-
7774
pub fn ban(&self, time: i64) {
7875
set_group_anonymous_ban(self.group_id, self.flag.clone(), time);
7976
}
@@ -84,7 +81,7 @@ impl Anonymous {
8481
group_id: group_id,
8582
user_id: c.read_i64::<BigEndian>().unwrap(),
8683
name: c.read_string().unwrap(),
87-
flag: unsafe { String::from_utf8_unchecked(b)}
84+
flag: unsafe { String::from_utf8_unchecked(b) },
8885
}
8986
}
9087
}
@@ -185,7 +182,6 @@ impl Message for Group {
185182
}
186183

187184
impl Group {
188-
189185
pub fn new(group_id: i64) -> Group {
190186
get_group_info(group_id, false)
191187
}
@@ -303,14 +299,7 @@ impl User {
303299
let mut b = Cursor::new(base64::decode(&b).unwrap());
304300
User {
305301
user_id: b.read_i64::<BigEndian>().unwrap(),
306-
nickname: {
307-
let len = b.read_i16::<BigEndian>().unwrap();
308-
if len > 0 {
309-
let mut v = vec![0; len as usize];
310-
b.read_exact(&mut v);
311-
utf8!(v.as_slice())
312-
} else { String::new() }
313-
},
302+
nickname: b.read_string().unwrap(),
314303
sex: UserSex::from(b.read_i32::<BigEndian>().unwrap()),
315304
age: b.read_i32::<BigEndian>().unwrap(),
316305
}
@@ -358,10 +347,9 @@ pub trait Message {
358347
self.send_message(cqcode::music_custom(url, audio, title, content, image).as_str())
359348
}
360349

361-
fn send_share(&self, url: &str, title: &str, content: &str, image: &str) {
350+
fn send_share(&self, url: &str, title: &str, content: &str, image: &str) {
362351
self.send_message(cqcode::share(url, title, content, image).as_str())
363352
}
364-
365353
}
366354

367355
pub mod cqcode {
@@ -381,7 +369,7 @@ pub mod cqcode {
381369
//发送base64编码的图片。"JXU2MThCJXU4QkY0JXU4QkREJXVGRjBDJXU1NDNCJXU2MjEx"
382370
Base64(String),
383371
//发送二进制图片。"很明显,这个没办法演示给你看"
384-
Binary(Vec<u8>)
372+
Binary(Vec<u8>),
385373
}
386374

387375
impl Image {
@@ -392,28 +380,28 @@ pub mod cqcode {
392380
Image::Default(s) => s.clone(),
393381
Image::File(s) => {
394382
let filename = Path::new(s).file_name().unwrap();
395-
fs::copy(s, data_dir.join(Path::new(filename)));
383+
fs::copy(s, data_dir.join(Path::new(filename))).unwrap();
396384
filename.to_str().unwrap().to_string()
397-
},
385+
}
398386
Image::Binary(b) => {
399387
let filename = format!("{}.jpg", uuid::Uuid::new_v4());
400388
let mut f = fs::File::create(Path::new(data_dir).join(&filename)).unwrap();
401-
f.write_all(b);
402-
f.flush();
389+
f.write_all(b).unwrap();
390+
f.flush().unwrap();
403391
filename
404-
},
392+
}
405393
Image::Base64(s) => {
406394
let filename = format!("{}.jpg", uuid::Uuid::new_v4());
407395
let mut f = fs::File::create(Path::new(data_dir).join(&filename)).unwrap();
408-
f.write_all(base64::decode(s.as_bytes()).unwrap().as_slice());
409-
f.flush();
396+
f.write_all(base64::decode(s.as_bytes()).unwrap().as_slice()).unwrap();
397+
f.flush().unwrap();
410398
filename
411-
},
399+
}
412400
Image::Http(s) => {
413401
let filename = format!("{}.jpg", uuid::Uuid::new_v4());
414402
let mut f = fs::File::create(Path::new(data_dir).join(&filename)).unwrap();
415-
f.write_all(reqwest::get(s.as_str()).unwrap().text().unwrap().as_bytes());
416-
f.flush();
403+
f.write_all(reqwest::get(s.as_str()).unwrap().text().unwrap().as_bytes()).unwrap();
404+
f.flush().unwrap();
417405
filename
418406
}
419407
}
@@ -491,8 +479,7 @@ pub mod cqcode {
491479
format!("[CQ:music,type=custom,url={url},audio={audio},title={title},content={content},image={image}]", url = url, audio = audio, title = title, content = content, image = image)
492480
}
493481

494-
pub fn share(url: &str, title: &str, content: &str, image: &str) -> String {
495-
format!("[CQ:share,url={url},title={title},content={content},image={image}]", url= url, title = title, content = content, image = image)
482+
pub fn share(url: &str, title: &str, content: &str, image: &str) -> String {
483+
format!("[CQ:share,url={url},title={title},content={content},image={image}]", url = url, title = title, content = content, image = image)
496484
}
497-
498485
}

0 commit comments

Comments
 (0)