@@ -18,6 +18,7 @@ CQHTTP_REQUEST_HANDLER(get_login_info)
18
18
struct cqhttp_result result;
19
19
int64_t id = CQ_getLoginQQ (ac);
20
20
const char * nickname = CQ_getLoginNick (ac);
21
+ result.retcode = nickname ? CQHTTP_RETCODE_OK : CQHTTP_RETCODE_ERROR_DEFAULT;
21
22
result.data = json_pack (" {s:I,s:s?}" , " user_id" , id, " nickname" , gbk_to_utf8 (nickname).c_str ());
22
23
return result;
23
24
}
@@ -36,10 +37,8 @@ CQHTTP_REQUEST_HANDLER(send_private_msg)
36
37
final_str = message_escape (msg);
37
38
else
38
39
final_str = enhance_cq_code (msg);
39
- CQ_sendPrivateMsg (ac, user_id, utf8_to_gbk (final_str.c_str ()).c_str ());
40
+ result. retcode = CQ_sendPrivateMsg (ac, user_id, utf8_to_gbk (final_str.c_str ()).c_str ());
40
41
}
41
- else
42
- result.status = CQHTTP_STATUS_FAILED;
43
42
if (msg)
44
43
free (msg);
45
44
return result;
@@ -59,10 +58,10 @@ CQHTTP_REQUEST_HANDLER(send_group_msg)
59
58
final_str = message_escape (msg);
60
59
else
61
60
final_str = enhance_cq_code (msg);
62
- CQ_sendGroupMsg (ac, group_id, utf8_to_gbk (final_str.c_str ()).c_str ());
61
+ result. retcode = CQ_sendGroupMsg (ac, group_id, utf8_to_gbk (final_str.c_str ()).c_str ());
63
62
}
64
- else
65
- result.status = CQHTTP_STATUS_FAILED;
63
+ // else
64
+ // result.status = CQHTTP_STATUS_FAILED;
66
65
if (msg)
67
66
free (msg);
68
67
return result;
@@ -82,10 +81,8 @@ CQHTTP_REQUEST_HANDLER(send_discuss_msg)
82
81
final_str = message_escape (msg);
83
82
else
84
83
final_str = enhance_cq_code (msg);
85
- CQ_sendDiscussMsg (ac, discuss_id, utf8_to_gbk (final_str.c_str ()).c_str ());
84
+ result. retcode = CQ_sendDiscussMsg (ac, discuss_id, utf8_to_gbk (final_str.c_str ()).c_str ());
86
85
}
87
- else
88
- result.status = CQHTTP_STATUS_FAILED;
89
86
if (msg)
90
87
free (msg);
91
88
return result;
@@ -97,9 +94,7 @@ CQHTTP_REQUEST_HANDLER(send_like) // CoolQ Pro only
97
94
struct cqhttp_result result;
98
95
int64_t user_id = cqhttp_get_integer_param (request, " user_id" , 0 );
99
96
if (user_id)
100
- CQ_sendLike (ac, user_id);
101
- else
102
- result.status = CQHTTP_STATUS_FAILED;
97
+ result.retcode = CQ_sendLike (ac, user_id);
103
98
return result;
104
99
}
105
100
@@ -111,9 +106,7 @@ CQHTTP_REQUEST_HANDLER(set_group_kick)
111
106
int64_t user_id = cqhttp_get_integer_param (request, " user_id" , 0 );
112
107
bool reject_add_request = cqhttp_get_bool_param (request, " reject_add_request" , false );
113
108
if (group_id && user_id)
114
- CQ_setGroupKick (ac, group_id, user_id, reject_add_request);
115
- else
116
- result.status = CQHTTP_STATUS_FAILED;
109
+ result.retcode = CQ_setGroupKick (ac, group_id, user_id, reject_add_request);
117
110
return result;
118
111
}
119
112
@@ -125,9 +118,7 @@ CQHTTP_REQUEST_HANDLER(set_group_ban)
125
118
int64_t user_id = cqhttp_get_integer_param (request, " user_id" , 0 );
126
119
int64_t duration = cqhttp_get_integer_param (request, " duration" , 30 * 60 /* 30 minutes */ );
127
120
if (group_id && user_id && duration >= 0 )
128
- CQ_setGroupBan (ac, group_id, user_id, duration);
129
- else
130
- result.status = CQHTTP_STATUS_FAILED;
121
+ result.retcode = CQ_setGroupBan (ac, group_id, user_id, duration);
131
122
return result;
132
123
}
133
124
@@ -139,9 +130,7 @@ CQHTTP_REQUEST_HANDLER(set_group_anonymous_ban)
139
130
char * anonymous_flag = cqhttp_get_param (request, " flag" );
140
131
int64_t duration = cqhttp_get_integer_param (request, " duration" , 30 * 60 /* 30 minutes */ );
141
132
if (group_id && anonymous_flag && duration >= 0 )
142
- CQ_setGroupAnonymousBan (ac, group_id, utf8_to_gbk (anonymous_flag).c_str (), duration);
143
- else
144
- result.status = CQHTTP_STATUS_FAILED;
133
+ result.retcode = CQ_setGroupAnonymousBan (ac, group_id, utf8_to_gbk (anonymous_flag).c_str (), duration);
145
134
if (anonymous_flag)
146
135
free (anonymous_flag);
147
136
return result;
@@ -154,9 +143,7 @@ CQHTTP_REQUEST_HANDLER(set_group_whole_ban)
154
143
int64_t group_id = cqhttp_get_integer_param (request, " group_id" , 0 );
155
144
bool enable = cqhttp_get_bool_param (request, " enable" , true );
156
145
if (group_id)
157
- CQ_setGroupWholeBan (ac, group_id, enable);
158
- else
159
- result.status = CQHTTP_STATUS_FAILED;
146
+ result.retcode = CQ_setGroupWholeBan (ac, group_id, enable);
160
147
return result;
161
148
}
162
149
@@ -168,9 +155,7 @@ CQHTTP_REQUEST_HANDLER(set_group_admin)
168
155
int64_t user_id = cqhttp_get_integer_param (request, " user_id" , 0 );
169
156
bool enable = cqhttp_get_bool_param (request, " enable" , true );
170
157
if (group_id && user_id)
171
- CQ_setGroupAdmin (ac, group_id, user_id, enable);
172
- else
173
- result.status = CQHTTP_STATUS_FAILED;
158
+ result.retcode = CQ_setGroupAdmin (ac, group_id, user_id, enable);
174
159
return result;
175
160
}
176
161
@@ -181,9 +166,7 @@ CQHTTP_REQUEST_HANDLER(set_group_anonymous) // CoolQ Pro only
181
166
int64_t group_id = cqhttp_get_integer_param (request, " group_id" , 0 );
182
167
bool enable = cqhttp_get_bool_param (request, " enable" , true );
183
168
if (group_id)
184
- CQ_setGroupAnonymous (ac, group_id, enable);
185
- else
186
- result.status = CQHTTP_STATUS_FAILED;
169
+ result.retcode = CQ_setGroupAnonymous (ac, group_id, enable);
187
170
return result;
188
171
}
189
172
@@ -195,9 +178,7 @@ CQHTTP_REQUEST_HANDLER(set_group_card)
195
178
int64_t user_id = cqhttp_get_integer_param (request, " user_id" , 0 );
196
179
char * card = cqhttp_get_param (request, " card" );
197
180
if (group_id && user_id)
198
- CQ_setGroupCard (ac, group_id, user_id, card ? utf8_to_gbk (card).c_str () : NULL );
199
- else
200
- result.status = CQHTTP_STATUS_FAILED;
181
+ result.retcode = CQ_setGroupCard (ac, group_id, user_id, card ? utf8_to_gbk (card).c_str () : NULL );
201
182
if (card)
202
183
free (card);
203
184
return result;
@@ -210,9 +191,7 @@ CQHTTP_REQUEST_HANDLER(set_group_leave)
210
191
int64_t group_id = cqhttp_get_integer_param (request, " group_id" , 0 );
211
192
bool is_dismiss = cqhttp_get_bool_param (request, " is_dismiss" , false );
212
193
if (group_id)
213
- CQ_setGroupLeave (ac, group_id, is_dismiss);
214
- else
215
- result.status = CQHTTP_STATUS_FAILED;
194
+ result.retcode = CQ_setGroupLeave (ac, group_id, is_dismiss);
216
195
return result;
217
196
}
218
197
@@ -225,9 +204,7 @@ CQHTTP_REQUEST_HANDLER(set_group_special_title)
225
204
char * special_title = cqhttp_get_param (request, " special_title" );
226
205
int64_t duration = cqhttp_get_integer_param (request, " duration" , -1 /* permanent */ ); // seems to be no effect
227
206
if (group_id && user_id)
228
- CQ_setGroupSpecialTitle (ac, group_id, user_id, special_title ? utf8_to_gbk (special_title).c_str () : NULL , duration);
229
- else
230
- result.status = CQHTTP_STATUS_FAILED;
207
+ result.retcode = CQ_setGroupSpecialTitle (ac, group_id, user_id, special_title ? utf8_to_gbk (special_title).c_str () : NULL , duration);
231
208
if (special_title)
232
209
free (special_title);
233
210
return result;
@@ -239,9 +216,7 @@ CQHTTP_REQUEST_HANDLER(set_discuss_leave)
239
216
struct cqhttp_result result;
240
217
int64_t discuss_id = cqhttp_get_integer_param (request, " discuss_id" , 0 );
241
218
if (discuss_id)
242
- CQ_setDiscussLeave (ac, discuss_id);
243
- else
244
- result.status = CQHTTP_STATUS_FAILED;
219
+ result.retcode = CQ_setDiscussLeave (ac, discuss_id);
245
220
return result;
246
221
}
247
222
@@ -253,12 +228,10 @@ CQHTTP_REQUEST_HANDLER(set_friend_add_request)
253
228
bool approve = cqhttp_get_bool_param (request, " approve" , true );
254
229
char * remark = cqhttp_get_param (request, " remark" );
255
230
if (flag)
256
- CQ_setFriendAddRequest (ac,
257
- utf8_to_gbk (flag).c_str (),
258
- approve ? REQUEST_ALLOW : REQUEST_DENY,
259
- remark ? utf8_to_gbk (remark).c_str () : NULL );
260
- else
261
- result.status = CQHTTP_STATUS_FAILED;
231
+ result.retcode = CQ_setFriendAddRequest (ac,
232
+ utf8_to_gbk (flag).c_str (),
233
+ approve ? REQUEST_ALLOW : REQUEST_DENY,
234
+ remark ? utf8_to_gbk (remark).c_str () : NULL );
262
235
if (flag)
263
236
free (flag);
264
237
if (remark)
@@ -280,13 +253,11 @@ CQHTTP_REQUEST_HANDLER(set_group_add_request)
280
253
else if (strcmp (type, " invite" ) == 0 )
281
254
request_type = REQUEST_GROUPINVITE;
282
255
if (flag && type && request_type != -1 )
283
- CQ_setGroupAddRequestV2 (ac,
284
- utf8_to_gbk (flag).c_str (),
285
- request_type,
286
- approve ? REQUEST_ALLOW : REQUEST_DENY,
287
- remark ? utf8_to_gbk (remark).c_str () : NULL );
288
- else
289
- result.status = CQHTTP_STATUS_FAILED;
256
+ result.retcode = CQ_setGroupAddRequestV2 (ac,
257
+ utf8_to_gbk (flag).c_str (),
258
+ request_type,
259
+ approve ? REQUEST_ALLOW : REQUEST_DENY,
260
+ remark ? utf8_to_gbk (remark).c_str () : NULL );
290
261
if (flag)
291
262
free (flag);
292
263
if (type)
@@ -395,12 +366,9 @@ CQHTTP_REQUEST_HANDLER(get_group_member_info)
395
366
INTEGER (member_info.title_expire_time );
396
367
INTEGER (member_info.card_changeable );
397
368
result.data = member_info.json ();
369
+ result.retcode = CQHTTP_RETCODE_OK;
398
370
}
399
- else
400
- result.status = CQHTTP_STATUS_FAILED;
401
371
}
402
- else
403
- result.status = CQHTTP_STATUS_FAILED;
404
372
return result;
405
373
}
406
374
@@ -440,12 +408,9 @@ CQHTTP_REQUEST_HANDLER(get_stranger_info)
440
408
INTEGER (stranger_info.sex );
441
409
INTEGER (stranger_info.age );
442
410
result.data = stranger_info.json ();
411
+ result.retcode = CQHTTP_RETCODE_OK;
443
412
}
444
- else
445
- result.status = CQHTTP_STATUS_FAILED;
446
413
}
447
- else
448
- result.status = CQHTTP_STATUS_FAILED;
449
414
return result;
450
415
}
451
416
0 commit comments