reywechat 1.0.84__py3-none-any.whl → 1.0.86__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- reywechat/rdb.py +72 -87
- reywechat/rreceive.py +1 -4
- reywechat/rsend.py +11 -17
- {reywechat-1.0.84.dist-info → reywechat-1.0.86.dist-info}/METADATA +1 -1
- {reywechat-1.0.84.dist-info → reywechat-1.0.86.dist-info}/RECORD +7 -7
- {reywechat-1.0.84.dist-info → reywechat-1.0.86.dist-info}/WHEEL +0 -0
- {reywechat-1.0.84.dist-info → reywechat-1.0.86.dist-info}/licenses/LICENSE +0 -0
reywechat/rdb.py
CHANGED
@@ -25,18 +25,18 @@ from .rwechat import WeChat
|
|
25
25
|
|
26
26
|
|
27
27
|
__all__ = (
|
28
|
-
'
|
29
|
-
'
|
30
|
-
'
|
31
|
-
'
|
32
|
-
'
|
28
|
+
'DatabaseORMTableContactUser',
|
29
|
+
'DatabaseORMTableContactRoom',
|
30
|
+
'DatabaseORMTableContactRoomUser',
|
31
|
+
'DatabaseORMTableMessageReceive',
|
32
|
+
'DatabaseORMTableMessageSend',
|
33
33
|
'WeChatDatabase'
|
34
34
|
)
|
35
35
|
|
36
36
|
|
37
|
-
class
|
37
|
+
class DatabaseORMTableContactUser(rorm.Model, table=True):
|
38
38
|
"""
|
39
|
-
Database `contact_user` table model.
|
39
|
+
Database `contact_user` table ORM model.
|
40
40
|
"""
|
41
41
|
|
42
42
|
__name__ = 'contact_user'
|
@@ -49,9 +49,9 @@ class DatabaseTableContactUser(rorm.Model, table=True):
|
|
49
49
|
valid: int = rorm.Field(rorm.types_mysql.TINYINT(unsigned=True), field_default='1', not_null=True, comment='Is the valid, 0 is invalid, 1 is valid.')
|
50
50
|
|
51
51
|
|
52
|
-
class
|
52
|
+
class DatabaseORMTableContactRoom(rorm.Model, table=True):
|
53
53
|
"""
|
54
|
-
Database `contact_room` table model.
|
54
|
+
Database `contact_room` table ORM model.
|
55
55
|
"""
|
56
56
|
|
57
57
|
__name__ = 'contact_room'
|
@@ -64,9 +64,9 @@ class DatabaseTableContactRoom(rorm.Model, table=True):
|
|
64
64
|
valid: int = rorm.Field(rorm.types_mysql.TINYINT(unsigned=True), field_default='1', not_null=True, comment='Is the valid, 0 is invalid, 1 is valid.')
|
65
65
|
|
66
66
|
|
67
|
-
class
|
67
|
+
class DatabaseORMTableContactRoomUser(rorm.Model, table=True):
|
68
68
|
"""
|
69
|
-
Database `contact_room_user` table model.
|
69
|
+
Database `contact_room_user` table ORM model.
|
70
70
|
"""
|
71
71
|
|
72
72
|
__name__ = 'contact_room_user'
|
@@ -80,9 +80,9 @@ class DatabaseTableContactRoomUser(rorm.Model, table=True):
|
|
80
80
|
valid: int = rorm.Field(rorm.types_mysql.TINYINT(unsigned=True), field_default='1', not_null=True, comment='Is the valid, 0 is invalid, 1 is valid.')
|
81
81
|
|
82
82
|
|
83
|
-
class
|
83
|
+
class DatabaseORMTableMessageReceive(rorm.Model, table=True):
|
84
84
|
"""
|
85
|
-
Database `message_receive` table model.
|
85
|
+
Database `message_receive` table ORM model.
|
86
86
|
"""
|
87
87
|
|
88
88
|
__name__ = 'message_receive'
|
@@ -137,9 +137,9 @@ class DatabaseTableMessageReceive(rorm.Model, table=True):
|
|
137
137
|
file_id: int = rorm.Field(rorm.types_mysql.MEDIUMINT(unsigned=True), comment='Message file ID, from the file database.')
|
138
138
|
|
139
139
|
|
140
|
-
class
|
140
|
+
class DatabaseORMTableMessageSend(rorm.Model, table=True):
|
141
141
|
"""
|
142
|
-
Database `message_send` table model.
|
142
|
+
Database `message_send` table ORM model.
|
143
143
|
"""
|
144
144
|
|
145
145
|
__name__ = 'message_send'
|
@@ -183,21 +183,8 @@ class WeChatDatabase(WeChatBase):
|
|
183
183
|
"""
|
184
184
|
WeChat database type.
|
185
185
|
Can create database used `self.build_db` method.
|
186
|
-
|
187
|
-
Attributes
|
188
|
-
----------
|
189
|
-
db_names : Database table name mapping dictionary.
|
190
186
|
"""
|
191
187
|
|
192
|
-
db_names = {
|
193
|
-
'contact_user': 'contact_user',
|
194
|
-
'contact_room': 'contact_room',
|
195
|
-
'contact_room_user': 'contact_room_user',
|
196
|
-
'message_receive': 'message_receive',
|
197
|
-
'message_send': 'message_send',
|
198
|
-
'stats': 'stats'
|
199
|
-
}
|
200
|
-
|
201
188
|
|
202
189
|
def __init__(
|
203
190
|
self,
|
@@ -217,7 +204,7 @@ class WeChatDatabase(WeChatBase):
|
|
217
204
|
`Key 'file'`: `Database` instance used in file methods.
|
218
205
|
"""
|
219
206
|
|
220
|
-
#
|
207
|
+
# Build attribute.
|
221
208
|
self.wechat = wechat
|
222
209
|
match db:
|
223
210
|
case Database():
|
@@ -228,6 +215,9 @@ class WeChatDatabase(WeChatBase):
|
|
228
215
|
case _:
|
229
216
|
throw(TypeError, db)
|
230
217
|
|
218
|
+
# Build Database.
|
219
|
+
self.build_db()
|
220
|
+
|
231
221
|
# Add handler.
|
232
222
|
self.__add_receiver_handler_to_contact_user()
|
233
223
|
self.__add_receiver_handler_to_contact_room()
|
@@ -241,7 +231,7 @@ class WeChatDatabase(WeChatBase):
|
|
241
231
|
|
242
232
|
def build_db(self) -> None:
|
243
233
|
"""
|
244
|
-
Check and build database tables
|
234
|
+
Check and build database tables.
|
245
235
|
"""
|
246
236
|
|
247
237
|
# Check.
|
@@ -249,31 +239,27 @@ class WeChatDatabase(WeChatBase):
|
|
249
239
|
throw(ValueError, self.db_wechat)
|
250
240
|
|
251
241
|
# Parameter.
|
242
|
+
database = self.db_wechat.database
|
252
243
|
|
253
244
|
## Table.
|
254
|
-
DatabaseTableContactUser._set_name(self.db_names['contact_user'])
|
255
|
-
DatabaseTableContactRoom._set_name(self.db_names['contact_room'])
|
256
|
-
DatabaseTableContactRoomUser._set_name(self.db_names['contact_room_user'])
|
257
|
-
DatabaseTableMessageReceive._set_name(self.db_names['message_receive'])
|
258
|
-
DatabaseTableMessageSend._set_name(self.db_names['message_send'])
|
259
245
|
tables = [
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
246
|
+
DatabaseORMTableContactUser,
|
247
|
+
DatabaseORMTableContactRoom,
|
248
|
+
DatabaseORMTableContactRoomUser,
|
249
|
+
DatabaseORMTableMessageReceive,
|
250
|
+
DatabaseORMTableMessageSend
|
265
251
|
]
|
266
252
|
|
267
253
|
## View stats.
|
268
254
|
views_stats = [
|
269
255
|
{
|
270
|
-
'path':
|
256
|
+
'path': 'stats',
|
271
257
|
'items': [
|
272
258
|
{
|
273
259
|
'name': 'receive_count',
|
274
260
|
'select': (
|
275
261
|
'SELECT COUNT(1)\n'
|
276
|
-
f'FROM `{
|
262
|
+
f'FROM `{database}`.`message_receive`'
|
277
263
|
),
|
278
264
|
'comment': 'Message receive count.'
|
279
265
|
},
|
@@ -281,7 +267,7 @@ class WeChatDatabase(WeChatBase):
|
|
281
267
|
'name': 'send_count',
|
282
268
|
'select': (
|
283
269
|
'SELECT COUNT(1)\n'
|
284
|
-
f'FROM `{
|
270
|
+
f'FROM `{database}`.`message_send`\n'
|
285
271
|
'WHERE `status` = 2'
|
286
272
|
),
|
287
273
|
'comment': 'Message send count.'
|
@@ -290,7 +276,7 @@ class WeChatDatabase(WeChatBase):
|
|
290
276
|
'name': 'user_count',
|
291
277
|
'select': (
|
292
278
|
'SELECT COUNT(1)\n'
|
293
|
-
f'FROM `{
|
279
|
+
f'FROM `{database}`.`contact_user`'
|
294
280
|
),
|
295
281
|
'comment': 'Contact user count.'
|
296
282
|
},
|
@@ -298,7 +284,7 @@ class WeChatDatabase(WeChatBase):
|
|
298
284
|
'name': 'room_count',
|
299
285
|
'select': (
|
300
286
|
'SELECT COUNT(1)\n'
|
301
|
-
f'FROM `{
|
287
|
+
f'FROM `{database}`.`contact_room`'
|
302
288
|
),
|
303
289
|
'comment': 'Contact room count.'
|
304
290
|
},
|
@@ -306,7 +292,7 @@ class WeChatDatabase(WeChatBase):
|
|
306
292
|
'name': 'room_user_count',
|
307
293
|
'select': (
|
308
294
|
'SELECT COUNT(1)\n'
|
309
|
-
f'FROM `{
|
295
|
+
f'FROM `{database}`.`contact_room_user`'
|
310
296
|
),
|
311
297
|
'comment': 'Contact room user count.'
|
312
298
|
},
|
@@ -314,7 +300,7 @@ class WeChatDatabase(WeChatBase):
|
|
314
300
|
'name': 'past_day_receive_count',
|
315
301
|
'select': (
|
316
302
|
'SELECT COUNT(1)\n'
|
317
|
-
f'FROM `{
|
303
|
+
f'FROM `{database}`.`message_receive`'
|
318
304
|
'WHERE TIMESTAMPDIFF(DAY, `create_time`, NOW()) = 0'
|
319
305
|
),
|
320
306
|
'comment': 'Message receive count in the past day.'
|
@@ -323,7 +309,7 @@ class WeChatDatabase(WeChatBase):
|
|
323
309
|
'name': 'past_day_send_count',
|
324
310
|
'select': (
|
325
311
|
'SELECT COUNT(1)\n'
|
326
|
-
f'FROM `{
|
312
|
+
f'FROM `{database}`.`message_send`'
|
327
313
|
'WHERE TIMESTAMPDIFF(DAY, `create_time`, NOW()) = 0'
|
328
314
|
),
|
329
315
|
'comment': 'Message send count in the past day.'
|
@@ -332,7 +318,7 @@ class WeChatDatabase(WeChatBase):
|
|
332
318
|
'name': 'past_day_user_count',
|
333
319
|
'select': (
|
334
320
|
'SELECT COUNT(1)\n'
|
335
|
-
f'FROM `{
|
321
|
+
f'FROM `{database}`.`contact_user`'
|
336
322
|
'WHERE TIMESTAMPDIFF(DAY, `create_time`, NOW()) = 0'
|
337
323
|
),
|
338
324
|
'comment': 'Contact user count in the past day.'
|
@@ -341,7 +327,7 @@ class WeChatDatabase(WeChatBase):
|
|
341
327
|
'name': 'past_day_room_count',
|
342
328
|
'select': (
|
343
329
|
'SELECT COUNT(1)\n'
|
344
|
-
f'FROM `{
|
330
|
+
f'FROM `{database}`.`contact_room`'
|
345
331
|
'WHERE TIMESTAMPDIFF(DAY, `create_time`, NOW()) = 0'
|
346
332
|
),
|
347
333
|
'comment': 'Contact room count in the past day.'
|
@@ -350,7 +336,7 @@ class WeChatDatabase(WeChatBase):
|
|
350
336
|
'name': 'past_day_room_user_count',
|
351
337
|
'select': (
|
352
338
|
'SELECT COUNT(1)\n'
|
353
|
-
f'FROM `{
|
339
|
+
f'FROM `{database}`.`contact_room_user`'
|
354
340
|
'WHERE TIMESTAMPDIFF(DAY, `create_time`, NOW()) = 0'
|
355
341
|
),
|
356
342
|
'comment': 'Contact room user count in the past day.'
|
@@ -359,7 +345,7 @@ class WeChatDatabase(WeChatBase):
|
|
359
345
|
'name': 'past_week_receive_count',
|
360
346
|
'select': (
|
361
347
|
'SELECT COUNT(1)\n'
|
362
|
-
f'FROM `{
|
348
|
+
f'FROM `{database}`.`message_receive`'
|
363
349
|
'WHERE TIMESTAMPDIFF(DAY, `create_time`, NOW()) <= 6'
|
364
350
|
),
|
365
351
|
'comment': 'Message receive count in the past week.'
|
@@ -368,7 +354,7 @@ class WeChatDatabase(WeChatBase):
|
|
368
354
|
'name': 'past_week_send_count',
|
369
355
|
'select': (
|
370
356
|
'SELECT COUNT(1)\n'
|
371
|
-
f'FROM `{
|
357
|
+
f'FROM `{database}`.`message_send`'
|
372
358
|
'WHERE TIMESTAMPDIFF(DAY, `create_time`, NOW()) <= 6'
|
373
359
|
),
|
374
360
|
'comment': 'Message send count in the past week.'
|
@@ -377,7 +363,7 @@ class WeChatDatabase(WeChatBase):
|
|
377
363
|
'name': 'past_week_user_count',
|
378
364
|
'select': (
|
379
365
|
'SELECT COUNT(1)\n'
|
380
|
-
f'FROM `{
|
366
|
+
f'FROM `{database}`.`contact_user`'
|
381
367
|
'WHERE TIMESTAMPDIFF(DAY, `create_time`, NOW()) <= 6'
|
382
368
|
),
|
383
369
|
'comment': 'Contact user count in the past week.'
|
@@ -386,7 +372,7 @@ class WeChatDatabase(WeChatBase):
|
|
386
372
|
'name': 'past_week_room_count',
|
387
373
|
'select': (
|
388
374
|
'SELECT COUNT(1)\n'
|
389
|
-
f'FROM `{
|
375
|
+
f'FROM `{database}`.`contact_room`'
|
390
376
|
'WHERE TIMESTAMPDIFF(DAY, `create_time`, NOW()) <= 6'
|
391
377
|
),
|
392
378
|
'comment': 'Contact room count in the past week.'
|
@@ -395,7 +381,7 @@ class WeChatDatabase(WeChatBase):
|
|
395
381
|
'name': 'past_week_room_user_count',
|
396
382
|
'select': (
|
397
383
|
'SELECT COUNT(1)\n'
|
398
|
-
f'FROM `{
|
384
|
+
f'FROM `{database}`.`contact_room_user`'
|
399
385
|
'WHERE TIMESTAMPDIFF(DAY, `create_time`, NOW()) <= 6'
|
400
386
|
),
|
401
387
|
'comment': 'Contact room user count in the past week.'
|
@@ -404,7 +390,7 @@ class WeChatDatabase(WeChatBase):
|
|
404
390
|
'name': 'past_month_receive_count',
|
405
391
|
'select': (
|
406
392
|
'SELECT COUNT(1)\n'
|
407
|
-
f'FROM `{
|
393
|
+
f'FROM `{database}`.`message_receive`'
|
408
394
|
'WHERE TIMESTAMPDIFF(DAY, `create_time`, NOW()) <= 29'
|
409
395
|
),
|
410
396
|
'comment': 'Message receive count in the past month.'
|
@@ -413,7 +399,7 @@ class WeChatDatabase(WeChatBase):
|
|
413
399
|
'name': 'past_month_send_count',
|
414
400
|
'select': (
|
415
401
|
'SELECT COUNT(1)\n'
|
416
|
-
f'FROM `{
|
402
|
+
f'FROM `{database}`.`message_send`'
|
417
403
|
'WHERE TIMESTAMPDIFF(DAY, `create_time`, NOW()) <= 29'
|
418
404
|
),
|
419
405
|
'comment': 'Message send count in the past month.'
|
@@ -422,7 +408,7 @@ class WeChatDatabase(WeChatBase):
|
|
422
408
|
'name': 'past_month_user_count',
|
423
409
|
'select': (
|
424
410
|
'SELECT COUNT(1)\n'
|
425
|
-
f'FROM `{
|
411
|
+
f'FROM `{database}`.`contact_user`'
|
426
412
|
'WHERE TIMESTAMPDIFF(DAY, `create_time`, NOW()) <= 29'
|
427
413
|
),
|
428
414
|
'comment': 'Contact user count in the past month.'
|
@@ -431,7 +417,7 @@ class WeChatDatabase(WeChatBase):
|
|
431
417
|
'name': 'past_month_room_count',
|
432
418
|
'select': (
|
433
419
|
'SELECT COUNT(1)\n'
|
434
|
-
f'FROM `{
|
420
|
+
f'FROM `{database}`.`contact_room`'
|
435
421
|
'WHERE TIMESTAMPDIFF(DAY, `create_time`, NOW()) <= 29'
|
436
422
|
),
|
437
423
|
'comment': 'Contact room count in the past month.'
|
@@ -440,7 +426,7 @@ class WeChatDatabase(WeChatBase):
|
|
440
426
|
'name': 'past_month_room_user_count',
|
441
427
|
'select': (
|
442
428
|
'SELECT COUNT(1)\n'
|
443
|
-
f'FROM `{
|
429
|
+
f'FROM `{database}`.`contact_room_user`'
|
444
430
|
'WHERE TIMESTAMPDIFF(DAY, `create_time`, NOW()) <= 29'
|
445
431
|
),
|
446
432
|
'comment': 'Contact room user count in the past month.'
|
@@ -449,7 +435,7 @@ class WeChatDatabase(WeChatBase):
|
|
449
435
|
'name': 'receive_last_time',
|
450
436
|
'select': (
|
451
437
|
'SELECT MAX(`message_time`)\n'
|
452
|
-
f'FROM `{
|
438
|
+
f'FROM `{database}`.`message_receive`'
|
453
439
|
),
|
454
440
|
'comment': 'Message last receive time.'
|
455
441
|
},
|
@@ -457,7 +443,7 @@ class WeChatDatabase(WeChatBase):
|
|
457
443
|
'name': 'send_last_time',
|
458
444
|
'select': (
|
459
445
|
'SELECT MAX(`update_time`)\n'
|
460
|
-
f'FROM `{
|
446
|
+
f'FROM `{database}`.`message_send`\n'
|
461
447
|
'WHERE `status` = 2'
|
462
448
|
),
|
463
449
|
'comment': 'Message last send time.'
|
@@ -487,7 +473,6 @@ class WeChatDatabase(WeChatBase):
|
|
487
473
|
|
488
474
|
# Get data.
|
489
475
|
contact_table = self.wechat.client.get_contact_table('user')
|
490
|
-
|
491
476
|
user_data = [
|
492
477
|
{
|
493
478
|
'user_id': row['id'],
|
@@ -506,7 +491,7 @@ class WeChatDatabase(WeChatBase):
|
|
506
491
|
## Insert.
|
507
492
|
if contact_table != []:
|
508
493
|
conn.execute.insert(
|
509
|
-
|
494
|
+
'contact_user',
|
510
495
|
user_data,
|
511
496
|
'update'
|
512
497
|
)
|
@@ -514,12 +499,12 @@ class WeChatDatabase(WeChatBase):
|
|
514
499
|
## Update.
|
515
500
|
if user_ids == []:
|
516
501
|
sql = (
|
517
|
-
f'UPDATE `{self.db_wechat.database}`.`
|
502
|
+
f'UPDATE `{self.db_wechat.database}`.`contact_user`\n'
|
518
503
|
'SET `contact` = 0'
|
519
504
|
)
|
520
505
|
else:
|
521
506
|
sql = (
|
522
|
-
f'UPDATE `{self.db_wechat.database}`.`
|
507
|
+
f'UPDATE `{self.db_wechat.database}`.`contact_user`\n'
|
523
508
|
'SET `contact` = 0\n'
|
524
509
|
'WHERE `user_id` NOT IN :user_ids'
|
525
510
|
)
|
@@ -561,7 +546,7 @@ class WeChatDatabase(WeChatBase):
|
|
561
546
|
## Insert.
|
562
547
|
if contact_table != []:
|
563
548
|
conn.execute.insert(
|
564
|
-
|
549
|
+
'contact_room',
|
565
550
|
room_data,
|
566
551
|
'update'
|
567
552
|
)
|
@@ -569,12 +554,12 @@ class WeChatDatabase(WeChatBase):
|
|
569
554
|
## Update.
|
570
555
|
if room_ids == []:
|
571
556
|
sql = (
|
572
|
-
f'UPDATE `{self.db_wechat.database}`.`
|
557
|
+
f'UPDATE `{self.db_wechat.database}`.`contact_room`\n'
|
573
558
|
'SET `contact` = 0'
|
574
559
|
)
|
575
560
|
else:
|
576
561
|
sql = (
|
577
|
-
f'UPDATE `{self.db_wechat.database}`.`
|
562
|
+
f'UPDATE `{self.db_wechat.database}`.`contact_room`\n'
|
578
563
|
'SET `contact` = 0\n'
|
579
564
|
'WHERE `room_id` NOT IN :room_ids'
|
580
565
|
)
|
@@ -638,7 +623,7 @@ class WeChatDatabase(WeChatBase):
|
|
638
623
|
## Insert.
|
639
624
|
if room_user_data != []:
|
640
625
|
conn.execute.insert(
|
641
|
-
|
626
|
+
'contact_room_user',
|
642
627
|
room_user_data,
|
643
628
|
'update'
|
644
629
|
)
|
@@ -646,18 +631,18 @@ class WeChatDatabase(WeChatBase):
|
|
646
631
|
## Update.
|
647
632
|
if room_user_ids == []:
|
648
633
|
sql = (
|
649
|
-
f'UPDATE `{self.db_wechat.database}`.`
|
634
|
+
f'UPDATE `{self.db_wechat.database}`.`contact_room_user`\n'
|
650
635
|
'SET `contact` = 0'
|
651
636
|
)
|
652
637
|
elif room_id is None:
|
653
638
|
sql = (
|
654
|
-
f'UPDATE `{self.db_wechat.database}`.`
|
639
|
+
f'UPDATE `{self.db_wechat.database}`.`contact_room_user`\n'
|
655
640
|
'SET `contact` = 0\n'
|
656
641
|
"WHERE CONCAT(`room_id`, ',', `user_id`) NOT IN :room_user_ids"
|
657
642
|
)
|
658
643
|
else:
|
659
644
|
sql = (
|
660
|
-
f'UPDATE `{self.db_wechat.database}`.`
|
645
|
+
f'UPDATE `{self.db_wechat.database}`.`contact_room_user`\n'
|
661
646
|
'SET `contact` = 0\n'
|
662
647
|
'WHERE (\n'
|
663
648
|
' `room_id` = :room_id\n'
|
@@ -705,7 +690,7 @@ class WeChatDatabase(WeChatBase):
|
|
705
690
|
|
706
691
|
## Insert.
|
707
692
|
self.db_wechat.execute.insert(
|
708
|
-
|
693
|
+
'contact_user',
|
709
694
|
data,
|
710
695
|
'update'
|
711
696
|
)
|
@@ -745,7 +730,7 @@ class WeChatDatabase(WeChatBase):
|
|
745
730
|
|
746
731
|
### 'contact_room'.
|
747
732
|
self.db_wechat.execute.insert(
|
748
|
-
|
733
|
+
'contact_room',
|
749
734
|
data,
|
750
735
|
'update'
|
751
736
|
)
|
@@ -767,7 +752,7 @@ class WeChatDatabase(WeChatBase):
|
|
767
752
|
|
768
753
|
## Update.
|
769
754
|
self.db_wechat.execute.update(
|
770
|
-
|
755
|
+
'contact_room',
|
771
756
|
data
|
772
757
|
)
|
773
758
|
|
@@ -789,7 +774,7 @@ class WeChatDatabase(WeChatBase):
|
|
789
774
|
|
790
775
|
## Update.
|
791
776
|
self.db_wechat.execute.update(
|
792
|
-
|
777
|
+
'contact_room',
|
793
778
|
data
|
794
779
|
)
|
795
780
|
|
@@ -869,7 +854,7 @@ class WeChatDatabase(WeChatBase):
|
|
869
854
|
|
870
855
|
# Insert.
|
871
856
|
self.db_wechat.execute.insert(
|
872
|
-
|
857
|
+
'message_receive',
|
873
858
|
data,
|
874
859
|
'ignore'
|
875
860
|
)
|
@@ -912,7 +897,7 @@ class WeChatDatabase(WeChatBase):
|
|
912
897
|
|
913
898
|
# Update.
|
914
899
|
self.db_wechat.execute.update(
|
915
|
-
|
900
|
+
'message_send',
|
916
901
|
data
|
917
902
|
)
|
918
903
|
|
@@ -972,7 +957,7 @@ class WeChatDatabase(WeChatBase):
|
|
972
957
|
# Read.
|
973
958
|
where = '`status` = 0'
|
974
959
|
result = conn.execute.select(
|
975
|
-
|
960
|
+
'message_send',
|
976
961
|
['send_id', 'type', 'receive_id', 'parameter', 'file_id'],
|
977
962
|
where,
|
978
963
|
order='`send_id`'
|
@@ -989,7 +974,7 @@ class WeChatDatabase(WeChatBase):
|
|
989
974
|
for row in table
|
990
975
|
]
|
991
976
|
sql = (
|
992
|
-
f'UPDATE `{self.db_wechat.database}`.`
|
977
|
+
f'UPDATE `{self.db_wechat.database}`.`message_send`\n'
|
993
978
|
'SET `status` = 1\n'
|
994
979
|
'WHERE `send_id` IN :send_ids'
|
995
980
|
)
|
@@ -1057,7 +1042,7 @@ class WeChatDatabase(WeChatBase):
|
|
1057
1042
|
## User.
|
1058
1043
|
if message.room is None:
|
1059
1044
|
result = message.receiver.wechat.db.db_wechat.execute.select(
|
1060
|
-
|
1045
|
+
'message_send',
|
1061
1046
|
['valid'],
|
1062
1047
|
'`user_id` = :user_id',
|
1063
1048
|
limit=1,
|
@@ -1067,7 +1052,7 @@ class WeChatDatabase(WeChatBase):
|
|
1067
1052
|
## Room.
|
1068
1053
|
elif message.user is None:
|
1069
1054
|
result = message.receiver.wechat.db.db_wechat.execute.select(
|
1070
|
-
|
1055
|
+
'message_send',
|
1071
1056
|
['valid'],
|
1072
1057
|
'`room_id` = :room_id',
|
1073
1058
|
limit=1,
|
@@ -1079,13 +1064,13 @@ class WeChatDatabase(WeChatBase):
|
|
1079
1064
|
sql = (
|
1080
1065
|
'SELECT (\n'
|
1081
1066
|
' SELECT `valid`\n'
|
1082
|
-
f' FROM `{self.db_wechat.database}`.`
|
1067
|
+
f' FROM `{self.db_wechat.database}`.`contact_room_user`\n'
|
1083
1068
|
' WHERE `room_id` = :room_id AND `user_id` = :user_id\n'
|
1084
1069
|
' LIMIT 1\n'
|
1085
1070
|
') AS `valid`\n'
|
1086
1071
|
'FROM (\n'
|
1087
1072
|
' SELECT `valid`\n'
|
1088
|
-
f' FROM `{self.db_wechat.database}`.`
|
1073
|
+
f' FROM `{self.db_wechat.database}`.`contact_room`\n'
|
1089
1074
|
' WHERE `room_id` = :room_id\n'
|
1090
1075
|
' LIMIT 1\n'
|
1091
1076
|
') AS `a`\n'
|
@@ -1144,6 +1129,6 @@ class WeChatDatabase(WeChatBase):
|
|
1144
1129
|
|
1145
1130
|
# Insert.
|
1146
1131
|
self.db_wechat.execute.insert(
|
1147
|
-
|
1132
|
+
'message_send',
|
1148
1133
|
data
|
1149
1134
|
)
|
reywechat/rreceive.py
CHANGED
@@ -113,10 +113,6 @@ class WeChatMessage(WeChatBase):
|
|
113
113
|
display : Message description text.
|
114
114
|
data : Message source data.
|
115
115
|
window : Message sende window ID.
|
116
|
-
|
117
|
-
Attributes
|
118
|
-
----------
|
119
|
-
is_test : Whether add test text to before reply text.
|
120
116
|
"""
|
121
117
|
|
122
118
|
# Import.
|
@@ -138,6 +134,7 @@ class WeChatMessage(WeChatBase):
|
|
138
134
|
self.trigger_break = self.receiver.trigger.break_
|
139
135
|
self.exc_reports: list[str] = []
|
140
136
|
self.is_test: bool = False
|
137
|
+
'Whether add test text to before reply text.'
|
141
138
|
|
142
139
|
## Room and user.
|
143
140
|
if self.window.endswith('chatroom'):
|
reywechat/rsend.py
CHANGED
@@ -34,43 +34,37 @@ __all__ = (
|
|
34
34
|
class WeChatSendTypeEnum(WeChatBase, IntEnum):
|
35
35
|
"""
|
36
36
|
WeChat send type enumeration type.
|
37
|
-
|
38
|
-
Attributes
|
39
|
-
----------
|
40
|
-
TEXT : Send text message.
|
41
|
-
TEXT_AT : Send text message with @.
|
42
|
-
FILE : Send file message.
|
43
|
-
IMAGE : Send image message.
|
44
|
-
EMOTION : Send emotion message.
|
45
|
-
PAT : Send pat message.
|
46
|
-
PUBLIC : Send public account message.
|
47
|
-
FORWARD : Forward message.
|
48
37
|
"""
|
49
38
|
|
50
39
|
TEXT = 0
|
40
|
+
'Send text message.'
|
51
41
|
TEXT_AT = 1
|
42
|
+
'Send text message with @.'
|
52
43
|
FILE = 2
|
44
|
+
'Send file message.'
|
53
45
|
IMAGE = 3
|
46
|
+
'Send image message.'
|
54
47
|
EMOTION = 4
|
48
|
+
'Send emotion message.'
|
55
49
|
PAT = 5
|
50
|
+
'Send pat message.'
|
56
51
|
PUBLIC = 6
|
52
|
+
'Send public account message.'
|
57
53
|
FORWARD = 7
|
54
|
+
'Forward message.'
|
58
55
|
|
59
56
|
|
60
57
|
class WeChatSendStatusEnum(WeChatBase, IntEnum):
|
61
58
|
"""
|
62
59
|
WeChat send status enumeration type.
|
63
|
-
|
64
|
-
Attributes
|
65
|
-
----------
|
66
|
-
INIT : After initialization, before inserting into the database queue.
|
67
|
-
WAIT : After get from database queue, before sending.
|
68
|
-
SENT : After sending.
|
69
60
|
"""
|
70
61
|
|
71
62
|
INIT = 0
|
63
|
+
'After initialization, before inserting into the database queue.'
|
72
64
|
WAIT = 1
|
65
|
+
'After get from database queue, before sending.'
|
73
66
|
SENT = 2
|
67
|
+
'After sending.'
|
74
68
|
|
75
69
|
|
76
70
|
class WeChatSendParameters(WeChatBase):
|
@@ -3,14 +3,14 @@ reywechat/rall.py,sha256=5J_X-XMOyb1Vp1jyS9-oRFXGOtp2vRPX1g3tJot_Eck,371
|
|
3
3
|
reywechat/rbase.py,sha256=hbxn5spvcl_C_Bw8A9teulOXT9GMlxUw145_YbXIOzc,1124
|
4
4
|
reywechat/rcache.py,sha256=5FIa8UB3VsLHT_EXHHmFP62a5AeS22anJCJXC8t4tWw,908
|
5
5
|
reywechat/rclient.py,sha256=EaX6lciZhINg_3m76b7s29cZj5D4o1ASZlLzeVbcSlk,22579
|
6
|
-
reywechat/rdb.py,sha256=
|
6
|
+
reywechat/rdb.py,sha256=uvax59u-lhh_GB0RxF14OZfuI9J8vNTvL7tOKAb85ow,38003
|
7
7
|
reywechat/rlog.py,sha256=sCTk1SSN3uP3zKzUN2aMZSA-GWrN_1g1Mmus2pVEp2M,5244
|
8
|
-
reywechat/rreceive.py,sha256=
|
9
|
-
reywechat/rsend.py,sha256=
|
8
|
+
reywechat/rreceive.py,sha256=blVyP-TVdAm711lk4O3_IiTsFx-qayzGe807ig6OpGg,50894
|
9
|
+
reywechat/rsend.py,sha256=4Qjn8TnB4MAPfIE7xfPFnkN_Rqdc7g69Ud8_Xya994I,19918
|
10
10
|
reywechat/rtrigger.py,sha256=rVSJhHcZXbSeyNZeMQbaOi8wGvzeEYv_hMAw4qnSWeQ,4982
|
11
11
|
reywechat/rwechat.py,sha256=wh04IT0s-QrGcnVe_fJxL3mYNLWcUuYgjDiupBB0ESk,4714
|
12
12
|
reywechat/data/client_api.dll,sha256=H9uj-x9Ztg0jFZK0yY6NsnyH5_119dQRFfoVVMidxRs,592384
|
13
|
-
reywechat-1.0.
|
14
|
-
reywechat-1.0.
|
15
|
-
reywechat-1.0.
|
16
|
-
reywechat-1.0.
|
13
|
+
reywechat-1.0.86.dist-info/METADATA,sha256=CqpXiDQ3sFah9pkIbJlOjZOUiIdRZ9Eyw_-VD7-Mzxc,1575
|
14
|
+
reywechat-1.0.86.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
15
|
+
reywechat-1.0.86.dist-info/licenses/LICENSE,sha256=UYLPqp7BvPiH8yEZduJqmmyEl6hlM3lKrFIefiD4rvk,1059
|
16
|
+
reywechat-1.0.86.dist-info/RECORD,,
|
File without changes
|
File without changes
|