init: QQ Bot - PS2 游戏数据查询机器人
This commit is contained in:
+12
@@ -0,0 +1,12 @@
|
||||
venv/
|
||||
__pycache__/
|
||||
*.pyc
|
||||
.DS_Store
|
||||
config.yaml
|
||||
botpy.log
|
||||
botpy_error.log
|
||||
keys/
|
||||
locks/
|
||||
snapshots/
|
||||
*.jpg
|
||||
*.png
|
||||
@@ -0,0 +1 @@
|
||||
雨云ubantu 图床请求
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+581
@@ -0,0 +1,581 @@
|
||||
{
|
||||
"code": 1,
|
||||
"message": "成功",
|
||||
"data": {
|
||||
"total": 1049,
|
||||
"details": {
|
||||
"Jaeger": {
|
||||
"mapDetails": {
|
||||
"Esamir": {
|
||||
"latestCloseDate": 1716299840000,
|
||||
"latestOpenDate": 1716304803159,
|
||||
"lockedFaction": "None",
|
||||
"unlocked": true,
|
||||
"latestAlertInstanceId": null,
|
||||
"latestAlertDurationMillSeconds": 0,
|
||||
"latestAlertStartDate": null,
|
||||
"latestAlertEndDate": null,
|
||||
"territoryPercentageVS": 0.3469387755102041,
|
||||
"territoryPercentageTR": 0.3877551020408163,
|
||||
"territoryPercentageNC": 0.2653061224489796,
|
||||
"populationNC": 0,
|
||||
"populationVS": 0,
|
||||
"populationTR": 0,
|
||||
"populationNSO": 0
|
||||
},
|
||||
"Hossin": {
|
||||
"latestCloseDate": 1716299842405,
|
||||
"latestOpenDate": 1716304744576,
|
||||
"lockedFaction": "None",
|
||||
"unlocked": true,
|
||||
"latestAlertInstanceId": null,
|
||||
"latestAlertDurationMillSeconds": 0,
|
||||
"latestAlertStartDate": null,
|
||||
"latestAlertEndDate": null,
|
||||
"territoryPercentageVS": 0.4659090909090909,
|
||||
"territoryPercentageTR": 0.42045454545454547,
|
||||
"territoryPercentageNC": 0.11363636363636363,
|
||||
"populationNC": 0,
|
||||
"populationVS": 0,
|
||||
"populationTR": 0,
|
||||
"populationNSO": 0
|
||||
},
|
||||
"Amerish": {
|
||||
"latestCloseDate": 1716299845000,
|
||||
"latestOpenDate": 1716304803159,
|
||||
"lockedFaction": "None",
|
||||
"unlocked": true,
|
||||
"latestAlertInstanceId": null,
|
||||
"latestAlertDurationMillSeconds": 0,
|
||||
"latestAlertStartDate": null,
|
||||
"latestAlertEndDate": null,
|
||||
"territoryPercentageVS": 0.43209876543209874,
|
||||
"territoryPercentageTR": 0.13580246913580246,
|
||||
"territoryPercentageNC": 0.41975308641975306,
|
||||
"populationNC": 0,
|
||||
"populationVS": 0,
|
||||
"populationTR": 0,
|
||||
"populationNSO": 0
|
||||
},
|
||||
"Indar": {
|
||||
"latestCloseDate": 1716299840000,
|
||||
"latestOpenDate": 1716299899528,
|
||||
"lockedFaction": "None",
|
||||
"unlocked": true,
|
||||
"latestAlertInstanceId": null,
|
||||
"latestAlertDurationMillSeconds": 0,
|
||||
"latestAlertStartDate": null,
|
||||
"latestAlertEndDate": null,
|
||||
"territoryPercentageVS": 0.3146067415730337,
|
||||
"territoryPercentageTR": 0.24719101123595505,
|
||||
"territoryPercentageNC": 0.43820224719101125,
|
||||
"populationNC": 0,
|
||||
"populationVS": 0,
|
||||
"populationTR": 0,
|
||||
"populationNSO": 0
|
||||
},
|
||||
"Oshur": {
|
||||
"latestCloseDate": 1716299840000,
|
||||
"latestOpenDate": 1716304744576,
|
||||
"lockedFaction": "None",
|
||||
"unlocked": true,
|
||||
"latestAlertInstanceId": null,
|
||||
"latestAlertDurationMillSeconds": 0,
|
||||
"latestAlertStartDate": null,
|
||||
"latestAlertEndDate": null,
|
||||
"territoryPercentageVS": 0.3188405797101449,
|
||||
"territoryPercentageTR": 0.3333333333333333,
|
||||
"territoryPercentageNC": 0.34782608695652173,
|
||||
"populationNC": 0,
|
||||
"populationVS": 0,
|
||||
"populationTR": 0,
|
||||
"populationNSO": 0
|
||||
}
|
||||
},
|
||||
"total": 0,
|
||||
"tr": 0,
|
||||
"vs": 0,
|
||||
"nso": 0,
|
||||
"nc": 0
|
||||
},
|
||||
"Soltech": {
|
||||
"mapDetails": {
|
||||
"Esamir": {
|
||||
"latestCloseDate": 1716763543000,
|
||||
"latestOpenDate": 1716742720000,
|
||||
"lockedFaction": "TR",
|
||||
"unlocked": false,
|
||||
"latestAlertInstanceId": "26910",
|
||||
"latestAlertDurationMillSeconds": 0,
|
||||
"latestAlertStartDate": 1716760842000,
|
||||
"latestAlertEndDate": 1716763543000,
|
||||
"territoryPercentageVS": 0,
|
||||
"territoryPercentageTR": 1,
|
||||
"territoryPercentageNC": 0,
|
||||
"populationNC": -1,
|
||||
"populationVS": 0,
|
||||
"populationTR": 0,
|
||||
"populationNSO": 0
|
||||
},
|
||||
"Hossin": {
|
||||
"latestCloseDate": 1716742720000,
|
||||
"latestOpenDate": 1716733720000,
|
||||
"lockedFaction": "NC",
|
||||
"unlocked": false,
|
||||
"latestAlertInstanceId": "26909",
|
||||
"latestAlertDurationMillSeconds": 0,
|
||||
"latestAlertStartDate": 1716737319000,
|
||||
"latestAlertEndDate": 1716742720000,
|
||||
"territoryPercentageVS": 0,
|
||||
"territoryPercentageTR": 0,
|
||||
"territoryPercentageNC": 1,
|
||||
"populationNC": 1,
|
||||
"populationVS": 1,
|
||||
"populationTR": -1,
|
||||
"populationNSO": 1
|
||||
},
|
||||
"Amerish": {
|
||||
"latestCloseDate": 1716733720000,
|
||||
"latestOpenDate": 1716719024000,
|
||||
"lockedFaction": "NC",
|
||||
"unlocked": false,
|
||||
"latestAlertInstanceId": "26908",
|
||||
"latestAlertDurationMillSeconds": 0,
|
||||
"latestAlertStartDate": 1716728319000,
|
||||
"latestAlertEndDate": 1716733720000,
|
||||
"territoryPercentageVS": 0,
|
||||
"territoryPercentageTR": 0,
|
||||
"territoryPercentageNC": 1,
|
||||
"populationNC": 0,
|
||||
"populationVS": 0,
|
||||
"populationTR": 5,
|
||||
"populationNSO": 0
|
||||
},
|
||||
"Indar": {
|
||||
"latestCloseDate": 1716719024000,
|
||||
"latestOpenDate": 1716763543000,
|
||||
"lockedFaction": "None",
|
||||
"unlocked": true,
|
||||
"latestAlertInstanceId": "26907",
|
||||
"latestAlertDurationMillSeconds": 0,
|
||||
"latestAlertStartDate": 1716713622000,
|
||||
"latestAlertEndDate": 1716719023000,
|
||||
"territoryPercentageVS": 0.2631578947368421,
|
||||
"territoryPercentageTR": 0.2631578947368421,
|
||||
"territoryPercentageNC": 0.47368421052631576,
|
||||
"populationNC": 8,
|
||||
"populationVS": 2,
|
||||
"populationTR": 6,
|
||||
"populationNSO": 2
|
||||
},
|
||||
"Oshur": {
|
||||
"latestCloseDate": 1716614590000,
|
||||
"latestOpenDate": 1716612158000,
|
||||
"lockedFaction": "VS",
|
||||
"unlocked": false,
|
||||
"latestAlertInstanceId": "26901",
|
||||
"latestAlertDurationMillSeconds": 0,
|
||||
"latestAlertStartDate": 1716612788000,
|
||||
"latestAlertEndDate": 1716614589000,
|
||||
"territoryPercentageVS": 1,
|
||||
"territoryPercentageTR": 0,
|
||||
"territoryPercentageNC": 0,
|
||||
"populationNC": 0,
|
||||
"populationVS": 0,
|
||||
"populationTR": 0,
|
||||
"populationNSO": 0
|
||||
}
|
||||
},
|
||||
"total": 47,
|
||||
"tr": 17,
|
||||
"vs": 8,
|
||||
"nso": 5,
|
||||
"nc": 17
|
||||
},
|
||||
"Connery": {
|
||||
"mapDetails": {
|
||||
"Esamir": {
|
||||
"latestCloseDate": 1716737210000,
|
||||
"latestOpenDate": 1716711837000,
|
||||
"lockedFaction": "NC",
|
||||
"unlocked": false,
|
||||
"latestAlertInstanceId": "43120",
|
||||
"latestAlertDurationMillSeconds": 0,
|
||||
"latestAlertStartDate": 1716734508000,
|
||||
"latestAlertEndDate": 1716737209000,
|
||||
"territoryPercentageVS": 0,
|
||||
"territoryPercentageTR": 0,
|
||||
"territoryPercentageNC": 1,
|
||||
"populationNC": 0,
|
||||
"populationVS": 0,
|
||||
"populationTR": 0,
|
||||
"populationNSO": 0
|
||||
},
|
||||
"Hossin": {
|
||||
"latestCloseDate": 1716711837000,
|
||||
"latestOpenDate": 1716758460000,
|
||||
"lockedFaction": "None",
|
||||
"unlocked": true,
|
||||
"latestAlertInstanceId": "43119",
|
||||
"latestAlertDurationMillSeconds": 0,
|
||||
"latestAlertStartDate": 1716709136000,
|
||||
"latestAlertEndDate": 1716711837000,
|
||||
"territoryPercentageVS": 0.3090909090909091,
|
||||
"territoryPercentageTR": 0.36363636363636365,
|
||||
"territoryPercentageNC": 0.32727272727272727,
|
||||
"populationNC": 21,
|
||||
"populationVS": 16,
|
||||
"populationTR": 17,
|
||||
"populationNSO": 3
|
||||
},
|
||||
"Amerish": {
|
||||
"latestCloseDate": 1716758460000,
|
||||
"latestOpenDate": 1716737210000,
|
||||
"lockedFaction": "TR",
|
||||
"unlocked": false,
|
||||
"latestAlertInstanceId": "43121",
|
||||
"latestAlertDurationMillSeconds": 0,
|
||||
"latestAlertStartDate": 1716755759000,
|
||||
"latestAlertEndDate": 1716758460000,
|
||||
"territoryPercentageVS": 0,
|
||||
"territoryPercentageTR": 1,
|
||||
"territoryPercentageNC": 0,
|
||||
"populationNC": 0,
|
||||
"populationVS": 0,
|
||||
"populationTR": 0,
|
||||
"populationNSO": 0
|
||||
},
|
||||
"Indar": {
|
||||
"latestCloseDate": 1716686941000,
|
||||
"latestOpenDate": 1716666118000,
|
||||
"lockedFaction": "NC",
|
||||
"unlocked": false,
|
||||
"latestAlertInstanceId": "43118",
|
||||
"latestAlertDurationMillSeconds": 0,
|
||||
"latestAlertStartDate": 1716684240000,
|
||||
"latestAlertEndDate": 1716686941000,
|
||||
"territoryPercentageVS": 0,
|
||||
"territoryPercentageTR": 0,
|
||||
"territoryPercentageNC": 1,
|
||||
"populationNC": 0,
|
||||
"populationVS": 0,
|
||||
"populationTR": 0,
|
||||
"populationNSO": 0
|
||||
},
|
||||
"Oshur": {
|
||||
"latestCloseDate": 1716557420000,
|
||||
"latestOpenDate": 1716554989000,
|
||||
"lockedFaction": "NC",
|
||||
"unlocked": false,
|
||||
"latestAlertInstanceId": "43112",
|
||||
"latestAlertDurationMillSeconds": 0,
|
||||
"latestAlertStartDate": 1716555619000,
|
||||
"latestAlertEndDate": 1716557420000,
|
||||
"territoryPercentageVS": 0,
|
||||
"territoryPercentageTR": 0,
|
||||
"territoryPercentageNC": 1,
|
||||
"populationNC": 0,
|
||||
"populationVS": 0,
|
||||
"populationTR": 0,
|
||||
"populationNSO": 0
|
||||
}
|
||||
},
|
||||
"total": 73,
|
||||
"tr": 26,
|
||||
"vs": 17,
|
||||
"nso": 5,
|
||||
"nc": 25
|
||||
},
|
||||
"Cobalt": {
|
||||
"mapDetails": {
|
||||
"Esamir": {
|
||||
"latestCloseDate": 1716741339000,
|
||||
"latestOpenDate": 1716760301000,
|
||||
"lockedFaction": "None",
|
||||
"unlocked": true,
|
||||
"latestAlertInstanceId": "36648",
|
||||
"latestAlertDurationMillSeconds": 0,
|
||||
"latestAlertStartDate": 1716735938000,
|
||||
"latestAlertEndDate": 1716741339000,
|
||||
"territoryPercentageVS": 0.2972972972972973,
|
||||
"territoryPercentageTR": 0.40540540540540543,
|
||||
"territoryPercentageNC": 0.2972972972972973,
|
||||
"populationNC": 6,
|
||||
"populationVS": 10,
|
||||
"populationTR": 10,
|
||||
"populationNSO": 1
|
||||
},
|
||||
"Hossin": {
|
||||
"latestCloseDate": 1716750361136,
|
||||
"latestOpenDate": 1716741339000,
|
||||
"lockedFaction": "VS",
|
||||
"unlocked": false,
|
||||
"latestAlertInstanceId": "36649",
|
||||
"latestAlertDurationMillSeconds": 0,
|
||||
"latestAlertStartDate": 1716744939000,
|
||||
"latestAlertEndDate": 1716750340000,
|
||||
"territoryPercentageVS": 1,
|
||||
"territoryPercentageTR": 0,
|
||||
"territoryPercentageNC": 0,
|
||||
"populationNC": -1,
|
||||
"populationVS": -2,
|
||||
"populationTR": -1,
|
||||
"populationNSO": 0
|
||||
},
|
||||
"Amerish": {
|
||||
"latestCloseDate": 1716720678000,
|
||||
"latestOpenDate": 1716694418000,
|
||||
"lockedFaction": "TR",
|
||||
"unlocked": false,
|
||||
"latestAlertInstanceId": "36647",
|
||||
"latestAlertDurationMillSeconds": 0,
|
||||
"latestAlertStartDate": 1716715277000,
|
||||
"latestAlertEndDate": 1716720678000,
|
||||
"territoryPercentageVS": 0,
|
||||
"territoryPercentageTR": 1,
|
||||
"territoryPercentageNC": 0,
|
||||
"populationNC": -2,
|
||||
"populationVS": 1,
|
||||
"populationTR": -1,
|
||||
"populationNSO": 0
|
||||
},
|
||||
"Indar": {
|
||||
"latestCloseDate": 1716760301000,
|
||||
"latestOpenDate": 1716750361136,
|
||||
"lockedFaction": "TR",
|
||||
"unlocked": false,
|
||||
"latestAlertInstanceId": "36650",
|
||||
"latestAlertDurationMillSeconds": 0,
|
||||
"latestAlertStartDate": 1716754900000,
|
||||
"latestAlertEndDate": 1716760301000,
|
||||
"territoryPercentageVS": 0,
|
||||
"territoryPercentageTR": 1,
|
||||
"territoryPercentageNC": 0,
|
||||
"populationNC": 0,
|
||||
"populationVS": -1,
|
||||
"populationTR": -1,
|
||||
"populationNSO": 1
|
||||
},
|
||||
"Oshur": {
|
||||
"latestCloseDate": 1716664476000,
|
||||
"latestOpenDate": 1716657877000,
|
||||
"lockedFaction": "VS",
|
||||
"unlocked": false,
|
||||
"latestAlertInstanceId": "36644",
|
||||
"latestAlertDurationMillSeconds": 0,
|
||||
"latestAlertStartDate": 1716661775000,
|
||||
"latestAlertEndDate": 1716664476000,
|
||||
"territoryPercentageVS": 1,
|
||||
"territoryPercentageTR": 0,
|
||||
"territoryPercentageNC": 0,
|
||||
"populationNC": 0,
|
||||
"populationVS": 0,
|
||||
"populationTR": 0,
|
||||
"populationNSO": 0
|
||||
}
|
||||
},
|
||||
"total": 31,
|
||||
"tr": 11,
|
||||
"vs": 11,
|
||||
"nso": 1,
|
||||
"nc": 8
|
||||
},
|
||||
"Emerald": {
|
||||
"mapDetails": {
|
||||
"Esamir": {
|
||||
"latestCloseDate": 1716762974000,
|
||||
"latestOpenDate": 1716754671000,
|
||||
"lockedFaction": "VS",
|
||||
"unlocked": false,
|
||||
"latestAlertInstanceId": "51935",
|
||||
"latestAlertDurationMillSeconds": 0,
|
||||
"latestAlertStartDate": 1716757572000,
|
||||
"latestAlertEndDate": 1716762973000,
|
||||
"territoryPercentageVS": 1,
|
||||
"territoryPercentageTR": 0,
|
||||
"territoryPercentageNC": 0,
|
||||
"populationNC": -1,
|
||||
"populationVS": 1,
|
||||
"populationTR": 1,
|
||||
"populationNSO": 0
|
||||
},
|
||||
"Hossin": {
|
||||
"latestCloseDate": 1716754671000,
|
||||
"latestOpenDate": 1716731147000,
|
||||
"lockedFaction": "VS",
|
||||
"unlocked": false,
|
||||
"latestAlertInstanceId": "51934",
|
||||
"latestAlertDurationMillSeconds": 0,
|
||||
"latestAlertStartDate": 1716749269000,
|
||||
"latestAlertEndDate": 1716754670000,
|
||||
"territoryPercentageVS": 1,
|
||||
"territoryPercentageTR": 0,
|
||||
"territoryPercentageNC": 0,
|
||||
"populationNC": 0,
|
||||
"populationVS": -2,
|
||||
"populationTR": 0,
|
||||
"populationNSO": 1
|
||||
},
|
||||
"Amerish": {
|
||||
"latestCloseDate": 1716706393000,
|
||||
"latestOpenDate": 1716768602167,
|
||||
"lockedFaction": "None",
|
||||
"unlocked": true,
|
||||
"latestAlertInstanceId": "51930",
|
||||
"latestAlertDurationMillSeconds": 0,
|
||||
"latestAlertStartDate": 1716700991000,
|
||||
"latestAlertEndDate": 1716706393000,
|
||||
"territoryPercentageVS": 0.1875,
|
||||
"territoryPercentageTR": 0.3125,
|
||||
"territoryPercentageNC": 0.5,
|
||||
"populationNC": 27,
|
||||
"populationVS": 12,
|
||||
"populationTR": 11,
|
||||
"populationNSO": 0
|
||||
},
|
||||
"Indar": {
|
||||
"latestCloseDate": 1716728412000,
|
||||
"latestOpenDate": 1716762974000,
|
||||
"lockedFaction": "None",
|
||||
"unlocked": true,
|
||||
"latestAlertInstanceId": "51936",
|
||||
"latestAlertDurationMillSeconds": 0,
|
||||
"latestAlertStartDate": 1716769203000,
|
||||
"latestAlertEndDate": 1716728412000,
|
||||
"territoryPercentageVS": 0.3146067415730337,
|
||||
"territoryPercentageTR": 0.3258426966292135,
|
||||
"territoryPercentageNC": 0.3595505617977528,
|
||||
"populationNC": 224,
|
||||
"populationVS": 207,
|
||||
"populationTR": 219,
|
||||
"populationNSO": 65
|
||||
},
|
||||
"Oshur": {
|
||||
"latestCloseDate": 1716731147000,
|
||||
"latestOpenDate": 1716728412000,
|
||||
"lockedFaction": "VS",
|
||||
"unlocked": false,
|
||||
"latestAlertInstanceId": "51933",
|
||||
"latestAlertDurationMillSeconds": 0,
|
||||
"latestAlertStartDate": 1716730846000,
|
||||
"latestAlertEndDate": 1716731147000,
|
||||
"territoryPercentageVS": 1,
|
||||
"territoryPercentageTR": 0,
|
||||
"territoryPercentageNC": 0,
|
||||
"populationNC": -3,
|
||||
"populationVS": 0,
|
||||
"populationTR": -1,
|
||||
"populationNSO": 0
|
||||
}
|
||||
},
|
||||
"total": 882,
|
||||
"tr": 271,
|
||||
"vs": 246,
|
||||
"nso": 78,
|
||||
"nc": 287
|
||||
},
|
||||
"Miller": {
|
||||
"mapDetails": {
|
||||
"Esamir": {
|
||||
"latestCloseDate": 1716750120000,
|
||||
"latestOpenDate": 1716736439000,
|
||||
"lockedFaction": "NC",
|
||||
"unlocked": false,
|
||||
"latestAlertInstanceId": "37752",
|
||||
"latestAlertDurationMillSeconds": 0,
|
||||
"latestAlertStartDate": 1716744718000,
|
||||
"latestAlertEndDate": 1716750119000,
|
||||
"territoryPercentageVS": 0,
|
||||
"territoryPercentageTR": 0,
|
||||
"territoryPercentageNC": 1,
|
||||
"populationNC": 0,
|
||||
"populationVS": -1,
|
||||
"populationTR": 0,
|
||||
"populationNSO": 0
|
||||
},
|
||||
"Hossin": {
|
||||
"latestCloseDate": 1716720569000,
|
||||
"latestOpenDate": 1716758519000,
|
||||
"lockedFaction": "None",
|
||||
"unlocked": true,
|
||||
"latestAlertInstanceId": "37750",
|
||||
"latestAlertDurationMillSeconds": 0,
|
||||
"latestAlertStartDate": 1716715167000,
|
||||
"latestAlertEndDate": 1716720568000,
|
||||
"territoryPercentageVS": 0.2727272727272727,
|
||||
"territoryPercentageTR": 0.2545454545454545,
|
||||
"territoryPercentageNC": 0.4727272727272727,
|
||||
"populationNC": 4,
|
||||
"populationVS": -1,
|
||||
"populationTR": 2,
|
||||
"populationNSO": 2
|
||||
},
|
||||
"Amerish": {
|
||||
"latestCloseDate": 1716758519000,
|
||||
"latestOpenDate": 1716750120000,
|
||||
"lockedFaction": "TR",
|
||||
"unlocked": false,
|
||||
"latestAlertInstanceId": "37753",
|
||||
"latestAlertDurationMillSeconds": 0,
|
||||
"latestAlertStartDate": 1716753119000,
|
||||
"latestAlertEndDate": 1716758519000,
|
||||
"territoryPercentageVS": 0,
|
||||
"territoryPercentageTR": 1,
|
||||
"territoryPercentageNC": 0,
|
||||
"populationNC": -5,
|
||||
"populationVS": -2,
|
||||
"populationTR": -2,
|
||||
"populationNSO": 0
|
||||
},
|
||||
"Indar": {
|
||||
"latestCloseDate": 1716736439000,
|
||||
"latestOpenDate": 1716720569000,
|
||||
"lockedFaction": "NC",
|
||||
"unlocked": false,
|
||||
"latestAlertInstanceId": "37751",
|
||||
"latestAlertDurationMillSeconds": 0,
|
||||
"latestAlertStartDate": 1716731037000,
|
||||
"latestAlertEndDate": 1716736438000,
|
||||
"territoryPercentageVS": 0,
|
||||
"territoryPercentageTR": 0,
|
||||
"territoryPercentageNC": 1,
|
||||
"populationNC": -1,
|
||||
"populationVS": -3,
|
||||
"populationTR": 0,
|
||||
"populationNSO": 0
|
||||
},
|
||||
"Oshur": {
|
||||
"latestCloseDate": 1716696778000,
|
||||
"latestOpenDate": 1716673135000,
|
||||
"lockedFaction": "VS",
|
||||
"unlocked": false,
|
||||
"latestAlertInstanceId": "37749",
|
||||
"latestAlertDurationMillSeconds": 0,
|
||||
"latestAlertStartDate": 1716694976000,
|
||||
"latestAlertEndDate": 1716696777000,
|
||||
"territoryPercentageVS": 1,
|
||||
"territoryPercentageTR": 0,
|
||||
"territoryPercentageNC": 0,
|
||||
"populationNC": -1,
|
||||
"populationVS": 0,
|
||||
"populationTR": -1,
|
||||
"populationNSO": 0
|
||||
}
|
||||
},
|
||||
"total": 16,
|
||||
"tr": 7,
|
||||
"vs": 3,
|
||||
"nso": 2,
|
||||
"nc": 4
|
||||
}
|
||||
},
|
||||
"serverOnlineStatus": {
|
||||
"Jaeger": true,
|
||||
"Soltech": true,
|
||||
"Connery": true,
|
||||
"Cobalt": true,
|
||||
"Emerald": true,
|
||||
"Miller": true
|
||||
}
|
||||
}
|
||||
}
|
||||
+2128
File diff suppressed because it is too large
Load Diff
+1152
File diff suppressed because it is too large
Load Diff
+736
@@ -0,0 +1,736 @@
|
||||
import requests
|
||||
from PIL import Image
|
||||
from PIL import ImageFilter
|
||||
from PIL import ImageEnhance
|
||||
from PIL import ImageDraw, ImageFont
|
||||
from datetime import datetime, timedelta
|
||||
import os
|
||||
import json
|
||||
from Player_Query import Character_Query
|
||||
|
||||
|
||||
|
||||
|
||||
class Vechile_Character_Query():
|
||||
|
||||
#def Character_date(self, name):
|
||||
async def Character_date(self, name):
|
||||
url = "https://api.sunderer.games/census/character/search"
|
||||
querystring = {"name": ""}
|
||||
querystring["name"] = name
|
||||
response = requests.request("GET", url, params=querystring)
|
||||
response = response.json()
|
||||
# print(response)
|
||||
return response
|
||||
|
||||
#def Date_Rinse_common(self, date, num=13):
|
||||
async def Date_Rinse_common(self, date, num=13):
|
||||
# 加载图片
|
||||
file_path = os.path.dirname(os.path.abspath(__file__))
|
||||
|
||||
icon_dir = os.path.join(file_path, "Vechile_query/download")
|
||||
Source_dir = os.path.join(file_path, "Vechile_query/Source")
|
||||
Player_query_Source_dir = os.path.join(file_path, "Charter_Sundy_Query")
|
||||
screen1_dir = (
|
||||
os.path.join(file_path, "Vechile_query/screen1")
|
||||
)
|
||||
screen2_dir = (
|
||||
os.path.join(file_path, "Vechile_query/screen2")
|
||||
)
|
||||
bruh = "wrel.png"
|
||||
by_path = "love.png"
|
||||
ad_path = "ad_test.png"
|
||||
botton_path = "上面的丁真.png"
|
||||
Logo_path = "顶部LOGO.png"
|
||||
lable_path = "ID框.png"
|
||||
tr_path = "地球共和国.png"
|
||||
vs_path = "瓦努主权国.png"
|
||||
nc_path = "新联邦.png"
|
||||
nso_path = "纳能特工.png"
|
||||
level_path = "战斗等级底图.png"
|
||||
asp1_path = "asp1.png"
|
||||
asp2_path = "asp2.png"
|
||||
asp3_path = "asp3.png"
|
||||
online_path = "在线状态.png"
|
||||
offline_path = "离线状态.png"
|
||||
online_none_path = "无历史数据在线状态.png"
|
||||
offline_none_path = "无历史数据离线状态.png"
|
||||
money_path = "证书数量.png"
|
||||
sol_path = "索泰克.png"
|
||||
eme_path = "艾莫若德.png"
|
||||
con_path = "康纳利.png"
|
||||
cob_path = "柯伯特.png"
|
||||
mil_path = "米勒.png"
|
||||
other_path = "其他数据底图.png"
|
||||
tr_botton_path = "地球共和国背景.png"
|
||||
vs_botton_path = "瓦努主权国背景.png"
|
||||
nc_botton_path = "新联邦背景.png"
|
||||
nso_botton_path = "纳能特工背景.png"
|
||||
message_path = '缩写含义.png'
|
||||
|
||||
screen_demo = "demo.png"
|
||||
afd_path = 'afd.png'
|
||||
|
||||
box_path = "框框.png"
|
||||
article_path = "条条.png"
|
||||
up_path = "从低到高.png"
|
||||
down_path = "从高到低.png"
|
||||
|
||||
judou_heavy = "judou-ui-cn-heavy.ttf"
|
||||
judou_heavyit = "judou-ui-cn-heavyitalic.ttf"
|
||||
judou_blod = "judou-bold.ttc"
|
||||
judou_media = "judou-medium.ttc"
|
||||
|
||||
##
|
||||
message = Image.open(os.path.join(
|
||||
Source_dir, message_path)).convert("RGBA")
|
||||
ad = Image.open(os.path.join(Source_dir, ad_path)).convert("RGBA")
|
||||
by = Image.open(os.path.join(Source_dir, by_path)).convert("RGBA")
|
||||
botton = Image.open(os.path.join(
|
||||
Source_dir, botton_path)).convert("RGBA")
|
||||
Logo = Image.open(os.path.join(Source_dir, Logo_path)).convert("RGBA")
|
||||
lable = Image.open(os.path.join(
|
||||
Source_dir, lable_path)).convert("RGBA")
|
||||
tr_icon = Image.open(os.path.join(Source_dir, tr_path)).convert("RGBA")
|
||||
vs_icon = Image.open(os.path.join(Source_dir, vs_path)).convert("RGBA")
|
||||
nc_icon = Image.open(os.path.join(Source_dir, nc_path)).convert("RGBA")
|
||||
nso_icon = Image.open(os.path.join(
|
||||
Source_dir, nso_path)).convert("RGBA")
|
||||
tr_botton = Image.open(os.path.join(
|
||||
Source_dir, tr_botton_path)).convert("RGBA")
|
||||
vs_botton = Image.open(os.path.join(
|
||||
Source_dir, vs_botton_path)).convert("RGBA")
|
||||
nc_botton = Image.open(os.path.join(
|
||||
Source_dir, nc_botton_path)).convert("RGBA")
|
||||
nso_botton = Image.open(os.path.join(
|
||||
Source_dir, nso_botton_path)).convert("RGBA")
|
||||
Soltech = Image.open(os.path.join(
|
||||
Source_dir, sol_path)).convert("RGBA")
|
||||
Miller = Image.open(os.path.join(Source_dir, mil_path)).convert("RGBA")
|
||||
Cobalt = Image.open(os.path.join(Source_dir, cob_path)).convert("RGBA")
|
||||
Connery = Image.open(os.path.join(
|
||||
Source_dir, con_path)).convert("RGBA")
|
||||
Emerald = Image.open(os.path.join(
|
||||
Source_dir, eme_path)).convert("RGBA")
|
||||
level_icon = Image.open(os.path.join(
|
||||
Source_dir, level_path)).convert("RGBA")
|
||||
asp1_icon = Image.open(os.path.join(
|
||||
Source_dir, asp1_path)).convert("RGBA")
|
||||
asp2_icon = Image.open(os.path.join(
|
||||
Source_dir, asp2_path)).convert("RGBA")
|
||||
asp3_icon = Image.open(os.path.join(
|
||||
Source_dir, asp3_path)).convert("RGBA")
|
||||
online = Image.open(os.path.join(
|
||||
Source_dir, online_path)).convert("RGBA")
|
||||
offline = Image.open(os.path.join(
|
||||
Source_dir, offline_path)).convert("RGBA")
|
||||
money_icon = Image.open(os.path.join(
|
||||
Source_dir, money_path)).convert("RGBA")
|
||||
other_icon = Image.open(os.path.join(
|
||||
Source_dir, other_path)).convert("RGBA")
|
||||
box = Image.open(os.path.join(Source_dir, box_path)).convert("RGBA")
|
||||
article = Image.open(os.path.join(
|
||||
Source_dir, article_path)).convert("RGBA")
|
||||
up = Image.open(os.path.join(Source_dir, up_path)).convert("RGBA")
|
||||
down = Image.open(os.path.join(Source_dir, down_path)).convert("RGBA")
|
||||
afd = Image.open(os.path.join(Source_dir, afd_path)).convert("RGBA")
|
||||
|
||||
Title = ImageFont.truetype(
|
||||
(os.path.join(Source_dir, judou_blod)),
|
||||
88,
|
||||
)
|
||||
Numttf = ImageFont.truetype(
|
||||
(os.path.join(Source_dir, judou_heavy)),
|
||||
240,
|
||||
)
|
||||
No_ver_Name_ttf = ImageFont.truetype(
|
||||
(os.path.join(Source_dir, judou_heavy)),
|
||||
308,
|
||||
)
|
||||
Ver_NickName_ttf = ImageFont.truetype(
|
||||
(os.path.join(Source_dir, judou_heavy)),
|
||||
264,
|
||||
)
|
||||
Ver_ChartName_ttf = ImageFont.truetype(
|
||||
(os.path.join(Source_dir, judou_heavy)),
|
||||
88,
|
||||
)
|
||||
content = ImageFont.truetype(
|
||||
(os.path.join(Source_dir, judou_blod)),
|
||||
52,
|
||||
)
|
||||
|
||||
status_time = ImageFont.truetype(
|
||||
((os.path.join(Source_dir,judou_heavy))),
|
||||
88,
|
||||
)
|
||||
|
||||
text_lable = ImageFont.truetype(
|
||||
(os.path.join(Source_dir, judou_heavy)),
|
||||
24,
|
||||
)
|
||||
heavyit = ImageFont.truetype(
|
||||
(os.path.join(Source_dir, judou_heavyit)),
|
||||
88,
|
||||
)
|
||||
|
||||
width, height = botton.size
|
||||
logo_w, logo_h = Logo.size
|
||||
logo_r, logo_g, logo_b, logo_a = Logo.split()
|
||||
lable_r, lable_g, lable_b, lable_a = lable.split()
|
||||
level_r, level_g, level_b, level_a = level_icon.split()
|
||||
asp1_r, asp1_g, asp1_b, asp1_a = asp1_icon.split()
|
||||
asp2_r, asp2_g, asp2_b, asp2_a = asp2_icon.split()
|
||||
asp3_r, asp3_g, asp3_b, asp3_a = asp3_icon.split()
|
||||
online_r, online_g, online_b, online_a = online.split()
|
||||
offline_r, offline_g, offline_b, offline_a = offline.split()
|
||||
tr_botton_r, tr_botton_g, tr_botton_b, tr_botton_a = tr_botton.split()
|
||||
vs_botton_r, vs_botton_g, vs_botton_b, vs_botton_a = vs_botton.split()
|
||||
nc_botton_r, nc_botton_g, nc_botton_b, nc_botton_a = nc_botton.split()
|
||||
nso_botton_r, nso_botton_g, nso_botton_b, nso_botton_a = nso_botton.split()
|
||||
Soltech_r, Soltech_g, Soltech_b, Soltech_a = Soltech.split()
|
||||
Miller_r, Miller_g, Miller_b, Miller_a = Miller.split()
|
||||
Cobalt_r, Cobalt_g, Cobalt_b, Cobalt_a = Cobalt.split()
|
||||
Connery_r, Connery_g, Connery_b, Connery_a = Connery.split()
|
||||
Emerald_r, Emerald_g, Emerald_b, Emerald_a = Emerald.split()
|
||||
money_r, money_g, money_b, money_a = money_icon.split()
|
||||
other_r, other_g, other_b, other_a = other_icon.split()
|
||||
tr_r, tr_g, tr_b, tr_a = tr_icon.split()
|
||||
vs_r, vs_g, vs_b, vs_a = vs_icon.split()
|
||||
nc_r, nc_g, nc_b, nc_a = nc_icon.split()
|
||||
nso_r, nso_g, nso_b, nso_a = nso_icon.split()
|
||||
box_r, box_g, box_b, box_a = box.split()
|
||||
article_r, article_g, article_b, article_a = article.split()
|
||||
up_r, up_g, up_b, up_a = up.split()
|
||||
down_r, down_g, down_b, down_a = down.split()
|
||||
message_r, message_g, message_b, message_a = message.split()
|
||||
ad_r, ad_g, ad_b, ad_a = ad.split()
|
||||
by_r, by_g, by_b, by_a = by.split()
|
||||
afd_r, afd_g, afd_b, afd_a = afd.split()
|
||||
All_kill = "总击杀"
|
||||
All_death = "总死亡"
|
||||
All_KDR = "总KDR"
|
||||
|
||||
# 基础信息
|
||||
|
||||
Character_BasicDate = date["basicInfo"]
|
||||
charactername = Character_BasicDate["characterFullName"]
|
||||
outfitAlias = Character_BasicDate["outfitAlias"]
|
||||
outfitName = Character_BasicDate["outfitName"]
|
||||
factionId = Character_BasicDate["factionId"]
|
||||
serverName = Character_BasicDate["worldName"]
|
||||
money = str(Character_BasicDate["availableCertCount"])
|
||||
battleRank = Character_BasicDate["battleRank"]
|
||||
aspRank = Character_BasicDate["aspRank"]
|
||||
FullName = Character_BasicDate["characterFullName"]
|
||||
# Character_Server = Character_BasicDate['Server']
|
||||
# Character_ = Character_BasicDate['']
|
||||
asplevel = Character_BasicDate["aspRank"]
|
||||
online = Character_BasicDate["online"]
|
||||
All_kill_date = Character_BasicDate["kill"]
|
||||
All_death_date = Character_BasicDate["death"]
|
||||
All_KDR_date = "%.2f" % Character_BasicDate["kdr"]
|
||||
|
||||
|
||||
All_kill = "总击杀"
|
||||
All_death = "总死亡"
|
||||
All_KDR = "总KDR"
|
||||
if outfitName == None:
|
||||
outfitName = ''
|
||||
try:
|
||||
title = str("[" + outfitAlias + "]" + " " + FullName)
|
||||
except:
|
||||
title = FullName
|
||||
lv = str("Lv." + str(battleRank))
|
||||
off = "已离线"
|
||||
off_time = ""
|
||||
on_time = ""
|
||||
on = "已在线"
|
||||
|
||||
|
||||
w_on_time, h_on_time = Title.getsize(on_time)
|
||||
w_off_time, h_off_time = Title.getsize(off_time)
|
||||
w_All_kill_date, h_All_kill_date = Title.getsize(str(All_kill_date))
|
||||
w_All_death_date, h_All_death_date = Title.getsize(str(All_death_date))
|
||||
w_All_KDR_date, h_All_KDR_date = Title.getsize(str(All_KDR_date))
|
||||
w_outfitName, h_outfitName = content.getsize(str(outfitName))
|
||||
date_common = Image.new("RGBA", (width, height), (0,124,212,100))
|
||||
date_common.paste(botton, (0, 0))
|
||||
#date_common.show()#上部数据
|
||||
#判断是否认证
|
||||
Sundy_auth = False
|
||||
|
||||
user_message = None
|
||||
chart_msg = date['basicInfo']['characterFullName']
|
||||
|
||||
file_path_csv = os.path.join(os.path.dirname(__file__), r"csv/character.csv")
|
||||
auth_dict = await Character_Query().csv_Verified_User(file_path_csv)#异步
|
||||
|
||||
|
||||
if chart_msg in auth_dict.values():
|
||||
Sundy_auth = True
|
||||
|
||||
|
||||
matching_keys = [key for key, value in auth_dict.items() if value == chart_msg]
|
||||
ver_chart_id = int(matching_keys[0])
|
||||
csv_file_nickname = os.path.join(os.path.dirname(__file__), r"csv/nickname.csv")
|
||||
nickname_csv = await Character_Query().read_csv_to_list(csv_file_nickname)
|
||||
|
||||
chart_list = await Character_Query().find_id(ver_chart_id,nickname_csv)
|
||||
ver_charactername = chart_list[1]
|
||||
|
||||
if Sundy_auth == False:
|
||||
Sundy_auth = False
|
||||
chart_msg = chart_msg[0:3] + "**" + chart_msg[-2:]
|
||||
|
||||
Online_flag = date['basicInfo']['online']
|
||||
lastLoginfo = date['latestSessionInfo']['latestLoginDate']
|
||||
lastLogout = date['latestSessionInfo']['latestLogoutDate']
|
||||
try:
|
||||
if Online_flag == True :
|
||||
logintimeline = (lastLoginfo)/1000
|
||||
logintime = datetime.fromtimestamp(logintimeline)
|
||||
formatted_time = logintime.strftime("%Y-%m-%d %H:%M:%S")
|
||||
elif Online_flag == False :
|
||||
Logouttimeline = (lastLogout)/1000
|
||||
Logouttime = datetime.fromtimestamp(Logouttimeline)
|
||||
formatted_time = Logouttime.strftime("%Y-%m-%d %H:%M:%S")
|
||||
except:
|
||||
formatted_time = '数据库无记录'
|
||||
if Sundy_auth == False :#QQbot\Charter_Sundy_Query\步兵武器列表\状态\在线文字背景.png
|
||||
Status_light = os.path.join(Player_query_Source_dir,'步兵武器列表/状态/在线圆点.png')
|
||||
status_text = 'ONLINE NOW ' + formatted_time
|
||||
BackGround_path = os.path.join(Player_query_Source_dir,'步兵武器列表/状态/在线文字背景.png')
|
||||
color = (0,252,155)
|
||||
|
||||
else:
|
||||
Status_light = os.path.join(Player_query_Source_dir,'步兵武器列表/状态/离线圆点.png')
|
||||
status_text = 'OFFLINE At ' + formatted_time
|
||||
BackGround_path = os.path.join(Player_query_Source_dir,'步兵武器列表/状态/离线文字背景.png')
|
||||
color = (255,255,255)
|
||||
|
||||
light = Image.open(Status_light).convert("RGBA")
|
||||
light_shadow = Image.open(BackGround_path).convert("RGBA")
|
||||
w,h = status_time.getsize(status_text)
|
||||
r,g,b,a = light.split()
|
||||
date_common.paste(light,(2000-w-220,700+20),mask=a)
|
||||
r,g,b,a = light_shadow.split()
|
||||
date_common.paste(light_shadow,(2000-w-820,700-20),mask=a)
|
||||
|
||||
|
||||
|
||||
date_common_pic = ImageDraw.Draw(date_common)
|
||||
date_common_pic.text(((2000-w-120),700),str(status_text),fill=(255,255,255),font=status_time)
|
||||
if Sundy_auth == False :
|
||||
w_tit,h_tit = No_ver_Name_ttf.getsize(chart_msg)
|
||||
x_No_ver_Name = 2000 - w_tit -100
|
||||
date_common_pic.text(
|
||||
(x_No_ver_Name, 250),
|
||||
chart_msg,
|
||||
fill=(255,255,255),
|
||||
font=No_ver_Name_ttf
|
||||
)
|
||||
else:
|
||||
w_tit,h_tit = Ver_NickName_ttf.getsize(ver_charactername)
|
||||
x_ver_nickName = 2000 - w_tit -100
|
||||
date_common_pic.text(
|
||||
(x_ver_nickName, 120),
|
||||
ver_charactername,
|
||||
fill=(255,255,255),
|
||||
font=Ver_NickName_ttf
|
||||
)
|
||||
w_tit,h_tit = Ver_ChartName_ttf.getsize(chart_msg)
|
||||
x_ver_nickName = 2000 - w_tit -100
|
||||
date_common_pic.text(
|
||||
(x_ver_nickName, 410),
|
||||
chart_msg,
|
||||
fill=(255,255,255),
|
||||
font=Ver_ChartName_ttf
|
||||
)
|
||||
|
||||
|
||||
# 提取载具数据
|
||||
Character_BattleData = date["battleData"]
|
||||
# Character_Battle_weaponStatList
|
||||
landVehicleData = Character_BattleData["vehicleData"]["landVehicleData"]["vehicleData"]
|
||||
waterVehicleData = Character_BattleData["vehicleData"]["waterVehicleData"]["vehicleData"]
|
||||
otherVehicleData = Character_BattleData["vehicleData"]["otherVehicleData"]["vehicleData"]
|
||||
airVehicleData = Character_BattleData["vehicleData"]["airVehicleData"]["vehicleData"]
|
||||
|
||||
# 打开特定底图
|
||||
screen1 = Image.open(os.path.join(
|
||||
screen1_dir, screen_demo)).convert("RGBA")
|
||||
screen2 = Image.open(os.path.join(
|
||||
screen2_dir, screen_demo)).convert("RGBA")
|
||||
w_screen1, h_screen1 = screen1.size
|
||||
w_screen1r, w_screen1g, w_screen1b, w_screen1a = screen1.split()
|
||||
# 筛选标题和横幅
|
||||
text = "载具总览"
|
||||
w_text, h_text = Title.getsize(text)
|
||||
w_tiaotiao, h_tiaotiao = article.size
|
||||
# 坐标数据
|
||||
h_act = 40
|
||||
hlist = []
|
||||
for i in range(0, num):
|
||||
hf = h_tiaotiao + h_screen1 * i - h_act * (i + 1)
|
||||
hlist.append(hf)
|
||||
|
||||
# 计算总高度并生成新画布
|
||||
h_scr = h_screen1 * num + h_tiaotiao - h_act * (num)
|
||||
date_screen = Image.new("RGBA", (w_screen1, h_scr), (0, 124,212,100))
|
||||
|
||||
date_screen.paste(article, (0, 0), article_a)
|
||||
date_screen.paste(down, (0, 0), down_a)
|
||||
# 区别排列数据展示框
|
||||
for i in range(0, num):
|
||||
if i % 2 == 0:
|
||||
if i == 0:
|
||||
date_screen.paste(message, (0, hlist[i]), message_a)
|
||||
else:
|
||||
date_screen.paste(screen1, (0, hlist[i]), w_screen1a)
|
||||
else:
|
||||
date_screen.paste(screen2, (0, hlist[i]), w_screen1a)
|
||||
# date_screen.paste(by, (0, hlist[-1]+h_screen1-h_act), by_a)
|
||||
# 添加数据
|
||||
date_screen_pic = ImageDraw.Draw(date_screen)
|
||||
date_screen_pic.text(
|
||||
(((w_screen1 - w_text) / 2), 50),
|
||||
text,
|
||||
fill=(0, 0, 0),
|
||||
font=Title,
|
||||
)
|
||||
# date_screen.paste(by, (0, hlist[-1]+h_screen1-h_act), by_a)
|
||||
# 敌前三的武器数据
|
||||
# sorted_list = (sorted(Character_Battle_weaponStatList, key=lambda x: x['kill']))[-3:]
|
||||
# sorted_list = Character_Battle_weaponStatList[:(num-1)]
|
||||
|
||||
|
||||
sorted_list = await filtrate_common().vehicle_filtrate_common(Character_BattleData, factionId)
|
||||
#await
|
||||
|
||||
# sorted_list = (sorted(sorted_list1, key=lambda x: x['kill']))
|
||||
#sorted_list.insert(3, AD) 插入广告用
|
||||
|
||||
for i in range(0, len(sorted_list)):
|
||||
kill = sorted_list[i]["kill"]
|
||||
kps = sorted_list[i]["spk"]
|
||||
hit = sorted_list[i]["hit"]
|
||||
fire = sorted_list[i]["fire"]
|
||||
accuracy = sorted_list[i]["accuracy"]
|
||||
rdkill = sorted_list[i]["roadKill"]
|
||||
hpk = "%.2f" % sorted_list[i]["hpk"] # 命中数量/击杀数量
|
||||
playTime = int(((sorted_list[i]["playTime"])))
|
||||
minutes, seconds = divmod(playTime, 60)
|
||||
hours, minutes = divmod(minutes, 60)
|
||||
days, hours = divmod(hours, 24)
|
||||
dtime = f"{days}天 {hours}时 {minutes}分 {seconds}秒"
|
||||
imageID = sorted_list[i]["imageId"]
|
||||
name = sorted_list[i]["name"]
|
||||
damage = (sorted_list[i]["damage"])/10000
|
||||
dmg = (("%.2f" % damage) + 'W')
|
||||
|
||||
try:
|
||||
icon = str(imageID + ".png")
|
||||
except:
|
||||
if i == 3:
|
||||
icon = str('none.png')
|
||||
else:
|
||||
icon = str('wrel.png')
|
||||
weapon_icondir = str(os.path.join(icon_dir, icon))
|
||||
# 拆分名字
|
||||
string_B = ""
|
||||
|
||||
try:
|
||||
splitted = name.split(" ")
|
||||
string_A = splitted[0] # 获取第一个部分
|
||||
string_B = ''.join(str(x)
|
||||
for x in splitted[1:]) # 获取第二个部分
|
||||
except:
|
||||
string_A = name
|
||||
w_string_A, h_string_A = Title.getsize(str(string_A))
|
||||
w_string_B, h_string_B = Title.getsize(str(string_B))
|
||||
if w_string_A + w_string_B < 465:
|
||||
string_A = name
|
||||
string_B = ''
|
||||
w_string_A, h_string_A = Title.getsize(str(string_A))
|
||||
w_string_B, h_string_B = Title.getsize(str(string_B))
|
||||
|
||||
# 计算参数
|
||||
try:
|
||||
weapon = Image.open(weapon_icondir).convert("RGBA")
|
||||
except:
|
||||
weapon = Image.open(
|
||||
str(os.path.join(Source_dir, bruh))).convert("RGBA")
|
||||
weapon_r, weapon_g, weapon_b, weapon_a = weapon.split()
|
||||
w_kill, h_kill = heavyit.getsize(str(kill))
|
||||
w_death, h_death = Title.getsize(str(fire))
|
||||
w_hsr, h_hsr = Title.getsize(str(hit))
|
||||
w_accuracy, h_accuracy = Title.getsize(str(accuracy))
|
||||
w_kdr, h_kdr = Title.getsize(str(kps))
|
||||
w_kpm, h_kpm = Title.getsize(str(dmg))
|
||||
w_hpk, h_hpk = Title.getsize(str(hpk))
|
||||
w_ivi, h_ivi = Title.getsize(str(rdkill))
|
||||
w_playTime, h_playTime = Title.getsize(str(dtime))
|
||||
|
||||
interval = 860
|
||||
(x, y) = weapon.size
|
||||
x_s = 400 # 定义缩小后的标准宽度
|
||||
y_s = int(y * x_s / x) # 基于标准宽度计算缩小后的高度
|
||||
weapon1 = weapon.resize((x_s, y_s), Image.ANTIALIAS)
|
||||
r, g, b, a = weapon1.split()
|
||||
if weapon.size == (128, 128):
|
||||
date_screen.paste(
|
||||
weapon1, (110, (360 + interval + interval * i)), a)
|
||||
elif weapon.size == (400, 400):
|
||||
date_screen.paste(
|
||||
weapon1, (110, (360 + interval + interval * i)), a)
|
||||
else:
|
||||
date_screen.paste(
|
||||
weapon1, (110, (460 + interval + interval * i)), a)
|
||||
|
||||
date_screen_pic.text(
|
||||
(20, 150 + interval + interval * i),
|
||||
str(i+1),
|
||||
fill=(255, 255, 255), # 255, 87, 23
|
||||
font=Numttf, # heavyit
|
||||
)
|
||||
|
||||
date_screen_pic.text(
|
||||
((850 + (370 - w_kill) / 2), 333 + interval + interval * i),
|
||||
str(kill),
|
||||
fill=(0, 0, 0), # 255, 87, 23
|
||||
font=Title, # heavyit
|
||||
)
|
||||
date_screen_pic.text(
|
||||
((850 + (370 - w_death) / 2), 475 + interval + interval * i),
|
||||
str(fire),
|
||||
fill=(0, 0, 0),
|
||||
font=Title,
|
||||
)
|
||||
date_screen_pic.text(
|
||||
((850 + (370 - w_hsr) / 2), 617 + interval + interval * i),
|
||||
str(hit),
|
||||
fill=(0, 0, 0),
|
||||
font=Title,
|
||||
)
|
||||
date_screen_pic.text(
|
||||
((850 + (370 - w_accuracy) / 2),
|
||||
753 + interval + interval * i),
|
||||
str(accuracy),
|
||||
fill=(0, 0, 0),
|
||||
font=Title,
|
||||
)
|
||||
date_screen_pic.text(
|
||||
((1540 + (370 - w_kdr) / 2), 333 + interval + interval * i),
|
||||
str(kps),
|
||||
fill=(0, 0, 0),
|
||||
font=Title,
|
||||
)
|
||||
date_screen_pic.text(
|
||||
((1540 + (370 - w_kpm) / 2), 475 + interval + interval * i),
|
||||
str(dmg),
|
||||
fill=(0, 0, 0),
|
||||
font=Title,
|
||||
)
|
||||
date_screen_pic.text(
|
||||
((1540 + (370 - w_hpk) / 2), 617 + interval + interval * i),
|
||||
str(hpk),
|
||||
fill=(0, 0, 0),
|
||||
font=Title,
|
||||
)
|
||||
date_screen_pic.text(
|
||||
((1540 + (370 - w_ivi) / 2), 753 + interval + interval * i),
|
||||
str(rdkill),
|
||||
fill=(0, 0, 0),
|
||||
font=Title,
|
||||
)
|
||||
if w_string_A > 465:
|
||||
Title_s = ImageFont.truetype(
|
||||
(os.path.join(Source_dir, judou_blod)),
|
||||
64,
|
||||
)
|
||||
w_string_A, h_string_A = Title_s.getsize(str(string_A))
|
||||
date_screen_pic.text(
|
||||
((65 + (465 - w_string_A) / 2),
|
||||
830 + interval + interval * i),
|
||||
str(string_A),
|
||||
fill=(0, 67, 48),
|
||||
font=Title_s,
|
||||
)
|
||||
else:
|
||||
date_screen_pic.text(
|
||||
((65 + (465 - w_string_A) / 2),
|
||||
830 + interval + interval * i),
|
||||
str(string_A),
|
||||
fill=(0, 67, 48),
|
||||
font=Title,
|
||||
)
|
||||
|
||||
if w_string_B > 465:
|
||||
Title_s = ImageFont.truetype(
|
||||
(os.path.join(Source_dir, judou_blod)),
|
||||
64,
|
||||
)
|
||||
w_string_B, h_string_B = Title_s.getsize(str(string_B))
|
||||
if w_string_B > 465:
|
||||
None
|
||||
else:
|
||||
date_screen_pic.text(
|
||||
((65 + (465 - w_string_B) / 2),
|
||||
920 + interval + interval * i),
|
||||
str(string_B),
|
||||
fill=(0, 67, 48),
|
||||
font=Title_s,
|
||||
)
|
||||
else:
|
||||
|
||||
date_screen_pic.text(
|
||||
((65 + (465 - w_string_B) / 2),
|
||||
920 + interval + interval * i),
|
||||
str(string_B),
|
||||
fill=(0, 67, 48),
|
||||
font=Title,
|
||||
)
|
||||
date_screen_pic.text(
|
||||
((1030 + (870 - w_playTime) / 2),
|
||||
912 + interval + interval * i+3),
|
||||
str(dtime),
|
||||
fill=(0, 0, 0),
|
||||
font=Title,
|
||||
)
|
||||
|
||||
w_screen, h_screen = date_screen.size
|
||||
h = height + h_screen
|
||||
date1 = Image.new("RGBA", (w_screen1, h), (0,124,212,0))
|
||||
sr, sg, sb, sa = date_screen.split()
|
||||
te = h_screen + 1900
|
||||
# 生成最终图
|
||||
date1.paste(date_common, (0, 0))
|
||||
date1.paste(date_screen, (0, 900), sa)
|
||||
date1.paste(by, (0, te), by_a)
|
||||
"""# 添加广告信息
|
||||
w_afd, h_afd = afd.size
|
||||
|
||||
w_date1, h_date1 = date1.size
|
||||
h_adlast = h_afd + h_date1
|
||||
date2 = Image.new("RGBA", (w_date1, h_adlast), (4, 212, 155, 0))
|
||||
dr, dg, db, da = date1.split()
|
||||
date2.paste(date1, (0, 0), da)
|
||||
date2.paste(afd, (0, h_date1))"""
|
||||
|
||||
# 保存
|
||||
# date1.save('test.png')
|
||||
w_date1, h_date1 = date1.size
|
||||
date2 = date1.convert("RGB")
|
||||
date2 = date2.resize((w_date1, h_date1), Image.ANTIALIAS)
|
||||
filename = str(charactername) + '.jpg'
|
||||
Output_dir = os.path.join(file_path, "Charter_Sundy_Query/Output")
|
||||
output = os.path.join(Output_dir, filename)
|
||||
date2.save(output, "JPEG", quality=70, subsampling=0)
|
||||
|
||||
return filename
|
||||
# return date1
|
||||
|
||||
|
||||
|
||||
class filtrate_common():
|
||||
|
||||
#def txt_reader(self):
|
||||
async def txt_reader(self):
|
||||
with open("GGou7.txt", "r", encoding='gbk') as file:
|
||||
lines = file.read().strip("'").strip('"')
|
||||
lines = lines.replace("\n", "")
|
||||
lines = lines.replace("\t", "")
|
||||
lines = lines.strip("'")
|
||||
lines = json.loads(lines)
|
||||
# lines = lines.strip()
|
||||
return lines
|
||||
|
||||
|
||||
#def vehicle_filtrate_common(self, Character_BattleData, factionId):
|
||||
async def vehicle_filtrate_common(self, Character_BattleData, factionId):
|
||||
landVehicleData = Character_BattleData["vehicleData"]["landVehicleData"]["vehicleData"]
|
||||
waterVehicleData = Character_BattleData["vehicleData"]["waterVehicleData"]["vehicleData"]
|
||||
otherVehicleData = Character_BattleData["vehicleData"]["otherVehicleData"]["vehicleData"]
|
||||
airVehicleData = Character_BattleData["vehicleData"]["airVehicleData"]["vehicleData"]
|
||||
date_list = [landVehicleData, waterVehicleData,
|
||||
otherVehicleData, airVehicleData]
|
||||
nc_list = ["Reaver", "Vanguard", "Flash", "Harasser", "Sunderer", "Lightning",
|
||||
"Corsair", "Valkyrie", "Liberator", "Galaxy", "Colossus", "Bastion Fleet Carrier", "Flash XS-1", "Drop Pod",]
|
||||
vs_list = ["Scythe", "Magrider", "Flash", "Harasser", "Sunderer", "Lightning",
|
||||
"Corsair", "Valkyrie", "Liberator", "Galaxy", "Colossus", "Bastion Fleet Carrier", "Flash XS-1", "Drop Pod",]
|
||||
tr_list = ["Mosquito", "Prowler", "Flash", "Harasser", "Sunderer", "Lightning",
|
||||
"Corsair", "Valkyrie", "Liberator", "Galaxy", "Colossus", "Bastion Fleet Carrier", "Flash XS-1", "Drop Pod",]
|
||||
nso_list = ["Dervish", "Chimera", "Flash", "Harasser", "Sunderer", "Lightning",
|
||||
"Corsair", "Valkyrie", "Liberator", "Galaxy", "Colossus", "Bastion Fleet Carrier", "Flash XS-1", "Drop Pod",]
|
||||
|
||||
text = []
|
||||
output = []
|
||||
if factionId == "1":
|
||||
for b in range(0, len(date_list)):
|
||||
for i in range(0, len(date_list[b])):
|
||||
mid = date_list[b][i]
|
||||
partial_dict = {k: mid[k] for k in list(mid.keys())[:-1]}
|
||||
|
||||
text.append(partial_dict)
|
||||
|
||||
test = [item for item in text if item["engName"] in vs_list]
|
||||
|
||||
def custom_order_index(item):
|
||||
return vs_list.index(item["engName"])
|
||||
sorted_list = sorted(test, key=custom_order_index)
|
||||
# output.append(test)
|
||||
elif factionId == "2":
|
||||
for b in range(0, len(date_list)):
|
||||
for i in range(0, len(date_list[b])):
|
||||
mid = date_list[b][i]
|
||||
partial_dict = {k: mid[k] for k in list(mid.keys())[:-1]}
|
||||
|
||||
text.append(partial_dict)
|
||||
|
||||
test = [item for item in text if item["engName"] in nc_list]
|
||||
|
||||
def custom_order_index(item):
|
||||
return nc_list.index(item["engName"])
|
||||
sorted_list = sorted(test, key=custom_order_index)
|
||||
elif factionId == "2":
|
||||
for b in range(0, len(date_list)):
|
||||
for i in range(0, len(date_list[b])):
|
||||
mid = date_list[b][i]
|
||||
partial_dict = {k: mid[k] for k in list(mid.keys())[:-1]}
|
||||
|
||||
text.append(partial_dict)
|
||||
|
||||
test = [item for item in text if item["engName"] in tr_list]
|
||||
|
||||
def custom_order_index(item):
|
||||
return tr_list.index(item["engName"])
|
||||
sorted_list = sorted(test, key=custom_order_index)
|
||||
# output.append(test)
|
||||
else:
|
||||
for b in range(0, len(date_list)):
|
||||
for i in range(0, len(date_list[b])):
|
||||
mid = date_list[b][i]
|
||||
partial_dict = {k: mid[k] for k in list(mid.keys())[:-1]}
|
||||
|
||||
text.append(partial_dict)
|
||||
|
||||
test = [item for item in text if item["engName"] in nso_list]
|
||||
# output.append(test)
|
||||
|
||||
def custom_order_index(item):
|
||||
return nso_list.index(item["engName"])
|
||||
sorted_list = sorted(test, key=custom_order_index)
|
||||
# return sorted_list
|
||||
|
||||
|
||||
return sorted_list
|
||||
|
||||
|
||||
|
||||
"""name = "GGou7"
|
||||
date = Vechile_await Character_Query().Character_date(name)
|
||||
|
||||
# date = Vechile_await Character_Query().txt_reader()
|
||||
start = Vechile_await Character_Query().Date_Rinse_common(date)
|
||||
print(start)"""
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,399 @@
|
||||
2026-03-28 13:24:04,711 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-28 13:24:04,714 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-28 13:24:09,718 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-28 13:24:09,719 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-28 13:24:09,719 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-28 13:24:09,871 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-28 13:24:09,960 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-28 13:24:09,960 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-28 13:54:09,900 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-28 13:54:09,901 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-28 13:54:14,907 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-28 13:54:14,907 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-28 13:54:14,908 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-28 13:54:15,037 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-28 13:54:15,128 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-28 13:54:15,129 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-28 14:16:28,418 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 6245
|
||||
2026-03-28 14:16:30,885 [INFO] (ru2n.py:776)on_group_at_message_create {'id': 'ROBOT1.0_DzDSqsgzBVjRlZTzYsAVrThorTrcffp2PnBq8LrHzpOyrc8PX-OiRezRqZyKCq3ZGW0zXhQTpMcDCskmHet.oQ!!', 'timestamp': '2026-03-28T14:16:30+08:00', 'ext_info': {'ref_idx': 'REFIDX_QlwuQ7pXlyCdvyiJQKnjWMtG81ovPjw88HwjHppK6Gc='}}
|
||||
2026-03-28 14:16:43,035 [INFO] (ru2n.py:432)on_group_at_message_create {'id': 'ROBOT1.0_DzDSqsgzBVjRlZTzYsAVrXLwX851CW0k9e4karrUXBaXTnLo4Rmrv9rT5QJEpiIIZRj-d3mgTpZveQ5c5SEUKw!!', 'timestamp': '2026-03-28T14:16:42+08:00', 'ext_info': {'ref_idx': 'REFIDX_4GpX71ISPP9J8VaK+m2tustG81ovPjw88HwjHppK6Gc='}}
|
||||
2026-03-28 14:24:15,061 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-28 14:24:15,063 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-28 14:24:20,066 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-28 14:24:20,067 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-28 14:24:20,067 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-28 14:24:20,255 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-28 14:24:20,379 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-28 14:24:20,379 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-28 14:54:20,263 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-28 14:54:20,265 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-28 14:54:25,270 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-28 14:54:25,270 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-28 14:54:25,270 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-28 14:54:25,412 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-28 14:54:25,499 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-28 14:54:25,499 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-28 15:24:25,397 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-28 15:24:25,398 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-28 15:24:30,402 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-28 15:24:30,402 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-28 15:24:30,402 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-28 15:24:30,565 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-28 15:24:30,670 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-28 15:24:30,670 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-28 15:54:30,564 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-28 15:54:30,566 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-28 15:54:35,570 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-28 15:54:35,571 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-28 15:54:35,571 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-28 15:54:35,723 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-28 15:54:35,837 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-28 15:54:35,837 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-28 16:24:35,735 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-28 16:24:35,737 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-28 16:24:40,738 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-28 16:24:40,739 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-28 16:24:40,739 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-28 16:24:40,886 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-28 16:24:41,396 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 5752
|
||||
2026-03-28 16:24:41,503 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-28 16:24:41,504 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-28 16:54:40,896 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-28 16:54:40,897 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-28 16:54:45,898 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-28 16:54:45,899 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-28 16:54:45,899 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-28 16:54:46,078 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-28 16:54:46,173 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-28 16:54:46,173 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-28 17:24:46,048 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-28 17:24:46,049 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-28 17:24:51,054 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-28 17:24:51,055 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-28 17:24:51,055 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-28 17:24:51,223 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-28 17:24:51,306 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-28 17:24:51,306 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-28 17:54:51,241 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-28 17:54:51,242 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-28 17:54:56,246 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-28 17:54:56,246 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-28 17:54:56,246 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-28 17:54:56,405 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-28 17:54:56,493 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-28 17:54:56,493 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-28 18:24:56,437 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-28 18:24:56,439 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-28 18:25:01,442 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-28 18:25:01,442 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-28 18:25:01,443 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-28 18:25:01,608 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-28 18:25:01,955 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 5732
|
||||
2026-03-28 18:25:02,106 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-28 18:25:02,107 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-28 18:55:01,620 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-28 18:55:01,622 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-28 18:55:06,627 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-28 18:55:06,627 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-28 18:55:06,627 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-28 18:55:06,787 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-28 18:55:06,873 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-28 18:55:06,873 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-28 19:25:06,773 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-28 19:25:06,774 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-28 19:25:11,779 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-28 19:25:11,779 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-28 19:25:11,779 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-28 19:25:11,955 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-28 19:25:12,061 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-28 19:25:12,062 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-28 19:43:10,957 [INFO] (ru2n.py:432)on_group_at_message_create {'id': 'ROBOT1.0_2iXIKOI6IkwO1VECMuNKXkSaZgoYHbwkTu1YPwCJOcOfEmr2wdDz.fK1UPqZbQO1F7NNy0GhqRoLQ0PVdHmjiw!!', 'timestamp': '2026-03-28T19:43:09+08:00', 'ext_info': {'ref_idx': 'REFIDX_BdvAY/wccdFjGbEVVhE7Jg=='}}
|
||||
2026-03-28 19:55:11,956 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-28 19:55:11,956 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-28 19:55:16,959 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-28 19:55:16,960 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-28 19:55:16,960 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-28 19:55:17,124 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-28 19:55:17,238 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-28 19:55:17,238 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-28 20:25:17,148 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-28 20:25:17,149 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-28 20:25:22,154 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-28 20:25:22,154 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-28 20:25:22,154 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-28 20:25:22,303 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-28 20:25:22,524 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 5711
|
||||
2026-03-28 20:25:22,627 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-28 20:25:22,628 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-28 20:55:22,318 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-28 20:55:22,318 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-28 20:55:27,322 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-28 20:55:27,323 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-28 20:55:27,323 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-28 20:55:27,458 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-28 20:55:27,534 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-28 20:55:27,534 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-28 21:25:27,452 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-28 21:25:27,453 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-28 21:25:32,457 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-28 21:25:32,458 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-28 21:25:32,458 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-28 21:25:32,629 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-28 21:25:32,738 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-28 21:25:32,738 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-28 21:55:32,633 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-28 21:55:32,633 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-28 21:55:37,637 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-28 21:55:37,639 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-28 21:55:37,639 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-28 21:55:37,813 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-28 21:55:37,925 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-28 21:55:37,925 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-28 22:25:37,809 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-28 22:25:37,810 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-28 22:25:42,814 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-28 22:25:42,815 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-28 22:25:42,815 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-28 22:25:42,988 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-28 22:25:43,301 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 5691
|
||||
2026-03-28 22:25:43,396 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-28 22:25:43,396 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-28 22:55:42,988 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-28 22:55:42,989 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-28 22:55:47,991 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-28 22:55:47,992 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-28 22:55:47,992 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-28 22:55:48,358 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-28 22:55:48,472 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-28 22:55:48,472 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-28 23:25:48,356 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-28 23:25:48,357 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-28 23:25:53,362 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-28 23:25:53,364 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-28 23:25:53,364 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-28 23:25:53,517 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-28 23:25:53,610 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-28 23:25:53,610 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-28 23:55:53,509 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-28 23:55:53,510 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-28 23:55:58,514 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-28 23:55:58,515 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-28 23:55:58,515 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-28 23:55:58,675 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-28 23:55:58,778 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-28 23:55:58,778 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 00:25:58,684 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 00:25:58,685 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 00:26:03,689 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 00:26:03,690 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 00:26:03,690 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 00:26:03,845 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 00:26:04,168 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 5670
|
||||
2026-03-29 00:26:04,274 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 00:26:04,274 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 00:56:03,865 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 00:56:03,866 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 00:56:08,870 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 00:56:08,870 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 00:56:08,870 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 00:56:09,047 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 00:56:09,211 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 00:56:09,211 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 01:26:09,053 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 01:26:09,054 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 01:26:14,058 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 01:26:14,058 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 01:26:14,059 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 01:26:14,238 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 01:26:14,335 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 01:26:14,335 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 01:56:14,206 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 01:56:14,206 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 01:56:19,210 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 01:56:19,210 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 01:56:19,210 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 01:56:19,377 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 01:56:19,464 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 01:56:19,464 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 02:26:19,366 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 02:26:19,367 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 02:26:24,372 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 02:26:24,372 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 02:26:24,372 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 02:26:24,548 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 02:26:24,837 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 5649
|
||||
2026-03-29 02:26:24,925 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 02:26:24,925 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 02:56:24,566 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 02:56:24,567 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 02:56:29,570 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 02:56:29,571 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 02:56:29,571 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 02:56:29,747 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 02:56:29,832 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 02:56:29,832 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 03:26:29,758 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 03:26:29,759 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 03:26:34,763 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 03:26:34,764 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 03:26:34,764 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 03:26:34,908 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 03:26:34,999 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 03:26:35,000 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 03:56:34,921 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 03:56:34,922 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 03:56:39,927 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 03:56:39,927 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 03:56:39,927 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 03:56:40,085 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 03:56:40,185 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 03:56:40,185 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 04:26:40,094 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 04:26:40,095 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 04:26:45,098 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 04:26:45,098 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 04:26:45,098 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 04:26:45,281 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 04:26:45,581 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 5628
|
||||
2026-03-29 04:26:45,673 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 04:26:45,674 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 04:56:45,287 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 04:56:45,287 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 04:56:50,290 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 04:56:50,291 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 04:56:50,291 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 04:56:50,468 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 04:56:50,563 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 04:56:50,563 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 05:26:50,471 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 05:26:50,472 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 05:26:55,478 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 05:26:55,479 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 05:26:55,480 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 05:26:55,660 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 05:26:55,747 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 05:26:55,748 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 05:56:55,661 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 05:56:55,662 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 05:57:00,666 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 05:57:00,666 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 05:57:00,667 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 05:57:00,848 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 05:57:00,927 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 05:57:00,928 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 06:27:00,840 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 06:27:00,841 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 06:27:05,846 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 06:27:05,846 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 06:27:05,846 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 06:27:06,021 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 06:27:06,328 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 5607
|
||||
2026-03-29 06:27:06,417 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 06:27:06,417 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 06:57:06,044 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 06:57:06,045 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 06:57:11,049 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 06:57:11,049 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 06:57:11,050 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 06:57:11,261 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 06:57:11,339 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 06:57:11,339 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 07:27:11,255 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 07:27:11,256 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 07:27:16,261 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 07:27:16,262 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 07:27:16,262 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 07:27:16,411 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 07:27:16,519 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 07:27:16,519 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 07:57:16,421 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 07:57:16,422 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 07:57:21,424 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 07:57:21,425 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 07:57:21,425 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 07:57:21,572 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 07:57:21,656 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 07:57:21,657 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 08:27:21,572 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 08:27:21,573 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 08:27:26,578 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 08:27:26,578 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 08:27:26,579 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 08:27:26,799 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 08:27:27,123 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 5587
|
||||
2026-03-29 08:27:27,218 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 08:27:27,218 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 08:57:26,803 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 08:57:26,804 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 08:57:31,806 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 08:57:31,806 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 08:57:31,806 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 08:57:31,953 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 08:57:32,057 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 08:57:32,057 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 09:27:31,954 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 09:27:31,955 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 09:27:36,960 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 09:27:36,960 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 09:27:36,960 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 09:27:37,111 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 09:27:37,213 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 09:27:37,213 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 09:57:37,094 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 09:57:37,095 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 09:57:42,100 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 09:57:42,100 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 09:57:42,100 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 09:57:42,267 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 09:57:42,361 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 09:57:42,361 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 10:27:42,291 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 10:27:42,292 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 10:27:47,297 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 10:27:47,297 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 10:27:47,298 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 10:27:47,435 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 10:27:47,782 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 5566
|
||||
2026-03-29 10:27:47,892 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 10:27:47,892 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 10:57:47,430 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 10:57:47,431 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 10:57:52,434 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 10:57:52,434 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 10:57:52,434 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 10:57:52,590 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 10:57:52,692 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 10:57:52,692 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 11:27:52,564 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 11:27:52,565 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 11:27:57,568 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 11:27:57,569 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 11:27:57,569 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 11:27:57,701 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 11:27:57,806 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 11:27:57,807 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 11:57:57,722 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 11:57:57,723 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 11:58:02,728 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 11:58:02,729 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 11:58:02,729 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 11:58:02,909 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 11:58:03,006 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 11:58:03,006 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 12:28:02,911 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 12:28:02,912 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 12:28:07,914 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 12:28:07,915 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 12:28:07,916 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 12:28:08,067 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 12:28:08,392 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 5545
|
||||
2026-03-29 12:28:08,478 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 12:28:08,478 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 12:58:08,071 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 12:58:08,072 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 12:58:13,075 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 12:58:13,076 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 12:58:13,076 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 12:58:13,238 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 12:58:13,319 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 12:58:13,319 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
@@ -0,0 +1,396 @@
|
||||
2026-03-29 13:28:13,252 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 13:28:13,255 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 13:28:18,258 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 13:28:18,259 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 13:28:18,259 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 13:28:18,404 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 13:28:18,511 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 13:28:18,511 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 13:58:18,405 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 13:58:18,406 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 13:58:23,410 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 13:58:23,410 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 13:58:23,410 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 13:58:23,546 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 13:58:23,666 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 13:58:23,667 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 14:28:23,578 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 14:28:23,580 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 14:28:28,584 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 14:28:28,585 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 14:28:28,585 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 14:28:28,731 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 14:28:29,096 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 5525
|
||||
2026-03-29 14:28:29,235 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 14:28:29,235 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 14:58:28,733 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 14:58:28,735 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 14:58:33,737 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 14:58:33,738 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 14:58:33,738 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 14:58:33,972 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 14:58:34,068 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 14:58:34,069 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 15:28:33,949 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 15:28:33,950 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 15:28:38,954 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 15:28:38,954 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 15:28:38,954 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 15:28:39,090 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 15:28:39,178 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 15:28:39,178 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 15:58:39,108 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 15:58:39,108 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 15:58:44,113 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 15:58:44,113 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 15:58:44,113 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 15:58:44,246 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 15:58:44,418 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 15:58:44,418 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 16:28:44,258 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 16:28:44,259 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 16:28:49,261 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 16:28:49,262 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 16:28:49,262 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 16:28:49,438 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 16:28:49,832 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 5504
|
||||
2026-03-29 16:28:49,928 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 16:28:49,928 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 16:58:49,435 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 16:58:49,436 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 16:58:54,446 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 16:58:54,447 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 16:58:54,447 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 16:58:54,601 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 16:58:54,701 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 16:58:54,701 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 17:28:54,620 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 17:28:54,621 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 17:28:59,627 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 17:28:59,628 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 17:28:59,628 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 17:28:59,799 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 17:28:59,887 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 17:28:59,887 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 17:58:59,795 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 17:58:59,796 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 17:59:04,800 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 17:59:04,800 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 17:59:04,800 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 17:59:04,969 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 17:59:05,078 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 17:59:05,078 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 18:29:04,937 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 18:29:04,938 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 18:29:09,941 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 18:29:09,942 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 18:29:09,942 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 18:29:10,119 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 18:29:10,368 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 5483
|
||||
2026-03-29 18:29:10,471 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 18:29:10,471 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 18:59:10,162 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 18:59:10,163 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 18:59:15,166 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 18:59:15,166 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 18:59:15,167 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 18:59:15,382 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 18:59:15,477 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 18:59:15,477 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 19:29:15,360 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 19:29:15,361 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 19:29:20,365 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 19:29:20,366 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 19:29:20,366 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 19:29:20,547 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 19:29:20,643 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 19:29:20,644 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 19:59:20,535 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 19:59:20,536 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 19:59:25,538 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 19:59:25,538 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 19:59:25,538 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 19:59:25,691 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 19:59:25,788 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 19:59:25,788 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 20:29:25,707 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 20:29:25,708 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 20:29:30,712 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 20:29:30,713 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 20:29:30,713 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 20:29:30,868 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 20:29:31,196 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 5463
|
||||
2026-03-29 20:29:31,308 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 20:29:31,308 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 20:59:30,880 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 20:59:30,880 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 20:59:35,884 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 20:59:35,885 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 20:59:35,885 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 20:59:36,058 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 20:59:36,158 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 20:59:36,158 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 21:29:36,065 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 21:29:36,066 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 21:29:41,071 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 21:29:41,071 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 21:29:41,071 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 21:29:41,234 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 21:29:41,330 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 21:29:41,330 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 21:59:41,220 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 21:59:41,221 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 21:59:46,225 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 21:59:46,226 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 21:59:46,226 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 21:59:46,376 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 21:59:46,505 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 21:59:46,506 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 22:29:46,361 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 22:29:46,362 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 22:29:51,365 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 22:29:51,366 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 22:29:51,366 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 22:29:51,518 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 22:29:51,845 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 5442
|
||||
2026-03-29 22:29:51,957 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 22:29:51,958 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 22:59:51,519 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 22:59:51,520 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 22:59:56,522 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 22:59:56,524 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 22:59:56,524 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 22:59:56,703 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 22:59:56,815 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 22:59:56,815 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-29 23:29:56,739 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-29 23:29:56,739 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-29 23:30:01,743 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-29 23:30:01,744 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-29 23:30:01,744 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-29 23:30:01,902 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-29 23:30:02,070 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-29 23:30:02,071 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 00:00:01,880 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 00:00:01,881 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 00:00:06,885 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 00:00:06,886 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 00:00:06,886 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 00:00:07,060 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 00:00:07,154 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 00:00:07,154 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 00:30:07,077 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 00:30:07,078 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 00:30:12,082 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 00:30:12,083 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 00:30:12,084 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 00:30:12,242 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 00:30:12,585 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 5419
|
||||
2026-03-30 00:30:12,690 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 00:30:12,690 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 01:00:12,249 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 01:00:12,250 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 01:00:17,252 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 01:00:17,253 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 01:00:17,253 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 01:00:17,427 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 01:00:17,552 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 01:00:17,552 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 01:30:17,423 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 01:30:17,424 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 01:30:22,429 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 01:30:22,430 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 01:30:22,430 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 01:30:22,598 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 01:30:22,686 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 01:30:22,686 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 02:00:22,600 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 02:00:22,601 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 02:00:27,606 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 02:00:27,606 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 02:00:27,606 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 02:00:27,773 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 02:00:27,868 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 02:00:27,868 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 02:30:27,790 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 02:30:27,790 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 02:30:32,792 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 02:30:32,792 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 02:30:32,792 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 02:30:32,940 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 02:30:33,624 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 5400
|
||||
2026-03-30 02:30:33,721 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 02:30:33,721 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 03:00:32,929 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 03:00:32,930 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 03:00:37,932 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 03:00:37,933 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 03:00:37,933 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 03:00:38,098 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 03:00:38,180 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 03:00:38,180 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 03:30:38,088 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 03:30:38,089 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 03:30:43,094 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 03:30:43,095 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 03:30:43,095 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 03:30:43,263 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 03:30:43,396 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 03:30:43,397 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 04:00:43,309 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 04:00:43,310 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 04:00:48,314 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 04:00:48,314 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 04:00:48,314 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 04:00:48,484 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 04:00:48,718 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 7185
|
||||
2026-03-30 04:00:48,801 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 04:00:48,802 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 04:30:48,506 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 04:30:48,507 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 04:30:53,511 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 04:30:53,512 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 04:30:53,512 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 04:30:53,678 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 04:30:53,766 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 04:30:53,766 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 05:00:53,637 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 05:00:53,638 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 05:00:58,642 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 05:00:58,642 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 05:00:58,642 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 05:00:58,824 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 05:00:58,930 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 05:00:58,930 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 05:30:58,814 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 05:30:58,815 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 05:31:03,818 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 05:31:03,818 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 05:31:03,818 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 05:31:03,972 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 05:31:04,051 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 05:31:04,051 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 06:01:03,986 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 06:01:03,986 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 06:01:08,989 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 06:01:08,989 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 06:01:08,989 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 06:01:09,196 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 06:01:09,450 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 7164
|
||||
2026-03-30 06:01:09,542 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 06:01:09,543 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 06:31:09,217 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 06:31:09,218 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 06:31:14,222 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 06:31:14,223 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 06:31:14,223 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 06:31:14,410 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 06:31:14,509 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 06:31:14,509 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 07:01:14,365 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 07:01:14,366 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 07:01:19,369 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 07:01:19,370 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 07:01:19,370 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 07:01:19,511 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 07:01:19,605 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 07:01:19,605 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 07:31:19,522 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 07:31:19,523 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 07:31:24,526 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 07:31:24,526 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 07:31:24,526 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 07:31:24,701 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 07:31:24,849 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 07:31:24,849 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 08:01:24,722 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 08:01:24,723 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 08:01:29,726 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 08:01:29,727 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 08:01:29,727 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 08:01:29,892 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 08:01:30,103 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 7144
|
||||
2026-03-30 08:01:30,204 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 08:01:30,205 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 08:31:29,872 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 08:31:29,873 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 08:31:34,878 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 08:31:34,879 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 08:31:34,879 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 08:31:35,030 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 08:31:35,122 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 08:31:35,123 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 09:01:35,045 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 09:01:35,046 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 09:01:40,050 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 09:01:40,051 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 09:01:40,051 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 09:01:40,190 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 09:01:40,288 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 09:01:40,288 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 09:31:40,198 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 09:31:40,199 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 09:31:45,204 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 09:31:45,204 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 09:31:45,204 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 09:31:45,379 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 09:31:45,482 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 09:31:45,483 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 10:01:45,611 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 10:01:45,612 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 10:01:50,614 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 10:01:50,614 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 10:01:50,614 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 10:01:50,801 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 10:01:51,016 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 7123
|
||||
2026-03-30 10:01:51,125 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 10:01:51,126 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 10:31:50,796 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 10:31:50,797 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 10:31:55,802 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 10:31:55,803 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 10:31:55,803 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 10:31:56,038 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 10:31:56,135 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 10:31:56,135 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 11:01:56,030 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 11:01:56,031 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 11:02:01,034 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 11:02:01,035 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 11:02:01,035 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 11:02:01,188 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 11:02:01,305 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 11:02:01,305 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 11:32:01,220 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 11:32:01,221 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 11:32:06,222 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 11:32:06,223 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 11:32:06,223 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 11:32:06,394 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 11:32:06,509 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 11:32:06,510 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 12:02:06,409 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 12:02:06,410 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 12:02:11,414 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 12:02:11,414 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 12:02:11,414 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 12:02:11,586 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 12:02:11,817 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 7102
|
||||
2026-03-30 12:02:11,919 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 12:02:11,919 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 12:32:11,578 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 12:32:11,579 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 12:32:16,583 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 12:32:16,583 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 12:32:16,583 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 12:32:16,728 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 12:32:16,823 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 12:32:16,824 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 13:02:16,721 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 13:02:16,722 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 13:02:21,727 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 13:02:21,728 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 13:02:21,728 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 13:02:21,889 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 13:02:21,974 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 13:02:21,974 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
@@ -0,0 +1,259 @@
|
||||
2026-03-30 13:32:21,896 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 13:32:21,899 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 13:32:26,902 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 13:32:26,902 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 13:32:26,902 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 13:32:27,082 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 13:32:27,175 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 13:32:27,175 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 14:02:27,095 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 14:02:27,096 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 14:02:32,100 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 14:02:32,101 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 14:02:32,101 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 14:02:32,312 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 14:02:32,616 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 7081
|
||||
2026-03-30 14:02:32,709 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 14:02:32,709 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 14:32:32,310 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 14:32:32,311 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 14:32:37,314 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 14:32:37,314 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 14:32:37,314 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 14:32:37,469 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 14:32:37,563 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 14:32:37,563 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 15:02:37,448 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 15:02:37,449 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 15:02:42,453 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 15:02:42,454 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 15:02:42,454 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 15:02:42,580 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 15:02:42,659 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 15:02:42,660 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 15:32:42,575 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 15:32:42,576 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 15:32:47,580 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 15:32:47,581 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 15:32:47,581 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 15:32:47,737 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 15:32:47,835 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 15:32:47,835 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 16:02:47,780 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 16:02:47,781 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 16:02:52,786 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 16:02:52,786 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 16:02:52,786 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 16:02:52,950 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 16:02:53,182 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 7012
|
||||
2026-03-30 16:02:53,284 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 16:02:53,284 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 16:32:52,954 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 16:32:52,955 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 16:32:57,958 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 16:32:57,958 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 16:32:57,958 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 16:32:58,122 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 16:32:58,253 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 16:32:58,254 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 17:02:58,129 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 17:02:58,130 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 17:03:03,132 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 17:03:03,133 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 17:03:03,133 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 17:03:03,302 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 17:03:03,402 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 17:03:03,402 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 17:33:03,298 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 17:33:03,299 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 17:33:08,301 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 17:33:08,302 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 17:33:08,302 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 17:33:08,468 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 17:33:08,564 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 17:33:08,564 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 18:03:08,476 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 18:03:08,477 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 18:03:13,482 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 18:03:13,482 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 18:03:13,482 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 18:03:13,650 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 18:03:13,867 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 7040
|
||||
2026-03-30 18:03:13,983 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 18:03:13,983 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 18:33:13,653 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 18:33:13,654 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 18:33:18,656 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 18:33:18,656 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 18:33:18,656 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 18:33:18,785 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 18:33:19,152 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 18:33:19,152 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 19:03:18,795 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 19:03:18,795 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 19:03:23,800 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 19:03:23,801 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 19:03:23,801 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 19:03:23,997 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 19:03:24,089 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 19:03:24,089 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 19:33:24,013 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 19:33:24,015 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 19:33:29,018 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 19:33:29,018 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 19:33:29,018 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 19:33:29,166 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 19:33:29,264 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 19:33:29,265 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 20:03:29,166 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 20:03:29,167 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 20:03:34,170 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 20:03:34,170 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 20:03:34,170 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 20:03:34,355 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 20:03:34,618 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 7019
|
||||
2026-03-30 20:03:34,704 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 20:03:34,704 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 20:33:34,352 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 20:33:34,353 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 20:33:39,357 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 20:33:39,358 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 20:33:39,358 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 20:33:39,536 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 20:33:39,636 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 20:33:39,637 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 20:58:39,571 [INFO] (ru2n.py:432)on_group_at_message_create {'id': 'ROBOT1.0_DzDSqsgzBVjRlZTzYsAVrTWQPhQ9Qa2sJW9TIUvsD4yDT-mEjhVvW5uTjv27M3d0u1LJxZMbXleEkWXFSfXiUw!!', 'timestamp': '2026-03-30T20:58:38+08:00', 'ext_info': {'ref_idx': 'REFIDX_0CDyac1qMwvEFRo0Z8anTctG81ovPjw88HwjHppK6Gc='}}
|
||||
2026-03-30 21:03:39,544 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 21:03:39,545 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 21:03:44,550 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 21:03:44,550 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 21:03:44,550 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 21:03:44,720 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 21:03:44,818 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 21:03:44,819 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 21:33:44,716 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 21:33:44,717 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 21:33:49,720 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 21:33:49,720 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 21:33:49,720 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 21:33:49,960 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 21:33:50,081 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 21:33:50,081 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 22:03:49,938 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 22:03:49,939 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 22:03:54,945 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 22:03:54,945 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 22:03:54,946 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 22:03:55,121 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 22:03:55,358 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 6998
|
||||
2026-03-30 22:03:55,458 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 22:03:55,458 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 22:33:55,124 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 22:33:55,125 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 22:34:00,130 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 22:34:00,130 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 22:34:00,130 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 22:34:00,292 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 22:34:00,381 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 22:34:00,382 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 23:04:00,293 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 23:04:00,294 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 23:04:05,298 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 23:04:05,299 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 23:04:05,299 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 23:04:05,446 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 23:04:05,540 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 23:04:05,541 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-30 23:34:05,432 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-30 23:34:05,433 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-30 23:34:10,437 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-30 23:34:10,438 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-30 23:34:10,438 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-30 23:34:10,597 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-30 23:34:10,692 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-30 23:34:10,693 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-31 00:04:10,629 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-31 00:04:10,631 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-31 00:04:15,635 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-31 00:04:15,636 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-31 00:04:15,636 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-31 00:04:15,813 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-31 00:04:16,030 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 6978
|
||||
2026-03-31 00:04:16,175 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-31 00:04:16,176 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-31 00:34:15,806 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-31 00:34:15,808 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-31 00:34:20,814 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-31 00:34:20,815 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-31 00:34:20,815 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-31 00:34:20,968 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-31 00:34:21,051 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-31 00:34:21,052 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-31 01:04:20,955 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-31 01:04:20,957 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-31 01:04:25,962 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-31 01:04:25,963 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-31 01:04:25,963 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-31 01:04:26,158 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-31 01:04:26,254 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-31 01:04:26,255 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-31 01:34:26,163 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-31 01:34:26,165 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-31 01:34:31,167 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-31 01:34:31,168 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-31 01:34:31,168 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-31 01:34:31,336 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-31 01:34:31,438 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-31 01:34:31,439 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-31 02:04:31,345 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-31 02:04:31,346 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-31 02:04:36,351 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-31 02:04:36,353 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-31 02:04:36,353 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-31 02:04:36,509 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-31 02:04:36,759 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 6957
|
||||
2026-03-31 06:35:17,927 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-31 06:35:17,928 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-31 06:35:22,933 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-31 06:35:22,934 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-31 06:35:22,934 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-31 06:35:23,083 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-31 06:35:23,171 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-31 06:35:23,172 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-31 07:05:23,081 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-31 07:05:23,082 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-31 07:05:28,087 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-31 07:05:28,088 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-31 07:05:28,088 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-31 07:05:28,251 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-31 07:05:28,366 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-31 07:05:28,367 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-31 07:35:28,435 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-31 07:35:28,436 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-31 07:35:33,438 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-31 07:35:33,438 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-31 07:35:33,438 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-31 07:35:33,596 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-31 07:35:33,675 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-31 07:35:33,676 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-31 08:05:33,589 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-31 08:05:33,590 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-31 08:05:38,594 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-31 08:05:38,595 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-31 08:05:38,595 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-31 08:05:38,779 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-31 08:05:39,033 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 6895
|
||||
2026-03-31 08:05:39,132 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-31 08:05:39,132 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-31 08:35:38,774 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-31 08:35:38,775 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-31 08:35:43,779 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-31 08:35:43,779 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-31 08:35:43,779 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-31 08:35:43,966 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-31 08:35:44,135 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-31 08:35:44,135 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-31 09:05:43,999 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-31 09:05:44,000 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-31 09:05:49,003 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026
|
||||
@@ -0,0 +1,218 @@
|
||||
2026-03-31 13:36:30,580 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-31 13:36:35,587 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-31 13:36:35,587 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-31 13:36:35,587 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-31 13:36:35,725 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-31 13:36:35,826 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-31 13:36:35,826 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-31 14:06:35,729 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-31 14:06:35,730 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-31 14:06:40,732 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-31 14:06:40,732 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-31 14:06:40,732 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-31 14:06:40,880 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-31 14:06:41,173 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 6833
|
||||
2026-03-31 14:06:41,262 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-31 14:06:41,262 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-31 14:36:40,869 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-31 14:36:40,870 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-31 14:36:45,874 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-31 14:36:45,874 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-31 14:36:45,874 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-31 14:36:46,066 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-31 14:36:46,181 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-31 14:36:46,181 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-31 15:06:46,072 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-31 15:06:46,073 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-31 15:06:51,077 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-31 15:06:51,078 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-31 15:06:51,078 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-31 15:06:51,289 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-31 15:06:51,407 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-31 15:06:51,407 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-31 15:36:51,302 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-31 15:36:51,303 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-31 15:36:56,306 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-31 15:36:56,306 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-31 15:36:56,307 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-31 15:36:56,536 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-31 15:36:56,635 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-31 15:36:56,635 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-31 16:06:56,555 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-31 16:06:56,556 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-31 16:07:01,560 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-31 16:07:01,560 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-31 16:07:01,561 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-31 16:07:01,710 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-31 16:07:01,997 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 6812
|
||||
2026-03-31 16:07:02,103 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-31 16:07:02,104 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-31 16:37:01,721 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-31 16:37:01,723 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-31 16:37:06,726 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-31 16:37:06,727 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-31 16:37:06,727 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-31 16:37:06,911 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-31 16:37:06,997 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-31 16:37:06,998 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-31 17:07:06,852 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-31 17:07:06,853 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-31 17:07:11,858 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-31 17:07:11,861 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-31 17:07:11,861 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-31 17:07:12,054 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-31 17:07:12,174 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-31 17:07:12,175 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-31 17:37:12,067 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-31 17:37:12,069 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-31 17:37:17,074 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-31 17:37:17,075 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-31 17:37:17,075 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-31 17:37:17,247 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-31 17:37:17,337 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-31 17:37:17,338 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-31 18:07:17,253 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-31 18:07:17,255 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-31 18:07:22,258 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-31 18:07:22,259 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-03-31 18:07:22,259 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-03-31 18:07:22,434 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-03-31 18:07:22,673 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 6791
|
||||
2026-03-31 18:07:22,771 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-03-31 18:07:22,772 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-03-31 18:37:22,434 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-03-31 18:37:22,436 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-03-31 18:37:27,441 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-03-31 18:37:27,442 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-01 00:38:24,694 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-01 00:38:24,695 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-01 00:38:29,698 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-01 00:38:29,699 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-01 00:38:29,699 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-01 00:38:29,851 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-01 00:38:29,943 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-01 00:38:29,944 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-01 01:08:29,850 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-01 01:08:29,851 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-01 01:08:34,854 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-01 01:08:34,854 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-01 01:08:34,854 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-01 01:08:35,010 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-01 01:08:35,099 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-01 01:08:35,099 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-01 01:38:35,000 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-01 01:38:35,002 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-01 01:38:40,006 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-01 01:38:40,006 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-01 01:38:40,007 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-01 01:38:40,137 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-01 01:38:40,227 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-01 01:38:40,227 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-01 02:08:40,171 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-01 02:08:40,173 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-01 02:08:45,177 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-01 02:08:45,178 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-01 02:08:45,178 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-01 02:08:45,331 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-01 02:08:45,596 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 6708
|
||||
2026-04-01 02:08:45,679 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-01 02:08:45,679 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-01 02:38:45,335 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-01 02:38:45,335 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-01 02:38:50,338 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-01 02:38:50,338 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-01 02:38:50,338 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-01 02:38:50,504 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-01 02:38:50,607 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-01 02:38:50,608 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-01 03:08:50,493 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-01 03:08:50,493 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-01 03:08:55,498 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-01 03:08:55,498 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-01 03:08:55,498 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-01 03:08:55,661 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-01 03:08:55,758 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-01 03:08:55,758 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-01 03:38:55,668 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-01 03:38:55,669 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-01 03:39:00,673 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-01 03:39:00,674 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-01 03:39:00,674 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-01 03:39:00,863 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-01 03:39:00,957 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-01 03:39:00,957 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-01 04:09:00,872 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-01 04:09:00,873 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-01 04:09:05,878 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-01 04:09:05,878 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-01 04:09:05,878 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-01 04:09:06,032 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-01 04:09:06,298 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 6688
|
||||
2026-04-01 04:09:06,385 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-01 04:09:06,385 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-01 04:39:06,027 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-01 04:39:06,028 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-01 04:39:11,032 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-01 04:39:11,033 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-01 04:39:11,033 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-01 04:39:11,199 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-01 04:39:11,298 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-01 04:39:11,299 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-01 05:09:11,224 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-01 05:09:11,225 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-01 05:09:16,230 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-01 05:09:16,230 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-01 05:09:16,231 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-01 05:09:16,392 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-01 05:09:16,519 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-01 05:09:16,519 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-01 05:39:16,362 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-01 05:39:16,363 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-01 05:39:21,368 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-01 05:39:21,370 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-01 05:39:21,371 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-01 05:39:21,559 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-01 05:39:21,632 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-01 05:39:21,633 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-01 06:09:21,588 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-01 06:09:21,588 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-01 06:09:26,591 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-01 06:09:26,592 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-01 06:09:26,593 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-01 06:09:26,757 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-01 06:09:26,991 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 6667
|
||||
2026-04-01 06:09:27,086 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-01 06:09:27,086 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-01 06:39:26,757 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-01 06:39:26,758 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-01 06:39:31,762 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-01 06:39:31,763 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-01 06:39:31,763 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-01 06:39:31,918 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-01 06:39:32,004 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-01 06:39:32,004 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-01 07:09:31,926 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-01 07:09:31,927 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-01 07:09:36,930 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-01 07:09:36,930 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-01 07:09:36,930 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-01 07:09:37,114 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-01 07:09:37,201 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-01 07:09:37,201 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-01 07:39:37,106 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-01 07:39:37,108 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-01 07:39:42,113 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-01 07:39:42,113 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-01 07:39:42,114 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-01 07:39:42,299 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-01 07:39:42,409 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-01 07:39:42,409 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-01 08:09:42,300 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-01 08:09:42,302 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-01 08:09:47,306 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-01 08:09:47,307 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-01 08:09:47,307 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-01 08:09:47,475 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-01 08:09:47,733 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 6646
|
||||
2026-04-01 08:09:47,839 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-01 08:09:
|
||||
@@ -0,0 +1,44 @@
|
||||
2026-04-01 13:40:39,306 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-01 13:40:44,312 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-01 13:40:44,313 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-01 13:40:44,313 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-01 13:40:44,507 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-01 13:40:44,618 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-01 13:40:44,618 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-01 14:10:44,517 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-01 14:10:44,518 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-01 14:10:49,519 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-01 14:10:49,520 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-01 14:10:49,520 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-01 14:10:49,701 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-01 14:10:49,942 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 6584
|
||||
2026-04-01 14:10:50,241 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-01 14:10:50,241 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-01 14:40:49,695 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-01 14:40:49,696 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-01 14:40:54,698 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-01 14:40:54,698 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-01 14:40:54,698 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-01 14:40:54,859 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-01 14:40:54,946 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-01 14:40:54,946 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-01 15:10:54,857 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-01 15:10:54,858 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-01 15:10:59,862 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-01 15:10:59,862 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-01 15:10:59,862 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-01 15:10:59,990 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-01 15:11:00,071 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-01 15:11:00,072 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-01 15:40:59,997 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-01 15:40:59,998 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-01 15:41:05,005 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-01 15:41:05,005 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-01 15:41:05,005 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-01 15:41:05,150 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-01 15:41:05,241 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-01 15:41:05,241 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-01 16:11:05,143 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-01 16:11:05,144 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-01 16:11:10,146 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-01 16:11:10,146 [IN
|
||||
@@ -0,0 +1,44 @@
|
||||
2026-04-02 13:44:48,286 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-02 13:44:53,293 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-02 13:44:53,294 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-02 13:44:53,294 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-02 13:44:53,462 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-02 13:44:53,567 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-02 13:44:53,567 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-02 14:14:53,467 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-02 14:14:53,468 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-02 14:14:58,472 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-02 14:14:58,472 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-02 14:14:58,473 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-02 14:14:58,642 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-02 14:14:58,968 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 6335
|
||||
2026-04-02 14:14:59,246 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-02 14:14:59,246 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-02 14:44:58,644 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-02 14:44:58,645 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-02 14:45:03,648 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-02 14:45:03,649 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-02 14:45:03,649 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-02 14:45:03,837 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-02 14:45:03,935 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-02 14:45:03,935 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-02 15:15:03,820 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-02 15:15:03,821 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-02 15:15:08,823 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-02 15:15:08,823 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-02 15:15:08,823 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-02 15:15:08,981 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-02 15:15:09,070 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-02 15:15:09,070 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-02 15:45:08,980 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-02 15:45:08,981 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-02 15:45:13,986 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-02 15:45:13,986 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-02 15:45:13,986 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-02 15:45:14,155 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-02 15:45:14,279 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-02 15:45:14,279 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-02 16:15:14,176 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-02 16:15:14,177 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-02 16:15:19,182 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-02 16:15:19,182 [IN
|
||||
@@ -0,0 +1,310 @@
|
||||
2026-04-03 13:48:56,959 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-03 13:49:01,966 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-03 13:49:01,966 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-03 13:49:01,966 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-03 13:49:02,130 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-03 13:49:02,237 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-03 13:49:02,237 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-03 14:19:02,134 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-03 14:19:02,136 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-03 14:19:07,141 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-03 14:19:07,142 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-03 14:19:07,142 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-03 14:19:07,374 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-03 14:19:07,702 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 6086
|
||||
2026-04-03 14:19:07,795 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-03 14:19:07,796 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-03 14:49:07,373 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-03 14:49:07,374 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-03 14:49:12,375 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-03 14:49:12,376 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-03 14:49:12,376 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-03 14:49:12,571 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-03 14:49:12,665 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-03 14:49:12,666 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-03 15:19:12,572 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-03 15:19:12,573 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-03 15:19:17,578 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-03 15:19:17,578 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-03 15:19:17,578 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-03 15:19:17,740 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-03 15:19:17,844 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-03 15:19:17,844 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-03 15:49:17,765 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-03 15:49:17,766 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-03 15:49:22,771 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-03 15:49:22,771 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-03 15:49:22,771 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-03 15:49:22,951 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-03 15:49:23,045 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-03 15:49:23,046 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-03 16:19:22,946 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-03 16:19:22,947 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-03 16:19:27,948 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-03 16:19:27,949 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-03 16:19:27,950 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-03 16:19:28,117 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-03 16:19:28,598 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 6065
|
||||
2026-04-03 16:19:28,691 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-03 16:19:28,692 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-03 16:49:28,101 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-03 16:49:28,103 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-03 16:49:33,107 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-03 16:49:33,108 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-03 16:49:33,108 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-03 16:49:33,269 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-03 16:49:33,356 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-03 16:49:33,357 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-03 17:19:33,295 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-03 17:19:33,296 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-03 17:19:38,301 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-03 17:19:38,302 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-03 17:19:38,302 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-03 17:19:38,447 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-03 17:19:38,535 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-03 17:19:38,535 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-03 17:49:38,455 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-03 17:49:38,457 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-03 17:49:43,462 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-03 17:49:43,462 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-03 17:49:43,463 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-03 17:49:43,615 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-03 17:49:43,715 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-03 17:49:43,716 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-03 18:19:43,621 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-03 18:19:43,623 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-03 18:19:48,627 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-03 18:19:48,628 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-03 18:19:48,628 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-03 18:19:48,782 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-03 18:19:49,048 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 6045
|
||||
2026-04-03 18:19:49,149 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-03 18:19:49,150 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-03 18:49:48,787 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-03 18:49:48,789 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-03 18:49:53,793 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-03 18:49:53,794 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-04 00:20:45,742 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-04 00:20:45,743 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-04 00:20:50,746 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-04 00:20:50,746 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-04 00:20:50,746 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-04 00:20:50,868 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-04 00:20:51,224 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 5983
|
||||
2026-04-04 00:20:51,317 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-04 00:20:51,317 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-04 00:50:50,859 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-04 00:50:50,860 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-04 00:50:55,864 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-04 00:50:55,865 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-04 00:50:55,865 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-04 00:50:56,032 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-04 00:50:56,137 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-04 00:50:56,137 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-04 01:20:56,045 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-04 01:20:56,045 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-04 01:21:01,048 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-04 01:21:01,049 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-04 01:21:01,049 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-04 01:21:01,198 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-04 01:21:01,300 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-04 01:21:01,301 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-04 01:51:01,209 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-04 01:51:01,210 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-04 01:51:06,212 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-04 01:51:06,213 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-04 01:51:06,213 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-04 01:51:06,441 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-04 01:51:06,527 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-04 01:51:06,527 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-04 02:21:06,442 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-04 02:21:06,443 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-04 02:21:11,446 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-04 02:21:11,446 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-04 02:21:11,446 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-04 02:21:11,671 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-04 02:21:11,990 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 5920
|
||||
2026-04-04 02:21:12,103 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-04 02:21:12,103 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-04 02:51:11,676 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-04 02:51:11,677 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-04 02:51:16,682 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-04 02:51:16,682 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-04 02:51:16,682 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-04 02:51:16,848 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-04 02:51:16,948 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-04 02:51:16,948 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-04 03:21:16,847 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-04 03:21:16,848 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-04 03:21:21,853 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-04 03:21:21,853 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-04 03:21:21,853 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-04 03:21:22,077 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-04 03:21:22,180 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-04 03:21:22,180 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-04 03:51:22,061 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-04 03:51:22,062 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-04 03:51:27,066 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-04 03:51:27,066 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-04 03:51:27,066 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-04 03:51:27,227 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-04 03:51:27,318 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-04 03:51:27,318 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-04 04:21:27,231 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-04 04:21:27,232 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-04 04:21:32,235 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-04 04:21:32,235 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-04 04:21:32,236 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-04 04:21:32,391 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-04 04:21:32,678 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 5941
|
||||
2026-04-04 04:21:32,770 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-04 04:21:32,771 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-04 04:51:32,400 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-04 04:51:32,401 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-04 04:51:37,405 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-04 04:51:37,405 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-04 04:51:37,405 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-04 04:51:37,581 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-04 04:51:37,676 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-04 04:51:37,676 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-04 05:21:37,581 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-04 05:21:37,582 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-04 05:21:42,587 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-04 05:21:42,587 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-04 05:21:42,587 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-04 05:21:42,734 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-04 05:21:42,812 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-04 05:21:42,812 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-04 05:51:42,740 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-04 05:51:42,740 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-04 05:51:47,744 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-04 05:51:47,744 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-04 05:51:47,745 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-04 05:51:47,882 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-04 05:51:47,977 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-04 05:51:47,978 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-04 06:21:47,884 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-04 06:21:47,885 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-04 06:21:52,890 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-04 06:21:52,891 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-04 06:21:52,891 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-04 06:21:53,074 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-04 06:21:53,405 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 5920
|
||||
2026-04-04 06:21:53,502 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-04 06:21:53,502 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-04 06:51:53,074 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-04 06:51:53,075 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-04 06:51:58,080 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-04 06:51:58,080 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-04 06:51:58,080 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-04 06:51:58,220 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-04 06:51:58,347 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-04 06:51:58,348 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-04 07:21:58,227 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-04 07:21:58,228 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-04 07:22:03,231 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-04 07:22:03,232 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-04 07:22:03,232 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-04 07:22:03,392 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-04 07:22:03,494 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-04 07:22:03,494 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-04 07:52:03,399 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-04 07:52:03,400 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-04 07:52:08,404 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-04 07:52:08,405 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-04 07:52:08,405 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-04 07:52:08,612 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-04 07:52:08,739 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-04 07:52:08,739 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-04 08:22:08,605 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-04 08:22:08,606 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-04 08:22:13,610 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-04 08:22:13,610 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-04 08:22:13,610 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-04 08:22:13,772 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-04 08:22:14,110 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 5900
|
||||
2026-04-04 08:22:14,199 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-04 08:22:14,199 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-04 08:52:13,772 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-04 08:52:13,773 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-04 08:52:18,778 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-04 08:52:18,778 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-04 08:52:18,779 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-04 08:52:18,910 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-04 08:52:18,997 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-04 08:52:18,997 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-04 09:22:18,916 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-04 09:22:18,917 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-04 09:22:23,921 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-04 09:22:23,921 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-04 09:22:23,922 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-04 09:22:24,095 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-04 09:22:24,199 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-04 09:22:24,199 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-04 09:52:24,096 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-04 09:52:24,097 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-04 09:52:29,102 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-04 09:52:29,103 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-04 09:52:29,103 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-04 09:52:29,249 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-04 09:52:29,343 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-04 09:52:29,343 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-04 10:22:29,244 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-04 10:22:29,245 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-04 10:22:34,247 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-04 10:22:34,248 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-04 10:22:34,248 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-04 10:22:34,428 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-04 10:22:34,787 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 5879
|
||||
2026-04-04 10:22:34,886 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-04 10:22:34,886 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-04 10:52:34,433 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-04 10:52:34,434 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-04 10:52:39,438 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-04 10:52:39,439 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-04 10:52:39,439 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-04 10:52:39,606 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-04 10:52:39,699 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-04 10:52:39,699 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-04 11:22:39,602 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-04 11:22:39,603 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-04 11:22:44,606 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-04 11:22:44,607 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-04 11:22:44,607 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-04 11:22:44,772 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-04 11:22:44,862 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-04 11:22:44,863 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-04 11:52:44,776 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-04 11:52:44,777 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-04 11:52:49,783 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-04 11:52:49,784 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-04 11:52:49,784 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-04 11:52:49,957 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-04 11:52:50,062 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-04 11:52:50,063 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-04 12:10:34,712 [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 6599
|
||||
2026-04-04 12:10:37,126 [INFO] (ru2n.py:432)on_group_at_message_create {'id': 'ROBOT1.0_vOuG-1rNwL31gqd6zJhZDaynVbQBF1xA.3EDxC.EYNBknTob.sfGy2Fkc1hrTaeL5B72-pqdvXLMCeRhViWbRA!!', 'timestamp': '2026-04-04T12:10:36+08:00', 'ext_info': {'ref_idx': 'REFIDX_Jw9yXIl/gXNe8Rk3i0oFustG81ovPjw88HwjHppK6Gc='}}
|
||||
2026-04-04 12:22:49,963 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-04 12:22:49,964 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-04 12:22:54,968 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-04 12:22:54,968 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-04 12:22:54,969 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-04 12:22:55,163 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-04 12:22:55,277 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-04 12:22:55,277 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-04 12:52:55,173 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-04 12:52:55,174 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-04 12:53:00,178 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-04 12:53:00,179 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-04 12:53:00,179 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-04 12:53:00,336 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-04 12:53:00,444 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-04 12:53:00,444 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
2026-04-04 13:23:00,330 [INFO] (gateway.py:56)on_closed [botpy] 关闭, 返回码: 4009, 返回信息: Session timed out
|
||||
2026-04-04 13:23:00,330 [INFO] (gateway.py:134)ws_connect [botpy] ws关闭, 停止接收消息!
|
||||
2026-04-04 13:23:05,333 [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1
|
||||
2026-04-04 13:23:05,334 [INFO] (client.py:242)bot_connect [botpy] 会话启动中...
|
||||
2026-04-04 13:23:05,334 [INFO] (gateway.py:115)ws_connect [botpy] 启动中...
|
||||
2026-04-04 13:23:05,522 [INFO] (gateway.py:175)ws_resume [botpy] 重连启动...
|
||||
2026-04-04 13:23:05,664 [INFO] (gateway.py:90)on_message [botpy] 机器人重连成功!
|
||||
2026-04-04 13:23:05,665 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动...
|
||||
@@ -0,0 +1,76 @@
|
||||
import hashlib
|
||||
import json
|
||||
import requests
|
||||
|
||||
def get_public_ip():
|
||||
try:
|
||||
response = requests.get('https://myip.ipip.net/ip')
|
||||
if response.status_code == 200:
|
||||
return json.loads(response.text)['ip']
|
||||
else:
|
||||
return "Failed to get public IP address"
|
||||
except requests.RequestException as e:
|
||||
return f"Error: {e}"
|
||||
|
||||
|
||||
def generate_md5(ip, key):
|
||||
# 将IP地址和key拼接
|
||||
combined_string = ip + key
|
||||
# 创建md5对象
|
||||
md5 = hashlib.md5()
|
||||
# 对拼接后的字符串进行MD5加密
|
||||
md5.update(combined_string.encode('utf-8'))
|
||||
# 返回MD5加密后的16进制字符串
|
||||
return md5.hexdigest()
|
||||
|
||||
# 获取本地IP地址
|
||||
|
||||
local_ip = get_public_ip()
|
||||
# 指定的key
|
||||
key = "123123"
|
||||
# 生成MD5
|
||||
md5_result = generate_md5(key,local_ip)
|
||||
|
||||
|
||||
url = "https://u.sunderer.games/index.php/botapi/UserApi/isUserAuth"
|
||||
|
||||
querystring = {"gamename":"gamone1","key":"6097d1cb7d8f09bf5f60b40124d99069"}
|
||||
querystring['gamename'] = 'A0KIWASUKE'
|
||||
querystring['key'] = md5_result
|
||||
|
||||
payload = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"page_no\"\r\n\r\n1\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"page_size\"\r\n\r\n15\r\n-----011000010111000001101001--\r\n\r\n"
|
||||
headers = {
|
||||
"Accept": "*/*",
|
||||
"Accept-Encoding": "gzip, deflate, br",
|
||||
"User-Agent": "PostmanRuntime-ApipostRuntime/1.1.0",
|
||||
"Connection": "keep-alive",
|
||||
"content-type": "multipart/form-data; boundary=---011000010111000001101001"
|
||||
}
|
||||
|
||||
response = requests.request("POST", url, data=payload, headers=headers, params=querystring)
|
||||
|
||||
|
||||
print(response.text)
|
||||
a = json.loads(response.text)
|
||||
print(a['code'])
|
||||
print("MD5 Hash:", md5_result)
|
||||
print("MD5 Hash:", local_ip)
|
||||
|
||||
|
||||
"""import requests
|
||||
|
||||
url = "http://botapi/UserApi/getSubbackUploadImgInfo"
|
||||
|
||||
payload = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"key\"\r\n\r\n6097d1cb7d8f09bf5f60b40124d99069\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"page_no\"\r\n\r\n1\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"page_size\"\r\n\r\n15\r\n-----011000010111000001101001--\r\n\r\n"
|
||||
headers = {
|
||||
"Accept": "*/*",
|
||||
"Accept-Encoding": "gzip, deflate, br",
|
||||
"User-Agent": "PostmanRuntime-ApipostRuntime/1.1.0",
|
||||
"Connection": "keep-alive",
|
||||
"content-type": "multipart/form-data; boundary=---011000010111000001101001"
|
||||
}
|
||||
headers['key'] = md5_result
|
||||
|
||||
response = requests.request("POST", url, data=payload, headers=headers)
|
||||
|
||||
print(response.text)"""
|
||||
@@ -0,0 +1,28 @@
|
||||
character_id,user_name
|
||||
1,LeisurelyMotherHunter
|
||||
2,ASA114514
|
||||
3,A0KIWASUKE
|
||||
4,samlxy
|
||||
5,FindRainOV
|
||||
6,chsYGMRY
|
||||
7,TTFLY
|
||||
8,Lymiao330
|
||||
9,jasktma
|
||||
10,XFaputaX
|
||||
11,Lymiao
|
||||
12,MewMew330
|
||||
13,MaoZhiZhu
|
||||
14,CatSpider330
|
||||
15,ArcticNeptune
|
||||
16,Noob330
|
||||
17,Faputa330
|
||||
18,Lemon330
|
||||
19,KasiliasTR
|
||||
20,kasiliast
|
||||
21,Kasilias
|
||||
22,EndlessMotherHuter
|
||||
23,ElemetaryMyDear
|
||||
24,KasiliasVS
|
||||
25,93Tatsuya
|
||||
26,93Lotus
|
||||
27,NSOC
|
||||
|
@@ -0,0 +1,28 @@
|
||||
character_id,user_nickname,user_pic,outfit_flag,是否是赞助用户,是否是爹
|
||||
1,肆佰肆,LeisurelyMotherHunter.jpg,MOMH,True,True
|
||||
2,肆佰肆,ASA114514.png,CPCT,True,True
|
||||
3,青木和介,青木和介.jpg,MOMH,True,True
|
||||
4,samlxy,新联邦.png,outfitimg,True,True
|
||||
5,懧雨,懧雨.png,CNVA,True,True
|
||||
6,CH,CH.png,SLNM,True,True
|
||||
7,TTFLY,地球共和国.png,outfitimg,True,True
|
||||
8,超级怀猫330,330tr.jpg,outfitimg,True,True
|
||||
9,超级怀猫330,330tr.jpg,outfitimg,True,True
|
||||
10,超级怀猫330,330tr.jpg,outfitimg,True,True
|
||||
11,超级怀猫330,330nc.jpg,outfitimg,True,True
|
||||
12,超级怀猫330,330nc.jpg,SLNM,True,True
|
||||
13,超级怀猫330,330nc.jpg,outfitimg,True,True
|
||||
14,超级怀猫330,330nc.jpg,outfitimg,True,True
|
||||
15,超级怀猫330,330vs.jpg,outfitimg,True,True
|
||||
16,超级怀猫330,330vs.jpg,outfitimg,True,True
|
||||
17,超级怀猫330,330vs.jpg,outfitimg,True,True
|
||||
18,超级怀猫330,330ns.jpg,outfitimg,True,True
|
||||
19,Kasilias,KasiliasTR.jpg,outfitimg,True,True
|
||||
20,Kasilias,KasiliasTR.jpg,outfitimg,True,True
|
||||
21,Kasilias,KasiliasNC.jpg,outfitimg,True,True
|
||||
22,Kasilias,KasiliasNC.jpg,outfitimg,True,True
|
||||
23,Kasilias,KasiliasVS.jpg,outfitimg,True,True
|
||||
24,Kasilias,KasiliasVS.jpg,outfitimg,True,True
|
||||
25,Kasilias,KasiliasVS.jpg,outfitimg,True,True
|
||||
26,93Lotus,瓦努主权国.png,outfitimg,True,True
|
||||
27,94Lotus,纳能特工.png,outfitimg,True,True
|
||||
|
@@ -0,0 +1,12 @@
|
||||
outfit_tag,outfit_pic
|
||||
MOMH,MOMH.jpg
|
||||
CPCT,ps2cpc-tr.png
|
||||
TRimg,ps2cpc-tr.png
|
||||
VSimg,ps2cpc-vs.png
|
||||
NCimg,ps2cpc-nc.png
|
||||
NSOimg,ps2cpc-nso.png
|
||||
outfitimg,无匹配军团信息-new.png
|
||||
CNV,CNVA.png
|
||||
CNVA,CNVA.png
|
||||
SLNM,SLNM.jpg
|
||||
CYA6,CYA6.jpg
|
||||
|
+47
@@ -0,0 +1,47 @@
|
||||
|
||||
import csv
|
||||
|
||||
def read_csv_to_list(csv_file):
|
||||
"""
|
||||
将CSV文件读取为列表
|
||||
|
||||
参数:
|
||||
csv_file (str): CSV文件路径
|
||||
|
||||
返回:
|
||||
list: 包含所有行数据的列表,每行是一个子列表
|
||||
"""
|
||||
data_list = []
|
||||
|
||||
try:
|
||||
with open(csv_file, 'r', encoding='utf-8') as file:
|
||||
# 创建CSV阅读器
|
||||
csv_reader = csv.reader(file)
|
||||
|
||||
# 跳过标题行(可选)
|
||||
next(csv_reader) # 去掉这行如果不需要跳过标题
|
||||
|
||||
# 逐行读取
|
||||
for row in csv_reader:
|
||||
data_list.append(row)
|
||||
|
||||
return data_list
|
||||
|
||||
except FileNotFoundError:
|
||||
print(f"错误: 文件 {csv_file} 不存在")
|
||||
return []
|
||||
except Exception as e:
|
||||
print(f"读取CSV时出错: {str(e)}")
|
||||
return []
|
||||
|
||||
def find_id(id,data_list):
|
||||
|
||||
for sublist in data_list:
|
||||
if id in sublist:
|
||||
found = True
|
||||
break # 找到第一个匹配项就停止
|
||||
|
||||
return sublist
|
||||
start = read_csv_to_list(r'C:\Cq-http\NoneBot\Git_Plugins\QQbot\csv\nickname.csv')
|
||||
st1 = find_id('4',start)
|
||||
print(st1)
|
||||
@@ -0,0 +1,4 @@
|
||||
Name,Age,Occupation
|
||||
张三,30,工程师
|
||||
李四,25,设计师
|
||||
王五,28,产品经理
|
||||
|
@@ -0,0 +1,53 @@
|
||||
Soltech ser
|
||||
Cobalt ser
|
||||
Miller ser
|
||||
Jaeger ser
|
||||
Emerald ser
|
||||
Connery ser
|
||||
柯伯特 ser
|
||||
米勒 ser
|
||||
索泰克 ser
|
||||
艾莫若德 ser
|
||||
康纳利 ser
|
||||
奥斯普雷 ser
|
||||
温怀特 ser
|
||||
猎人 ser
|
||||
美西 ser
|
||||
美东 ser
|
||||
亚服 ser
|
||||
欧服 ser
|
||||
Esamir map
|
||||
Oshur map
|
||||
Hossin map
|
||||
Indar map
|
||||
Amerish map
|
||||
kill que
|
||||
death que
|
||||
kdr que
|
||||
kpm que
|
||||
hpk que
|
||||
ivi que
|
||||
hsr que
|
||||
acc que
|
||||
time que
|
||||
开火次数 qua
|
||||
命中次数 qua
|
||||
命中率 qua
|
||||
击杀平均命中数 qua
|
||||
击杀平均开火数 qua
|
||||
伤害量 qua
|
||||
碾压次数 qua
|
||||
累计使用时间 qua
|
||||
分钟平均得分数 qua
|
||||
人口 flg
|
||||
查询 flg
|
||||
蚊子 vea
|
||||
镰刀 vea
|
||||
解放 vea
|
||||
海盗 vea
|
||||
电磁 vea
|
||||
徘徊 vea
|
||||
决裂 vea
|
||||
先驱 vea
|
||||
奇美拉 vea
|
||||
突袭 vea
|
||||
@@ -0,0 +1,41 @@
|
||||
'itemId': '803617',
|
||||
'itemId': '1268',
|
||||
'itemId': '1267',
|
||||
'itemId': '1266',
|
||||
'itemId': '1265',
|
||||
'itemId': '6014305',
|
||||
'itemId': '803605',
|
||||
'itemId': '6004611',
|
||||
'itemId': '803611',
|
||||
'itemId': '804702',
|
||||
'itemId': '803614',
|
||||
'itemId': '7609',
|
||||
'itemId': '803470',
|
||||
'itemId': '376',
|
||||
'itemId': '377',
|
||||
'itemId': '6005225',
|
||||
'itemId': '45',
|
||||
'itemId': '6002955',
|
||||
'itemId': '6009856',
|
||||
'itemId': '153',
|
||||
'itemId': '804263',
|
||||
'itemId': '6003552',
|
||||
'itemId': '6004529',
|
||||
'itemId': '6002466',
|
||||
'itemId': '1619',
|
||||
'itemId': '1618',
|
||||
'itemId': '6009090',
|
||||
'itemId': '95',
|
||||
'itemId': '1617',
|
||||
'itemId': '6009093',
|
||||
'itemId': '6004873',
|
||||
'itemId': '99',
|
||||
'itemId': '1621',
|
||||
'itemId': '1620',
|
||||
'itemId': '6004421',
|
||||
'itemId': '6004425',
|
||||
'itemId': '6002354',
|
||||
'itemId': '6002472',
|
||||
'itemId': '6002478',
|
||||
'itemId': '6002496',
|
||||
'itemId': '6002490',
|
||||
+456
@@ -0,0 +1,456 @@
|
||||
[{'itemId': '40000', 'vehicleId': '0', 'engName': 'AF-57 Piston'
|
||||
, 'name': 'AF-57 活塞'
|
||||
, 'kill': 1577, 'teamKill': 0, 'killedBy': 0, 'headshot': 242, 'vehicleKill': 38, 'fire': 13803, 'hit': 6461, 'death': 1750, 'damage': 947755, 'damageTakenBy': 0, 'score': 324530, 'playTime': 283495, 'kdr': 0.9011, 'kpm': 0.3338, 'hsr': 0.1535, 'kps': 8.7527, 'hpk': 4.097, 'spm': 68.6848, 'accuracy': 0.4681, 'ivi': 718.3067, 'imageId': '87327', 'imageSrc': '/files/ps2/images/static/87327.png'},
|
||||
{'itemId': '6004218', 'vehicleId': '0', 'engName': 'MGR-L1 Promise'
|
||||
, 'name': 'MGR-L1 承诺'
|
||||
, 'kill': 973, 'teamKill': 0, 'killedBy': 0, 'headshot': 234, 'vehicleKill': 22, 'fire': 49577, 'hit': 15171, 'death': 1179, 'damage': 715354, 'damageTakenBy': 0, 'score': 169049, 'playTime': 219836, 'kdr': 0.8253, 'kpm': 0.2656, 'hsr': 0.2405, 'kps': 50.9527, 'hpk': 15.592, 'spm': 46.1387, 'accuracy': 0.306, 'ivi': 735.9308, 'imageId': '88459', 'imageSrc': '/files/ps2/images/static/88459.png'},
|
||||
{'itemId': '6003850', 'vehicleId': '0', 'engName': 'MGR-S1 Gladius'
|
||||
, 'name': 'MGR-S1 罗马短剑'
|
||||
, 'kill': 347, 'teamKill': 0, 'killedBy': 0, 'headshot': 61, 'vehicleKill': 6, 'fire': 10883, 'hit': 3881, 'death': 490, 'damage': 260935, 'damageTakenBy': 0, 'score': 75713, 'playTime': 151320, 'kdr': 0.7082, 'kpm': 0.1376, 'hsr': 0.1758, 'kps': 31.3631, 'hpk': 11.1844, 'spm': 30.021, 'accuracy': 0.3566, 'ivi': 626.8958, 'imageId': '88462', 'imageSrc': '/files/ps2/images/static/88462.png'},
|
||||
{'itemId': '75063', 'vehicleId': '0', 'engName': 'NS-44 Commissioner'
|
||||
, 'name': 'NS-44 军政委'
|
||||
, 'kill': 341, 'teamKill': 0, 'killedBy': 126, 'headshot': 71, 'vehicleKill': 6, 'fire': 3924, 'hit': 1512, 'death': 649, 'damage': 251290, 'damageTakenBy': 68362, 'score': 62605, 'playTime': 415035, 'kdr': 0.5254, 'kpm': 0.0493, 'hsr': 0.2082, 'kps': 11.5073, 'hpk': 4.434, 'spm': 9.0506, 'accuracy': 0.3853, 'ivi': 802.2815, 'imageId': '8733', 'imageSrc': '/files/ps2/images/static/8733.png'},
|
||||
{'itemId': '432', 'vehicleId': '0', 'engName': 'C-4'
|
||||
, 'name': 'C-4'
|
||||
, 'kill': 325, 'teamKill': 0, 'killedBy': 135, 'headshot': 0, 'vehicleKill': 164, 'fire': 1610, 'hit': 434, 'death': 244, 'damage': 1183273, 'damageTakenBy': 75369, 'score': 131999, 'playTime': 16258, 'kdr': 1.332, 'kpm': 1.1994, 'hsr': 0.0, 'kps': 4.9538, 'hpk': 1.3354, 'spm': 487.1411, 'accuracy': 0.2696, 'ivi': 0.0, 'imageId': '89142', 'imageSrc': '/files/ps2/images/static/89142.png'},
|
||||
{'itemId': '7169', 'vehicleId': '0', 'engName': 'GD-7F'
|
||||
, 'name': 'GD-7F'
|
||||
, 'kill': 284, 'teamKill': 0, 'killedBy': 0, 'headshot': 65, 'vehicleKill': 14, 'fire': 12543, 'hit': 4044, 'death': 449, 'damage': 212786, 'damageTakenBy': 0, 'score': 66815, 'playTime': 166901, 'kdr': 0.6325, 'kpm': 0.1021, 'hsr': 0.2289, 'kps': 44.1655, 'hpk': 14.2394, 'spm': 24.0196, 'accuracy': 0.3224, 'ivi': 737.9123, 'imageId': '5325', 'imageSrc': '/files/ps2/images/static/5325.png'},
|
||||
{'itemId': '6005055', 'vehicleId': '0', 'engName': 'MGR-C1 Charger'
|
||||
, 'name': 'MGR-C1 冲能'
|
||||
, 'kill': 254, 'teamKill': 0, 'killedBy': 0, 'headshot': 55, 'vehicleKill': 22, 'fire': 16856, 'hit': 4662, 'death': 637, 'damage': 218358, 'damageTakenBy': 0, 'score': 52805, 'playTime': 188623, 'kdr': 0.3987, 'kpm': 0.0808, 'hsr': 0.2165, 'kps': 66.3622, 'hpk': 18.3543, 'spm': 16.797, 'accuracy': 0.2766, 'ivi': 598.8895, 'imageId': '88456', 'imageSrc': '/files/ps2/images/static/88456.png'},
|
||||
{'itemId': '6006186', 'vehicleId': '0', 'engName': 'MGR-A1 Vanquisher'
|
||||
, 'name': 'MGR-A1 征服者'
|
||||
, 'kill': 245, 'teamKill': 0, 'killedBy': 0, 'headshot': 47, 'vehicleKill': 14, 'fire': 10313, 'hit': 2977, 'death': 534, 'damage': 185004, 'damageTakenBy': 0, 'score': 43711, 'playTime': 70694, 'kdr': 0.4588, 'kpm': 0.2079, 'hsr': 0.1918, 'kps': 42.0939, 'hpk': 12.151, 'spm': 37.0988, 'accuracy': 0.2887, 'ivi': 553.7651, 'imageId': '88453', 'imageSrc': '/files/ps2/images/static/88453.png'},
|
||||
{'itemId': '27001', 'vehicleId': '0', 'engName': 'Blitz GD-10'
|
||||
, 'name': 'GD-10 雷霆'
|
||||
, 'kill': 215, 'teamKill': 0, 'killedBy': 0, 'headshot': 44, 'vehicleKill': 5, 'fire': 11442, 'hit': 3292, 'death': 259, 'damage': 167736, 'damageTakenBy': 0, 'score': 36676, 'playTime': 262424, 'kdr': 0.8301, 'kpm': 0.0492, 'hsr': 0.2047, 'kps': 53.2186, 'hpk': 15.3116, 'spm': 8.3855, 'accuracy': 0.2877, 'ivi': 588.8058, 'imageId': '8003', 'imageSrc': '/files/ps2/images/static/8003.png'},
|
||||
{'itemId': '7103', 'vehicleId': '0', 'engName': 'Carnage AR'
|
||||
, 'name': '残杀 AR'
|
||||
, 'kill': 211, 'teamKill': 0, 'killedBy': 0, 'headshot': 30, 'vehicleKill': 11, 'fire': 9433, 'hit': 2708, 'death': 382, 'damage': 130408, 'damageTakenBy': 0, 'score': 37040, 'playTime': 53961, 'kdr': 0.5524, 'kpm': 0.2346, 'hsr': 0.1422, 'kps': 44.7062, 'hpk': 12.8341, 'spm': 41.1853, 'accuracy': 0.2871, 'ivi': 408.1668, 'imageId': '9443', 'imageSrc': '/files/ps2/images/static/9443.png'},
|
||||
{'itemId': '804940', 'vehicleId': '0', 'engName': 'Rocklet Rifle'
|
||||
, 'name': '小火箭步枪'
|
||||
, 'kill': 194, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 155, 'fire': 9794, 'hit': 6037, 'death': 151, 'damage': 681053, 'damageTakenBy': 0, 'score': 128916, 'playTime': 19485, 'kdr': 1.2848, 'kpm': 0.5974, 'hsr': 0.0, 'kps': 50.4845, 'hpk': 31.1186, 'spm': 396.97, 'accuracy': 0.6164, 'ivi': 0.0, 'imageId': '86315', 'imageSrc': '/files/ps2/images/static/86315.png'},
|
||||
{'itemId': '3', 'vehicleId': '0', 'engName': 'AF-19 Mercenary'
|
||||
, 'name': 'AF-19 雇佣兵'
|
||||
, 'kill': 193, 'teamKill': 0, 'killedBy': 0, 'headshot': 37, 'vehicleKill': 8, 'fire': 10748, 'hit': 2931, 'death': 412, 'damage': 170644, 'damageTakenBy': 0, 'score': 41410, 'playTime': 124998, 'kdr': 0.4684, 'kpm': 0.0926, 'hsr': 0.1917, 'kps': 55.6891, 'hpk': 15.1865, 'spm': 19.8771, 'accuracy': 0.2727, 'ivi': 522.7964, 'imageId': '5322', 'imageSrc': '/files/ps2/images/static/5322.png'},
|
||||
{'itemId': '2314', 'vehicleId': '0', 'engName': 'MKV Suppressed'
|
||||
, 'name': 'MKV 消音型'
|
||||
, 'kill': 186, 'teamKill': 0, 'killedBy': 35, 'headshot': 35, 'vehicleKill': 6, 'fire': 9069, 'hit': 3168, 'death': 299, 'damage': 150247, 'damageTakenBy': 20598, 'score': 28068, 'playTime': 86718, 'kdr': 0.6221, 'kpm': 0.1287, 'hsr': 0.1882, 'kps': 48.7581, 'hpk': 17.0323, 'spm': 19.4202, 'accuracy': 0.3493, 'ivi': 657.3261, 'imageId': '13696', 'imageSrc': '/files/ps2/images/static/13696.png'},
|
||||
{'itemId': '75005', 'vehicleId': '0', 'engName': 'NS-11C'
|
||||
, 'name': 'NS-11C'
|
||||
, 'kill': 170, 'teamKill': 0, 'killedBy': 82, 'headshot': 33, 'vehicleKill': 7, 'fire': 7333, 'hit': 2121, 'death': 269, 'damage': 110800, 'damageTakenBy': 49690, 'score': 38747, 'playTime': 217621, 'kdr': 0.632, 'kpm': 0.0469, 'hsr': 0.1941, 'kps': 43.1353, 'hpk': 12.4765, 'spm': 10.6829, 'accuracy': 0.2892, 'ivi': 561.4667, 'imageId': '8480', 'imageSrc': '/files/ps2/images/static/8480.png'},
|
||||
{'itemId': '128', 'vehicleId': '0', 'engName': 'Mauler S6'
|
||||
, 'name': 'S6 巨槌'
|
||||
, 'kill': 165, 'teamKill': 0, 'killedBy': 0, 'headshot': 29, 'vehicleKill': 1, 'fire': 1386, 'hit': 690, 'death': 210, 'damage': 88963, 'damageTakenBy': 0, 'score': 35614, 'playTime': 23578, 'kdr': 0.7857, 'kpm': 0.4199, 'hsr': 0.1758, 'kps': 8.4, 'hpk': 4.1818, 'spm': 90.6286, 'accuracy': 0.4978, 'ivi': 874.9836, 'imageId': '5886', 'imageSrc': '/files/ps2/images/static/5886.png'},
|
||||
{'itemId': '6011152', 'vehicleId': '0', 'engName': 'NSX Kuwa'
|
||||
, 'name': 'NSX 锹'
|
||||
, 'kill': 162, 'teamKill': 0, 'killedBy': 10, 'headshot': 42, 'vehicleKill': 1, 'fire': 6700, 'hit': 1960, 'death': 180, 'damage': 109406, 'damageTakenBy': 10715, 'score': 27021, 'playTime': 17727, 'kdr': 0.9, 'kpm': 0.5483, 'hsr': 0.2593, 'kps': 41.358, 'hpk': 12.0988, 'spm': 91.4571, 'accuracy': 0.2925, 'ivi': 758.4301, 'imageId': '93620', 'imageSrc': '/files/ps2/images/static/93620.png'},
|
||||
{'itemId': '6009203', 'vehicleId': '0', 'engName': 'NS-66 Punisher'
|
||||
, 'name': 'NS-66 惩罚者'
|
||||
, 'kill': 129, 'teamKill': 0, 'killedBy': 80, 'headshot': 24, 'vehicleKill': 5, 'fire': 5919, 'hit': 2117, 'death': 205, 'damage': 102745, 'damageTakenBy': 47427, 'score': 19760, 'playTime': 39150, 'kdr': 0.6293, 'kpm': 0.1977, 'hsr': 0.186, 'kps': 45.8837, 'hpk': 16.4109, 'spm': 30.2835, 'accuracy': 0.3577, 'ivi': 665.4172, 'imageId': '92739', 'imageSrc': '/files/ps2/images/static/92739.png'},
|
||||
{'itemId': '50560', 'vehicleId': '0', 'engName': 'NS Decimator'
|
||||
, 'name': '纳能毁灭者'
|
||||
, 'kill': 129, 'teamKill': 0, 'killedBy': 94, 'headshot': 0, 'vehicleKill': 75, 'fire': 881, 'hit': 602, 'death': 184, 'damage': 512816, 'damageTakenBy': 56202, 'score': 72509, 'playTime': 13062, 'kdr': 0.7011, 'kpm': 0.5926, 'hsr': 0.0, 'kps': 6.8295, 'hpk': 4.6667, 'spm': 333.0684, 'accuracy': 0.6833, 'ivi': 0.0, 'imageId': '85782', 'imageSrc': '/files/ps2/images/static/85782.png'},
|
||||
{'itemId': '7389', 'vehicleId': '0', 'engName': 'LA3 Desperado'
|
||||
, 'name': 'LA3 亡命徒'
|
||||
, 'kill': 117, 'teamKill': 0, 'killedBy': 0, 'headshot': 28, 'vehicleKill': 1, 'fire': 3271, 'hit': 1154, 'death': 175, 'damage': 78122, 'damageTakenBy': 0, 'score': 19840, 'playTime': 27238, 'kdr': 0.6686, 'kpm': 0.2577, 'hsr': 0.2393, 'kps': 27.9573, 'hpk': 9.8632, 'spm': 43.7036, 'accuracy': 0.3528, 'ivi': 844.3013, 'imageId': '10232', 'imageSrc': '/files/ps2/images/static/10232.png'},
|
||||
{'itemId': '7170', 'vehicleId': '0', 'engName': 'AC-X11'
|
||||
, 'name': 'AC-X11'
|
||||
, 'kill': 114, 'teamKill': 0, 'killedBy': 0, 'headshot': 30, 'vehicleKill': 5, 'fire': 3983, 'hit': 1174, 'death': 214, 'damage': 86328, 'damageTakenBy': 0, 'score': 21855, 'playTime': 44289, 'kdr': 0.5327, 'kpm': 0.1544, 'hsr': 0.2632, 'kps': 34.9386, 'hpk': 10.2982, 'spm': 29.6078, 'accuracy': 0.2948, 'ivi': 775.665, 'imageId': '5328', 'imageSrc': '/files/ps2/images/static/5328.png'},
|
||||
{'itemId': '4', 'vehicleId': '0', 'engName': 'NC1 Gauss Rifle'
|
||||
, 'name': 'NC1 高斯步枪'
|
||||
, 'kill': 88, 'teamKill': 0, 'killedBy': 0, 'headshot': 21, 'vehicleKill': 2, 'fire': 4694, 'hit': 1170, 'death': 213, 'damage': 62357, 'damageTakenBy': 0, 'score': 19045, 'playTime': 22973, 'kdr': 0.4131, 'kpm': 0.2298, 'hsr': 0.2386, 'kps': 53.3409, 'hpk': 13.2955, 'spm': 49.741, 'accuracy': 0.2493, 'ivi': 594.8116, 'imageId': '5310', 'imageSrc': '/files/ps2/images/static/5310.png'},
|
||||
{'itemId': '78', 'vehicleId': '0', 'engName': 'NC6 Gauss SAW'
|
||||
, 'name': 'NC6 高斯 SAW'
|
||||
, 'kill': 85, 'teamKill': 0, 'killedBy': 0, 'headshot': 19, 'vehicleKill': 3, 'fire': 6746, 'hit': 927, 'death': 190, 'damage': 62235, 'damageTakenBy': 0, 'score': 29131, 'playTime': 99177, 'kdr': 0.4474, 'kpm': 0.0514, 'hsr': 0.2235, 'kps': 79.3647, 'hpk': 10.9059, 'spm': 17.6236, 'accuracy': 0.1374, 'ivi': 307.1624, 'imageId': '5334', 'imageSrc': '/files/ps2/images/static/5334.png'},
|
||||
{'itemId': '24003', 'vehicleId': '0', 'engName': 'LA80'
|
||||
, 'name': 'LA80'
|
||||
, 'kill': 74, 'teamKill': 0, 'killedBy': 0, 'headshot': 53, 'vehicleKill': 1, 'fire': 451, 'hit': 139, 'death': 84, 'damage': 40613, 'damageTakenBy': 0, 'score': 12968, 'playTime': 20018, 'kdr': 0.881, 'kpm': 0.2218, 'hsr': 0.7162, 'kps': 6.0946, 'hpk': 1.8784, 'spm': 38.869, 'accuracy': 0.3082, 'ivi': 2207.407, 'imageId': '5907', 'imageSrc': '/files/ps2/images/static/5907.png'},
|
||||
{'itemId': '802106', 'vehicleId': '0', 'engName': 'NS-15M2'
|
||||
, 'name': 'NS-15M2'
|
||||
, 'kill': 67, 'teamKill': 0, 'killedBy': 303, 'headshot': 12, 'vehicleKill': 2, 'fire': 3217, 'hit': 1047, 'death': 67, 'damage': 41222, 'damageTakenBy': 166686, 'score': 25485, 'playTime': 25223, 'kdr': 1.0, 'kpm': 0.1594, 'hsr': 0.1791, 'kps': 48.0149, 'hpk': 15.6269, 'spm': 60.6232, 'accuracy': 0.3255, 'ivi': 582.9107, 'imageId': '81077', 'imageSrc': '/files/ps2/images/static/81077.png'},
|
||||
{'itemId': '7388', 'vehicleId': '0', 'engName': 'LA8 Rebel'
|
||||
, 'name': 'LA8 反抗军'
|
||||
, 'kill': 63, 'teamKill': 0, 'killedBy': 0, 'headshot': 11, 'vehicleKill': 1, 'fire': 1350, 'hit': 361, 'death': 98, 'damage': 37176, 'damageTakenBy': 0, 'score': 10730, 'playTime': 24016, 'kdr': 0.6429, 'kpm': 0.1574, 'hsr': 0.1746, 'kps': 21.4286, 'hpk': 5.7302, 'spm': 26.8071, 'accuracy': 0.2674, 'ivi': 466.9018, 'imageId': '86856', 'imageSrc': '/files/ps2/images/static/86856.png'},
|
||||
{'itemId': '7104', 'vehicleId': '0', 'engName': 'NC9 A-Tross'
|
||||
, 'name': 'NC9 阿特罗斯'
|
||||
, 'kill': 44, 'teamKill': 0, 'killedBy': 0, 'headshot': 14, 'vehicleKill': 2, 'fire': 1852, 'hit': 489, 'death': 104, 'damage': 31877, 'damageTakenBy': 0, 'score': 9356, 'playTime': 51633, 'kdr': 0.4231, 'kpm': 0.0511, 'hsr': 0.3182, 'kps': 42.0909, 'hpk': 11.1136, 'spm': 10.8721, 'accuracy': 0.264, 'ivi': 840.1237, 'imageId': '14468', 'imageSrc': '/files/ps2/images/static/14468.png'},
|
||||
{'itemId': '75083', 'vehicleId': '0', 'engName': 'NS Baron G5'
|
||||
, 'name': '纳能男爵 G5'
|
||||
, 'kill': 42, 'teamKill': 0, 'killedBy': 43, 'headshot': 9, 'vehicleKill': 0, 'fire': 1797, 'hit': 305, 'death': 95, 'damage': 50605, 'damageTakenBy': 23076, 'score': 7517, 'playTime': 68574, 'kdr': 0.4421, 'kpm': 0.0367, 'hsr': 0.2143, 'kps': 42.7857, 'hpk': 7.2619, 'spm': 6.5771, 'accuracy': 0.1697, 'ivi': 363.7014, 'imageId': '14641', 'imageSrc': '/files/ps2/images/static/14641.png'},
|
||||
{'itemId': '7174', 'vehicleId': '0', 'engName': 'AF-4A Bandit'
|
||||
, 'name': 'AF-4A 强盗'
|
||||
, 'kill': 42, 'teamKill': 0, 'killedBy': 0, 'headshot': 10, 'vehicleKill': 3, 'fire': 2128, 'hit': 601, 'death': 80, 'damage': 44304, 'damageTakenBy': 0, 'score': 8204, 'playTime': 17015, 'kdr': 0.525, 'kpm': 0.1481, 'hsr': 0.2381, 'kps': 50.6667, 'hpk': 14.3095, 'spm': 28.9298, 'accuracy': 0.2824, 'ivi': 672.44, 'imageId': '14120', 'imageSrc': '/files/ps2/images/static/14120.png'},
|
||||
{'itemId': '804246', 'vehicleId': '0', 'engName': 'NSX Yumi'
|
||||
, 'name': 'NSX 弓'
|
||||
, 'kill': 39, 'teamKill': 0, 'killedBy': 13, 'headshot': 5, 'vehicleKill': 0, 'fire': 2111, 'hit': 507, 'death': 78, 'damage': 25762, 'damageTakenBy': 8246, 'score': 5300, 'playTime': 8141, 'kdr': 0.5, 'kpm': 0.2874, 'hsr': 0.1282, 'kps': 54.1282, 'hpk': 13.0, 'spm': 39.0615, 'accuracy': 0.2402, 'ivi': 307.9109, 'imageId': '88000', 'imageSrc': '/files/ps2/images/static/88000.png'},
|
||||
{'itemId': '84', 'vehicleId': '0', 'engName': 'Shrike'
|
||||
, 'name': '百舌鸟'
|
||||
, 'kill': 39, 'teamKill': 0, 'killedBy': 2, 'headshot': 1, 'vehicleKill': 25, 'fire': 581, 'hit': 432, 'death': 82, 'damage': 235552, 'damageTakenBy': 0, 'score': 32380, 'playTime': 6752, 'kdr': 0.4756, 'kpm': 0.3466, 'hsr': 0.0256, 'kps': 14.8974, 'hpk': 11.0769, 'spm': 287.737, 'accuracy': 0.7435, 'ivi': 190.6527, 'imageId': '1593', 'imageSrc': '/files/ps2/images/static/1593.png'},
|
||||
{'itemId': '7233', 'vehicleId': '0', 'engName': 'GD-22S'
|
||||
, 'name': 'GD-22S'
|
||||
, 'kill': 37, 'teamKill': 0, 'killedBy': 0, 'headshot': 10, 'vehicleKill': 0, 'fire': 1874, 'hit': 443, 'death': 50, 'damage': 27778, 'damageTakenBy': 0, 'score': 10992, 'playTime': 46290, 'kdr': 0.74, 'kpm': 0.048, 'hsr': 0.2703, 'kps': 50.6486, 'hpk': 11.973, 'spm': 14.2476, 'accuracy': 0.2364, 'ivi': 638.8993, 'imageId': '5340', 'imageSrc': '/files/ps2/images/static/5340.png'},
|
||||
{'itemId': '7358', 'vehicleId': '0', 'engName': 'AF-18 Stalker'
|
||||
, 'name': 'AF-18 追猎者'
|
||||
, 'kill': 35, 'teamKill': 0, 'killedBy': 0, 'headshot': 8, 'vehicleKill': 2, 'fire': 1782, 'hit': 802, 'death': 64, 'damage': 36502, 'damageTakenBy': 0, 'score': 6723, 'playTime': 8643, 'kdr': 0.5469, 'kpm': 0.243, 'hsr': 0.2286, 'kps': 50.9143, 'hpk': 22.9143, 'spm': 46.6713, 'accuracy': 0.4501, 'ivi': 1028.6997, 'imageId': '5874', 'imageSrc': '/files/ps2/images/static/5874.png'},
|
||||
{'itemId': '24002', 'vehicleId': '0', 'engName': 'Impetus'
|
||||
, 'name': '冲力'
|
||||
, 'kill': 32, 'teamKill': 0, 'killedBy': 0, 'headshot': 7, 'vehicleKill': 1, 'fire': 393, 'hit': 154, 'death': 42, 'damage': 21414, 'damageTakenBy': 0, 'score': 4817, 'playTime': 26146, 'kdr': 0.7619, 'kpm': 0.0734, 'hsr': 0.2188, 'kps': 12.2813, 'hpk': 4.8125, 'spm': 11.0541, 'accuracy': 0.3919, 'ivi': 857.1883, 'imageId': '5904', 'imageSrc': '/files/ps2/images/static/5904.png'},
|
||||
{'itemId': '804179', 'vehicleId': '0', 'engName': 'NSX Masamune'
|
||||
, 'name': 'NSX 政宗'
|
||||
, 'kill': 29, 'teamKill': 0, 'killedBy': 2, 'headshot': 1, 'vehicleKill': 25, 'fire': 797, 'hit': 513, 'death': 35, 'damage': 165172, 'damageTakenBy': 598, 'score': 15265, 'playTime': 4494, 'kdr': 0.8286, 'kpm': 0.3872, 'hsr': 0.0345, 'kps': 27.4828, 'hpk': 17.6897, 'spm': 203.8051, 'accuracy': 0.6437, 'ivi': 221.953, 'imageId': '86952', 'imageSrc': '/files/ps2/images/static/86952.png'},
|
||||
{'itemId': '6006332', 'vehicleId': '0', 'engName': 'NS-03 Thumper'
|
||||
, 'name': 'NS-03 重击者'
|
||||
, 'kill': 27, 'teamKill': 0, 'killedBy': 34, 'headshot': 0, 'vehicleKill': 1, 'fire': 958, 'hit': 265, 'death': 70, 'damage': 26512, 'damageTakenBy': 20039, 'score': 5805, 'playTime': 37086, 'kdr': 0.3857, 'kpm': 0.0437, 'hsr': 0.0, 'kps': 35.4815, 'hpk': 9.8148, 'spm': 9.3917, 'accuracy': 0.2766, 'ivi': 0.0, 'imageId': '90789', 'imageSrc': '/files/ps2/images/static/90789.png'},
|
||||
{'itemId': '73', 'vehicleId': '0', 'engName': 'GR-22'
|
||||
, 'name': 'GR-22'
|
||||
, 'kill': 27, 'teamKill': 0, 'killedBy': 0, 'headshot': 3, 'vehicleKill': 0, 'fire': 1339, 'hit': 371, 'death': 60, 'damage': 17424, 'damageTakenBy': 0, 'score': 4836, 'playTime': 6338, 'kdr': 0.45, 'kpm': 0.2556, 'hsr': 0.1111, 'kps': 49.5926, 'hpk': 13.7407, 'spm': 45.781, 'accuracy': 0.2771, 'ivi': 307.8583, 'imageId': '5313', 'imageSrc': '/files/ps2/images/static/5313.png'},
|
||||
{'itemId': '6004197', 'vehicleId': '0', 'engName': 'NSX-P Naginata'
|
||||
, 'name': 'NSX 薙刀 铂金版'
|
||||
, 'kill': 24, 'teamKill': 0, 'killedBy': 151, 'headshot': 8, 'vehicleKill': 2, 'fire': 1281, 'hit': 285, 'death': 47, 'damage': 15139, 'damageTakenBy': 89448, 'score': 8759, 'playTime': 4296, 'kdr': 0.5106, 'kpm': 0.3352, 'hsr': 0.3333, 'kps': 53.375, 'hpk': 11.875, 'spm': 122.3324, 'accuracy': 0.2225, 'ivi': 741.6081, 'imageId': '89827', 'imageSrc': '/files/ps2/images/static/89827.png'},
|
||||
{'itemId': '6003793', 'vehicleId': '0', 'engName': 'NS-44L Showdown'
|
||||
, 'name': 'NS-44L 摊牌'
|
||||
, 'kill': 24, 'teamKill': 0, 'killedBy': 6, 'headshot': 9, 'vehicleKill': 1, 'fire': 238, 'hit': 83, 'death': 45, 'damage': 17522, 'damageTakenBy': 3920, 'score': 4224, 'playTime': 31159, 'kdr': 0.5333, 'kpm': 0.0462, 'hsr': 0.375, 'kps': 9.9167, 'hpk': 3.4583, 'spm': 8.1338, 'accuracy': 0.3487, 'ivi': 1307.7731, 'imageId': '88586', 'imageSrc': '/files/ps2/images/static/88586.png'},
|
||||
{'itemId': '7301', 'vehicleId': '0', 'engName': 'AF-8 RailJack'
|
||||
, 'name': 'AF-8 铺轨机'
|
||||
, 'kill': 23, 'teamKill': 0, 'killedBy': 0, 'headshot': 17, 'vehicleKill': 0, 'fire': 134, 'hit': 47, 'death': 28, 'damage': 14072, 'damageTakenBy': 0, 'score': 3932, 'playTime': 8684, 'kdr': 0.8214, 'kpm': 0.1589, 'hsr': 0.7391, 'kps': 5.8261, 'hpk': 2.0435, 'spm': 27.1672, 'accuracy': 0.3507, 'ivi': 2592.4724, 'imageId': '13752', 'imageSrc': '/files/ps2/images/static/13752.png'},
|
||||
{'itemId': '6014404', 'vehicleId': '0', 'engName': 'NS-11A Frontline'
|
||||
, 'name': 'NS-11A 前线'
|
||||
, 'kill': 22, 'teamKill': 0, 'killedBy': 1, 'headshot': 10, 'vehicleKill': 0, 'fire': 927, 'hit': 227, 'death': 35, 'damage': 13079, 'damageTakenBy': 666, 'score': 4877, 'playTime': 2849, 'kdr': 0.6286, 'kpm': 0.4633, 'hsr': 0.4545, 'kps': 42.1364, 'hpk': 10.3182, 'spm': 102.7097, 'accuracy': 0.2449, 'ivi': 1113.0725, 'imageId': '95541', 'imageSrc': '/files/ps2/images/static/95541.png'},
|
||||
{'itemId': '6011432', 'vehicleId': '0', 'engName': 'Seeker HLX'
|
||||
, 'name': '追踪者 HLX 重弩'
|
||||
, 'kill': 21, 'teamKill': 0, 'killedBy': 8, 'headshot': 10, 'vehicleKill': 0, 'fire': 409, 'hit': 90, 'death': 38, 'damage': 22485, 'damageTakenBy': 5049, 'score': 3398, 'playTime': 3582, 'kdr': 0.5526, 'kpm': 0.3518, 'hsr': 0.4762, 'kps': 19.4762, 'hpk': 4.2857, 'spm': 56.9179, 'accuracy': 0.22, 'ivi': 1047.8519, 'imageId': '94233', 'imageSrc': '/files/ps2/images/static/94233.png'},
|
||||
{'itemId': '6004209', 'vehicleId': '0', 'engName': 'MGR-M1 Bishop'
|
||||
, 'name': 'MGR-M1 主教'
|
||||
, 'kill': 21, 'teamKill': 0, 'killedBy': 0, 'headshot': 2, 'vehicleKill': 5, 'fire': 390, 'hit': 150, 'death': 29, 'damage': 15336, 'damageTakenBy': 0, 'score': 5208, 'playTime': 5878, 'kdr': 0.7241, 'kpm': 0.2144, 'hsr': 0.0952, 'kps': 18.5714, 'hpk': 7.1429, 'spm': 53.1609, 'accuracy': 0.3846, 'ivi': 366.3004, 'imageId': '89146', 'imageSrc': '/files/ps2/images/static/89146.png'},
|
||||
{'itemId': '7528', 'vehicleId': '0', 'engName': 'NC05 Jackhammer'
|
||||
, 'name': 'NC05 凿岩机'
|
||||
, 'kill': 20, 'teamKill': 0, 'killedBy': 0, 'headshot': 5, 'vehicleKill': 0, 'fire': 324, 'hit': 91, 'death': 44, 'damage': 12271, 'damageTakenBy': 0, 'score': 7144, 'playTime': 5667, 'kdr': 0.4545, 'kpm': 0.2118, 'hsr': 0.25, 'kps': 16.2, 'hpk': 4.55, 'spm': 75.6379, 'accuracy': 0.2809, 'ivi': 702.1605, 'imageId': '2438', 'imageSrc': '/files/ps2/images/static/2438.png'},
|
||||
{'itemId': '6006239', 'vehicleId': '0', 'engName': 'NSX-P Tengu'
|
||||
, 'name': 'NSX 天狗 铂金版'
|
||||
, 'kill': 20, 'teamKill': 0, 'killedBy': 83, 'headshot': 4, 'vehicleKill': 2, 'fire': 1101, 'hit': 404, 'death': 44, 'damage': 14061, 'damageTakenBy': 50461, 'score': 6952, 'playTime': 17888, 'kdr': 0.4545, 'kpm': 0.0671, 'hsr': 0.2, 'kps': 55.05, 'hpk': 20.2, 'spm': 23.3184, 'accuracy': 0.3669, 'ivi': 733.8783, 'imageId': '90538', 'imageSrc': '/files/ps2/images/static/90538.png'},
|
||||
{'itemId': '804252', 'vehicleId': '0', 'engName': 'NSX Tomoe'
|
||||
, 'name': 'NSX 巴纹'
|
||||
, 'kill': 16, 'teamKill': 0, 'killedBy': 42, 'headshot': 6, 'vehicleKill': 0, 'fire': 700, 'hit': 228, 'death': 36, 'damage': 10241, 'damageTakenBy': 22519, 'score': 3345, 'playTime': 3615, 'kdr': 0.4444, 'kpm': 0.2656, 'hsr': 0.375, 'kps': 43.75, 'hpk': 14.25, 'spm': 55.5187, 'accuracy': 0.3257, 'ivi': 1221.4286, 'imageId': '86955', 'imageSrc': '/files/ps2/images/static/86955.png'},
|
||||
{'itemId': '87', 'vehicleId': '0', 'engName': 'NC14 Bolt Driver'
|
||||
, 'name': 'NC14 雷电'
|
||||
, 'kill': 16, 'teamKill': 0, 'killedBy': 0, 'headshot': 9, 'vehicleKill': 1, 'fire': 100, 'hit': 36, 'death': 11, 'damage': 9681, 'damageTakenBy': 0, 'score': 4068, 'playTime': 10030, 'kdr': 1.4545, 'kpm': 0.0957, 'hsr': 0.5625, 'kps': 6.25, 'hpk': 2.25, 'spm': 24.335, 'accuracy': 0.36, 'ivi': 2025.0, 'imageId': '5895', 'imageSrc': '/files/ps2/images/static/5895.png'},
|
||||
{'itemId': '6011153', 'vehicleId': '0', 'engName': 'NSX Kappa'
|
||||
, 'name': 'NSX 河童'
|
||||
, 'kill': 15, 'teamKill': 0, 'killedBy': 7, 'headshot': 5, 'vehicleKill': 0, 'fire': 460, 'hit': 172, 'death': 12, 'damage': 11136, 'damageTakenBy': 4182, 'score': 2220, 'playTime': 1957, 'kdr': 1.25, 'kpm': 0.4599, 'hsr': 0.3333, 'kps': 30.6667, 'hpk': 11.4667, 'spm': 68.0634, 'accuracy': 0.3739, 'ivi': 1246.3768, 'imageId': '93632', 'imageSrc': '/files/ps2/images/static/93632.png'},
|
||||
{'itemId': '24008', 'vehicleId': '0', 'engName': 'Warden'
|
||||
, 'name': '监察队员'
|
||||
, 'kill': 14, 'teamKill': 0, 'killedBy': 0, 'headshot': 3, 'vehicleKill': 0, 'fire': 917, 'hit': 300, 'death': 105, 'damage': 33991, 'damageTakenBy': 0, 'score': 6294, 'playTime': 16210, 'kdr': 0.1333, 'kpm': 0.0518, 'hsr': 0.2143, 'kps': 65.5, 'hpk': 21.4286, 'spm': 23.2967, 'accuracy': 0.3272, 'ivi': 701.0438, 'imageId': '5880', 'imageSrc': '/files/ps2/images/static/5880.png'},
|
||||
{'itemId': '802969', 'vehicleId': '0', 'engName': 'NS-R3 Swarm'
|
||||
, 'name': 'NS-R3 蜂群'
|
||||
, 'kill': 13, 'teamKill': 0, 'killedBy': 8, 'headshot': 0, 'vehicleKill': 9, 'fire': 435, 'hit': 286, 'death': 42, 'damage': 103615, 'damageTakenBy': 63, 'score': 6844, 'playTime': 5865, 'kdr': 0.3095, 'kpm': 0.133, 'hsr': 0.0, 'kps': 33.4615, 'hpk': 22.0, 'spm': 70.0153, 'accuracy': 0.6575, 'ivi': 0.0, 'imageId': '84643', 'imageSrc': '/files/ps2/images/static/84643.png'},
|
||||
{'itemId': '6011538', 'vehicleId': '0', 'engName': 'UBP-1 Starfish'
|
||||
, 'name': 'UBP-1 海星'
|
||||
, 'kill': 13, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 176, 'hit': 65, 'death': 22, 'damage': 9583, 'damageTakenBy': 353, 'score': 1422, 'playTime': 1910, 'kdr': 0.5909, 'kpm': 0.4084, 'hsr': 0.0, 'kps': 13.5385, 'hpk': 5.0, 'spm': 44.6702, 'accuracy': 0.3693, 'ivi': 0.0, 'imageId': '94518', 'imageSrc': '/files/ps2/images/static/94518.png'},
|
||||
{'itemId': '6011528', 'vehicleId': '0', 'engName': 'UBR-300 Swordfish'
|
||||
, 'name': 'UBR-300 剑鱼'
|
||||
, 'kill': 13, 'teamKill': 0, 'killedBy': 3, 'headshot': 3, 'vehicleKill': 0, 'fire': 639, 'hit': 165, 'death': 41, 'damage': 10400, 'damageTakenBy': 1881, 'score': 2578, 'playTime': 3788, 'kdr': 0.3171, 'kpm': 0.2059, 'hsr': 0.2308, 'kps': 49.1538, 'hpk': 12.6923, 'spm': 40.8342, 'accuracy': 0.2582, 'ivi': 595.883, 'imageId': '94515', 'imageSrc': '/files/ps2/images/static/94515.png'},
|
||||
{'itemId': '2308', 'vehicleId': '0', 'engName': 'Hunter QCX'
|
||||
, 'name': '猎人 QCX 十字弩'
|
||||
, 'kill': 12, 'teamKill': 0, 'killedBy': 11, 'headshot': 1, 'vehicleKill': 3, 'fire': 461, 'hit': 126, 'death': 22, 'damage': 39104, 'damageTakenBy': 5253, 'score': 4511, 'playTime': 6291, 'kdr': 0.5455, 'kpm': 0.1144, 'hsr': 0.0833, 'kps': 38.4167, 'hpk': 10.5, 'spm': 43.0234, 'accuracy': 0.2733, 'ivi': 227.7657, 'imageId': '13681', 'imageSrc': '/files/ps2/images/static/13681.png'},
|
||||
{'itemId': '69999', 'vehicleId': '0', 'engName': 'NS-11P'
|
||||
, 'name': 'NS-11A 铂金版'
|
||||
, 'kill': 11, 'teamKill': 0, 'killedBy': 74, 'headshot': 3, 'vehicleKill': 0, 'fire': 811, 'hit': 202, 'death': 40, 'damage': 8631, 'damageTakenBy': 49732, 'score': 5486, 'playTime': 4720, 'kdr': 0.275, 'kpm': 0.1398, 'hsr': 0.2727, 'kps': 73.7273, 'hpk': 18.3636, 'spm': 69.7373, 'accuracy': 0.2491, 'ivi': 679.296, 'imageId': '6891', 'imageSrc': '/files/ps2/images/static/6891.png'},
|
||||
{'itemId': '6003752', 'vehicleId': '0', 'engName': 'NSX-P Tanto'
|
||||
, 'name': 'NSX 短刀 铂金版'
|
||||
, 'kill': 10, 'teamKill': 0, 'killedBy': 87, 'headshot': 1, 'vehicleKill': 2, 'fire': 904, 'hit': 308, 'death': 34, 'damage': 13022, 'damageTakenBy': 50522, 'score': 3847, 'playTime': 6207, 'kdr': 0.2941, 'kpm': 0.0967, 'hsr': 0.1, 'kps': 90.4, 'hpk': 30.8, 'spm': 37.187, 'accuracy': 0.3407, 'ivi': 340.708, 'imageId': '88171', 'imageSrc': '/files/ps2/images/static/88171.png'},
|
||||
{'itemId': '33002', 'vehicleId': '0', 'engName': 'NC15 Phoenix'
|
||||
, 'name': 'NC15 凤凰'
|
||||
, 'kill': 5, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 2, 'fire': 225, 'hit': 83, 'death': 10, 'damage': 56478, 'damageTakenBy': 0, 'score': 7150, 'playTime': 2926, 'kdr': 0.5, 'kpm': 0.1025, 'hsr': 0.0, 'kps': 45.0, 'hpk': 16.6, 'spm': 146.6165, 'accuracy': 0.3689, 'ivi': 0.0, 'imageId': '8107', 'imageSrc': '/files/ps2/images/static/8107.png'},
|
||||
{'itemId': '802771', 'vehicleId': '0', 'engName': 'NS-AM7 Archer'
|
||||
, 'name': 'NS-AM7 弓箭手'
|
||||
, 'kill': 4, 'teamKill': 0, 'killedBy': 8, 'headshot': 1, 'vehicleKill': 2, 'fire': 198, 'hit': 92, 'death': 52, 'damage': 23553, 'damageTakenBy': 11884, 'score': 2656, 'playTime': 12315, 'kdr': 0.0769, 'kpm': 0.0195, 'hsr': 0.25, 'kps': 49.5, 'hpk': 23.0, 'spm': 12.9403, 'accuracy': 0.4646, 'ivi': 1161.6162, 'imageId': '83948', 'imageSrc': '/files/ps2/images/static/83948.png'},
|
||||
{'itemId': '33004', 'vehicleId': '0', 'engName': 'Hawk GD-68'
|
||||
, 'name': 'GD-68 鹰式'
|
||||
, 'kill': 4, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 2, 'fire': 33, 'hit': 20, 'death': 1, 'damage': 13571, 'damageTakenBy': 0, 'score': 5617, 'playTime': 496, 'kdr': 4.0, 'kpm': 0.4839, 'hsr': 0.0, 'kps': 8.25, 'hpk': 5.0, 'spm': 679.4758, 'accuracy': 0.6061, 'ivi': 0.0, 'imageId': '1593', 'imageSrc': '/files/ps2/images/static/1593.png'},
|
||||
{'itemId': '40002', 'vehicleId': '0', 'engName': 'LA39 Bruiser'
|
||||
, 'name': 'LA39 拳师'
|
||||
, 'kill': 2, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 28, 'hit': 16, 'death': 25, 'damage': 2741, 'damageTakenBy': 0, 'score': 4640, 'playTime': 3773, 'kdr': 0.08, 'kpm': 0.0318, 'hsr': 0.0, 'kps': 14.0, 'hpk': 8.0, 'spm': 73.7874, 'accuracy': 0.5714, 'ivi': 0.0, 'imageId': '8078', 'imageSrc': '/files/ps2/images/static/8078.png'},
|
||||
{'itemId': '6009101', 'vehicleId': '0', 'engName': 'NS-30 Tranquility'
|
||||
, 'name': 'NS-30 宁静'
|
||||
, 'kill': 2, 'teamKill': 0, 'killedBy': 6, 'headshot': 0, 'vehicleKill': 0, 'fire': 40, 'hit': 12, 'death': 6, 'damage': 1344, 'damageTakenBy': 3454, 'score': 526, 'playTime': 32825, 'kdr': 0.3333, 'kpm': 0.0037, 'hsr': 0.0, 'kps': 20.0, 'hpk': 6.0, 'spm': 0.9615, 'accuracy': 0.3, 'ivi': 0.0, 'imageId': '92736', 'imageSrc': '/files/ps2/images/static/92736.png'},
|
||||
{'itemId': '50561', 'vehicleId': '0', 'engName': 'NS Annihilator '
|
||||
, 'name': '纳能歼灭者 '
|
||||
, 'kill': 2, 'teamKill': 0, 'killedBy': 18, 'headshot': 0, 'vehicleKill': 1, 'fire': 8, 'hit': 6, 'death': 3, 'damage': 4534, 'damageTakenBy': 271, 'score': 5819, 'playTime': 229, 'kdr': 0.6667, 'kpm': 0.524, 'hsr': 0.0, 'kps': 4.0, 'hpk': 3.0, 'spm': 1524.6288, 'accuracy': 0.75, 'ivi': 0.0, 'imageId': '85773', 'imageSrc': '/files/ps2/images/static/85773.png'},
|
||||
{'itemId': '6003943', 'vehicleId': '0', 'engName': 'NS-357 IA'
|
||||
, 'name': 'NS-357 IA'
|
||||
, 'kill': 1, 'teamKill': 0, 'killedBy': 8, 'headshot': 1, 'vehicleKill': 0, 'fire': 31, 'hit': 5, 'death': 4, 'damage': 999, 'damageTakenBy': 2740, 'score': 265, 'playTime': 482, 'kdr': 0.25, 'kpm': 0.1245, 'hsr': 1.0, 'kps': 31.0, 'hpk': 5.0, 'spm': 32.9876, 'accuracy': 0.1613, 'ivi': 1612.9032, 'imageId': '88583', 'imageSrc': '/files/ps2/images/static/88583.png'},
|
||||
{'itemId': '2', 'vehicleId': '0', 'engName': 'NC4 Mag-Shot'
|
||||
, 'name': 'NC4 电磁枪'
|
||||
, 'kill': 1, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 731, 'hit': 49, 'death': 16, 'damage': 3544, 'damageTakenBy': 0, 'score': 2004, 'playTime': 5312, 'kdr': 0.0625, 'kpm': 0.0113, 'hsr': 0.0, 'kps': 731.0, 'hpk': 49.0, 'spm': 22.6355, 'accuracy': 0.067, 'ivi': 0.0, 'imageId': '2432', 'imageSrc': '/files/ps2/images/static/2432.png'},
|
||||
{'itemId': '6009782', 'vehicleId': '0', 'engName': 'C-4 Present'
|
||||
, 'name': 'C-4 礼盒'
|
||||
, 'kill': 1, 'teamKill': 0, 'killedBy': 1, 'headshot': 0, 'vehicleKill': 1, 'fire': 11, 'hit': 4, 'death': 1, 'damage': 4000, 'damageTakenBy': 500, 'score': 99, 'playTime': 98, 'kdr': 1.0, 'kpm': 0.6122, 'hsr': 0.0, 'kps': 11.0, 'hpk': 4.0, 'spm': 60.6122, 'accuracy': 0.3636, 'ivi': 0.0, 'imageId': '93277', 'imageSrc': '/files/ps2/images/static/93277.png'},
|
||||
{'itemId': '7390', 'vehicleId': '0', 'engName': 'NC08 Mag-Scatter'
|
||||
, 'name': 'NC08 电磁霰弹'
|
||||
, 'kill': 1, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 22, 'hit': 14, 'death': 4, 'damage': 2074, 'damageTakenBy': 0, 'score': 315, 'playTime': 477, 'kdr': 0.25, 'kpm': 0.1258, 'hsr': 0.0, 'kps': 22.0, 'hpk': 14.0, 'spm': 39.6226, 'accuracy': 0.6364, 'ivi': 0.0, 'imageId': '79685', 'imageSrc': '/files/ps2/images/static/79685.png'},
|
||||
{'itemId': '802733', 'vehicleId': '0', 'engName': 'NS-44L Blackhand'
|
||||
, 'name': 'NS-44L 黑手党'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 27, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 15899, 'score': 300, 'playTime': 35, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 514.2857, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '83225', 'imageSrc': '/files/ps2/images/static/83225.png'},
|
||||
{'itemId': '6009009', 'vehicleId': '0', 'engName': 'Flash XS-1'
|
||||
, 'name': '火花 XS-1'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 26, 'hit': 0, 'death': 1, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 265, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 26.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '93387', 'imageSrc': '/files/ps2/images/static/93387.png'},
|
||||
{'itemId': '2311', 'vehicleId': '0', 'engName': 'NS-30 Vandal'
|
||||
, 'name': 'NS-30 汪达尔'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 14, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 9685, 'score': 779, 'playTime': 384, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 121.7188, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '13779', 'imageSrc': '/files/ps2/images/static/13779.png'},
|
||||
{'itemId': '75071', 'vehicleId': '0', 'engName': 'NS-357 Underboss'
|
||||
, 'name': 'NS-357 二老板'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 60, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 30675, 'score': 1179, 'playTime': 190, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 372.3158, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '8742', 'imageSrc': '/files/ps2/images/static/8742.png'},
|
||||
{'itemId': '6002661', 'vehicleId': '0', 'engName': 'NS-44L "Ravenous" Blackhand'
|
||||
, 'name': 'NS-44L “饕餮” 黑手党'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 2, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 1370, 'score': 25, 'playTime': 295, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 5.0847, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '86862', 'imageSrc': '/files/ps2/images/static/86862.png'},
|
||||
{'itemId': '1264', 'vehicleId': '0', 'engName': 'Ammunition Package 2'
|
||||
, 'name': '弹药包 2 级'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 1, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '1474', 'imageSrc': '/files/ps2/images/static/1474.png'},
|
||||
{'itemId': '803617', 'vehicleId': '0', 'engName': 'HIVE'
|
||||
, 'name': '蜂巢'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 1, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '85833', 'imageSrc': '/files/ps2/images/static/85833.png'},
|
||||
{'itemId': '6004714', 'vehicleId': '0', 'engName': 'Soldier Soaker'
|
||||
, 'name': '单兵水枪'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 1, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '89280', 'imageSrc': '/files/ps2/images/static/89280.png'},
|
||||
{'itemId': '1268', 'vehicleId': '0', 'engName': 'Ammunition Package 6'
|
||||
, 'name': '弹药包 6 级'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 195, 'hit': 0, 'death': 1, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 277, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 195.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '1474', 'imageSrc': '/files/ps2/images/static/1474.png'},
|
||||
{'itemId': '1267', 'vehicleId': '0', 'engName': 'Ammunition Package 5'
|
||||
, 'name': '弹药包 5 级'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 1, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '1474', 'imageSrc': '/files/ps2/images/static/1474.png'},
|
||||
{'itemId': '6011155', 'vehicleId': '0', 'engName': 'NSX Sesshin'
|
||||
, 'name': 'NSX 摄心'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 439, 'score': 39, 'playTime': 1140, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 2.0526, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '93635', 'imageSrc': '/files/ps2/images/static/93635.png'},
|
||||
{'itemId': '1266', 'vehicleId': '0', 'engName': 'Ammunition Package 4'
|
||||
, 'name': '弹药包 4 级'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 1, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '1474', 'imageSrc': '/files/ps2/images/static/1474.png'},
|
||||
{'itemId': '1265', 'vehicleId': '0', 'engName': 'Ammunition Package 3'
|
||||
, 'name': '弹药包 3 级'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 1, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '1474', 'imageSrc': '/files/ps2/images/static/1474.png'},
|
||||
{'itemId': '6014305', 'vehicleId': '0', 'engName': 'Conduit'
|
||||
, 'name': '导线'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 312, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '95696', 'imageSrc': '/files/ps2/images/static/95696.png'},
|
||||
{'itemId': '40001', 'vehicleId': '0', 'engName': 'GD-66 Claw'
|
||||
, 'name': 'GD-66 利爪'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 10, 'hit': 5, 'death': 6, 'damage': 1013, 'damageTakenBy': 0, 'score': 1374, 'playTime': 875, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 10.0, 'hpk': 5.0, 'spm': 94.2171, 'accuracy': 0.5, 'ivi': 0.0, 'imageId': '8075', 'imageSrc': '/files/ps2/images/static/8075.png'},
|
||||
{'itemId': '6005713', 'vehicleId': '0', 'engName': 'The Little Helper'
|
||||
, 'name': '小帮手'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 3, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 1970, 'score': 0, 'playTime': 235, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '90014', 'imageSrc': '/files/ps2/images/static/90014.png'},
|
||||
{'itemId': '803605', 'vehicleId': '0', 'engName': 'Rampart Wall'
|
||||
, 'name': '壁垒'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 248, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 8272, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 248.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '85830', 'imageSrc': '/files/ps2/images/static/85830.png'},
|
||||
{'itemId': '6004611', 'vehicleId': '0', 'engName': 'Bending Beacon'
|
||||
, 'name': '扭曲信标'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 1, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '3655', 'imageSrc': '/files/ps2/images/static/3655.png'},
|
||||
{'itemId': '803611', 'vehicleId': '0', 'engName': 'Sunderer Garage'
|
||||
, 'name': '决裂者车库'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 47, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 799, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 47.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '86100', 'imageSrc': '/files/ps2/images/static/86100.png'},
|
||||
{'itemId': '804702', 'vehicleId': '0', 'engName': 'Cortium Silo'
|
||||
, 'name': '钶金矿仓'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 347, 'hit': 0, 'death': 1, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 2522, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 347.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '85937', 'imageSrc': '/files/ps2/images/static/85937.png'},
|
||||
{'itemId': '803614', 'vehicleId': '0', 'engName': 'Bunker'
|
||||
, 'name': '地堡'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 24, 'hit': 0, 'death': 2, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 480, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 24.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '85827', 'imageSrc': '/files/ps2/images/static/85827.png'},
|
||||
{'itemId': '16029', 'vehicleId': '0', 'engName': 'NCM3 Raven'
|
||||
, 'name': 'NCM3 渡鸦'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 784, 'playTime': 98, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 480.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '8544', 'imageSrc': '/files/ps2/images/static/8544.png'},
|
||||
{'itemId': '16028', 'vehicleId': '0', 'engName': 'NCM3 Raven'
|
||||
, 'name': 'NCM3 渡鸦'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 1011, 'playTime': 98, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 618.9796, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '8541', 'imageSrc': '/files/ps2/images/static/8541.png'},
|
||||
{'itemId': '6010049', 'vehicleId': '0', 'engName': 'NS Scorpion'
|
||||
, 'name': '纳能毒蝎'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 3, 'headshot': 0, 'vehicleKill': 0, 'fire': 7, 'hit': 0, 'death': 1, 'damage': 657, 'damageTakenBy': 6085, 'score': 302, 'playTime': 113, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 7.0, 'hpk': 0.0, 'spm': 160.354, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '93543', 'imageSrc': '/files/ps2/images/static/93543.png'},
|
||||
{'itemId': '7609', 'vehicleId': '0', 'engName': 'Restoration Kit'
|
||||
, 'name': '恢复注射器'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 5, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '1480', 'imageSrc': '/files/ps2/images/static/1480.png'},
|
||||
{'itemId': '802102', 'vehicleId': '0', 'engName': 'NS-11CG'
|
||||
, 'name': 'NS-11C 金色版'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 5, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 2521, 'score': 0, 'playTime': 20, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '81068', 'imageSrc': '/files/ps2/images/static/81068.png'},
|
||||
{'itemId': '33003', 'vehicleId': '0', 'engName': 'AF-22 Crow'
|
||||
, 'name': 'AF-22 乌鸦'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 440, 'playTime': 63, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 419.0476, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '1593', 'imageSrc': '/files/ps2/images/static/1593.png'},
|
||||
{'itemId': '6015090', 'vehicleId': '0', 'engName': 'NS-61 "Wartime" Emissary'
|
||||
, 'name': 'NS-61 “战时” 密使'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 1, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '96645', 'imageSrc': '/files/ps2/images/static/96645.png'},
|
||||
{'itemId': '200', 'vehicleId': '0', 'engName': 'Anti-Infantry MANA Turret'
|
||||
, 'name': '反步兵 MANA 炮台'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 15, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 112, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 15.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '4395', 'imageSrc': '/files/ps2/images/static/4395.png'},
|
||||
{'itemId': '75490', 'vehicleId': '0', 'engName': 'NS Patriot Flare Gun'
|
||||
, 'name': '纳能爱国者烟花枪'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 27, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 230, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 27.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '10065', 'imageSrc': '/files/ps2/images/static/10065.png'},
|
||||
{'itemId': '6011792', 'vehicleId': '0', 'engName': 'Diver Propulsion Device 1'
|
||||
, 'name': '潜水员推进器 1 级'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 1, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 1125, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '95045', 'imageSrc': '/files/ps2/images/static/95045.png'},
|
||||
{'itemId': '803470', 'vehicleId': '0', 'engName': 'Welding Device'
|
||||
, 'name': '焊接器'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 9982, 'hit': 0, 'death': 10, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 7046, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 9982.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '86260', 'imageSrc': '/files/ps2/images/static/86260.png'},
|
||||
{'itemId': '6011526', 'vehicleId': '0', 'engName': 'UBR-100 Frogman'
|
||||
, 'name': 'UBR-100 蛙人'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 29, 'headshot': 0, 'vehicleKill': 0, 'fire': 105, 'hit': 49, 'death': 4, 'damage': 5275, 'damageTakenBy': 17073, 'score': 677, 'playTime': 1008, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 105.0, 'hpk': 49.0, 'spm': 40.2976, 'accuracy': 0.4667, 'ivi': 0.0, 'imageId': '94509', 'imageSrc': '/files/ps2/images/static/94509.png'},
|
||||
{'itemId': '6011527', 'vehicleId': '0', 'engName': 'UBR-150 Sea Lion'
|
||||
, 'name': 'UBR-150 海狮'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 15, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 9572, 'score': 44, 'playTime': 52, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 50.7692, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '94512', 'imageSrc': '/files/ps2/images/static/94512.png'},
|
||||
{'itemId': '6002955', 'vehicleId': '0', 'engName': 'Hardlight Barrier'
|
||||
, 'name': '强光屏障'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 17, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 140, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 17.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '90256', 'imageSrc': '/files/ps2/images/static/90256.png'},
|
||||
{'itemId': '804249', 'vehicleId': '0', 'engName': 'NSX Naginata'
|
||||
, 'name': 'NSX 薙刀'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 101, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 60891, 'score': 1705, 'playTime': 236, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 433.4746, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '86949', 'imageSrc': '/files/ps2/images/static/86949.png'},
|
||||
{'itemId': '804243', 'vehicleId': '0', 'engName': 'NSX Tanto'
|
||||
, 'name': 'NSX 短刀'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 50, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 25946, 'score': 365, 'playTime': 27, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 811.1111, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '86946', 'imageSrc': '/files/ps2/images/static/86946.png'},
|
||||
{'itemId': '376', 'vehicleId': '0', 'engName': 'Ammunition Package 1'
|
||||
, 'name': '弹药包 1 级'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 1, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '1474', 'imageSrc': '/files/ps2/images/static/1474.png'},
|
||||
{'itemId': '377', 'vehicleId': '0', 'engName': 'Ammunition Package 1'
|
||||
, 'name': '弹药包 1 级'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 1, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '1474', 'imageSrc': '/files/ps2/images/static/1474.png'},
|
||||
{'itemId': '803007', 'vehicleId': '0', 'engName': 'NC Triumph Flare Gun'
|
||||
, 'name': '新联邦凯旋烟花枪'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 111, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '10065', 'imageSrc': '/files/ps2/images/static/10065.png'},
|
||||
{'itemId': '6005225', 'vehicleId': '0', 'engName': 'Ammunition Package 1'
|
||||
, 'name': '弹药包 1 级'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 1, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '1474', 'imageSrc': '/files/ps2/images/static/1474.png'},
|
||||
{'itemId': '6008734', 'vehicleId': '0', 'engName': 'Mammoth Cannon'
|
||||
, 'name': '猛犸火炮'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 1, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '92775', 'imageSrc': '/files/ps2/images/static/92775.png'},
|
||||
{'itemId': '75517', 'vehicleId': '0', 'engName': 'NC Patriot Flare Gun'
|
||||
, 'name': '新联邦爱国者烟花枪'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 119, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '10065', 'imageSrc': '/files/ps2/images/static/10065.png'},
|
||||
{'itemId': '7232', 'vehicleId': '0', 'engName': 'EM1'
|
||||
, 'name': 'EM1'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 627, 'playTime': 194, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 193.9175, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '5337', 'imageSrc': '/files/ps2/images/static/5337.png'},
|
||||
{'itemId': '7235', 'vehicleId': '0', 'engName': 'EM6'
|
||||
, 'name': 'EM6'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 1427, 'playTime': 308, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 277.987, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '85856', 'imageSrc': '/files/ps2/images/static/85856.png'},
|
||||
{'itemId': '7236', 'vehicleId': '0', 'engName': 'LA1 Anchor'
|
||||
, 'name': 'LA1 巨锚'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 5238, 'playTime': 167, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 1881.9162, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '9449', 'imageSrc': '/files/ps2/images/static/9449.png'},
|
||||
{'itemId': '24004', 'vehicleId': '0', 'engName': 'EM4 Longshot'
|
||||
, 'name': 'EM4 远射'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 683, 'playTime': 102, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 401.7647, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '5910', 'imageSrc': '/files/ps2/images/static/5910.png'},
|
||||
{'itemId': '24007', 'vehicleId': '0', 'engName': 'AF-6 Shadow'
|
||||
, 'name': 'AF-6 暗影'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 240, 'playTime': 98, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 146.9388, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '5877', 'imageSrc': '/files/ps2/images/static/5877.png'},
|
||||
{'itemId': '24000', 'vehicleId': '0', 'engName': 'Gauss SPR'
|
||||
, 'name': '高斯 SPR'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 1132, 'playTime': 210, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 323.4286, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '5898', 'imageSrc': '/files/ps2/images/static/5898.png'},
|
||||
{'itemId': '24001', 'vehicleId': '0', 'engName': 'SAS-R'
|
||||
, 'name': 'SAS-R'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 2026, 'playTime': 310, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 392.129, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '5901', 'imageSrc': '/files/ps2/images/static/5901.png'},
|
||||
{'itemId': '7108', 'vehicleId': '0', 'engName': 'Reaper DMR'
|
||||
, 'name': '收割者 DMR'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 1721, 'playTime': 278, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 371.4388, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '5316', 'imageSrc': '/files/ps2/images/static/5316.png'},
|
||||
{'itemId': '45', 'vehicleId': '0', 'engName': 'Shield Recharging Field'
|
||||
, 'name': '护盾充能场'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 319, 'hit': 0, 'death': 16, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 742, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 319.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '14500', 'imageSrc': '/files/ps2/images/static/14500.png'},
|
||||
{'itemId': '6009856', 'vehicleId': '0', 'engName': 'Signal Scanner'
|
||||
, 'name': '信号扫描器'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 86, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 403, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 86.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '93445', 'imageSrc': '/files/ps2/images/static/93445.png'},
|
||||
{'itemId': '153', 'vehicleId': '0', 'engName': 'Ammunition Package 1'
|
||||
, 'name': '弹药包 1 级'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 893, 'hit': 0, 'death': 15, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 3748, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 893.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '1474', 'imageSrc': '/files/ps2/images/static/1474.png'},
|
||||
{'itemId': '6009605', 'vehicleId': '0', 'engName': 'NE-11 PML'
|
||||
, 'name': 'NE-11 PML'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 3841, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 4, 'playTime': 1734, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 3841.0, 'hpk': 0.0, 'spm': 0.1384, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '93262', 'imageSrc': '/files/ps2/images/static/93262.png'},
|
||||
{'itemId': '6015076', 'vehicleId': '0', 'engName': 'Spitfire "Prime Directive" Auto-Turret'
|
||||
, 'name': '“喷火” 自动炮台 “第一指令”'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 1, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '96587', 'imageSrc': '/files/ps2/images/static/96587.png'},
|
||||
{'itemId': '804138', 'vehicleId': '0', 'engName': 'NS-61 Emissary'
|
||||
, 'name': 'NS-61 密使'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 43, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 23838, 'score': 1734, 'playTime': 360, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 289.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '85764', 'imageSrc': '/files/ps2/images/static/85764.png'},
|
||||
{'itemId': '804255', 'vehicleId': '0', 'engName': 'NSX Daimyo'
|
||||
, 'name': 'NSX 大名'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 47, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 24140, 'score': 844, 'playTime': 1813, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 27.9316, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '86961', 'imageSrc': '/files/ps2/images/static/86961.png'},
|
||||
{'itemId': '6004294', 'vehicleId': '0', 'engName': 'AM7-XOXO'
|
||||
, 'name': 'AM7-XOXO'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 3, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 1550, 'score': 220, 'playTime': 607, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 21.7463, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '88677', 'imageSrc': '/files/ps2/images/static/88677.png'},
|
||||
{'itemId': '804263', 'vehicleId': '0', 'engName': 'Skywall Shield Emitter'
|
||||
, 'name': '天壁护盾发射器'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 124, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 1802, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 124.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '85880', 'imageSrc': '/files/ps2/images/static/85880.png'},
|
||||
{'itemId': '6003552', 'vehicleId': '0', 'engName': 'Router'
|
||||
, 'name': '重生路由'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 54, 'hit': 0, 'death': 1, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 600, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 54.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '96195', 'imageSrc': '/files/ps2/images/static/96195.png'},
|
||||
{'itemId': '6004529', 'vehicleId': '0', 'engName': 'Reserve Hardlight Barrier'
|
||||
, 'name': '备用强光屏障'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 4, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 20, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 4.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '90256', 'imageSrc': '/files/ps2/images/static/90256.png'},
|
||||
{'itemId': '6002466', 'vehicleId': '0', 'engName': 'Elysium Spawn Tube'
|
||||
, 'name': '极乐重生舱'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 108, 'hit': 0, 'death': 1, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 1280, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 108.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '86715', 'imageSrc': '/files/ps2/images/static/86715.png'},
|
||||
{'itemId': '27000', 'vehicleId': '0', 'engName': 'AF-4 Cyclone'
|
||||
, 'name': 'AF-4 龙卷风'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 2258, 'playTime': 1537, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 88.1457, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '7902', 'imageSrc': '/files/ps2/images/static/7902.png'},
|
||||
{'itemId': '1619', 'vehicleId': '0', 'engName': 'Medical Applicator 4'
|
||||
, 'name': '医疗仪 4 级'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 5582, 'hit': 0, 'death': 22, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 1509, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 5582.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '4982', 'imageSrc': '/files/ps2/images/static/4982.png'},
|
||||
{'itemId': '1618', 'vehicleId': '0', 'engName': 'Medical Applicator 3'
|
||||
, 'name': '医疗仪 3 级'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 1, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '4982', 'imageSrc': '/files/ps2/images/static/4982.png'},
|
||||
{'itemId': '6009090', 'vehicleId': '0', 'engName': 'Caltrop'
|
||||
, 'name': '拒马'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 29, 'hit': 0, 'death': 3, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 261, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 29.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '92711', 'imageSrc': '/files/ps2/images/static/92711.png'},
|
||||
{'itemId': '95', 'vehicleId': '0', 'engName': 'Medical Applicator 1'
|
||||
, 'name': '医疗仪 1 级'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 1291, 'hit': 0, 'death': 12, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 716, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 1291.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '4982', 'imageSrc': '/files/ps2/images/static/4982.png'},
|
||||
{'itemId': '1617', 'vehicleId': '0', 'engName': 'Medical Applicator 2'
|
||||
, 'name': '医疗仪 2 级'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 1, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '4982', 'imageSrc': '/files/ps2/images/static/4982.png'},
|
||||
{'itemId': '6009093', 'vehicleId': '0', 'engName': 'Infradine'
|
||||
, 'name': '红外注射器'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 263, 'hit': 0, 'death': 4, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 553, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 263.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '1480', 'imageSrc': '/files/ps2/images/static/1480.png'},
|
||||
{'itemId': '6004873', 'vehicleId': '0', 'engName': 'Solid Wall'
|
||||
, 'name': '实心墙'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 29, 'hit': 0, 'death': 1, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 1196, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 29.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '89494', 'imageSrc': '/files/ps2/images/static/89494.png'},
|
||||
{'itemId': '99', 'vehicleId': '0', 'engName': 'Medical Kit'
|
||||
, 'name': '医疗注射器'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 454, 'hit': 0, 'death': 31, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 1731, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 454.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '1480', 'imageSrc': '/files/ps2/images/static/1480.png'},
|
||||
{'itemId': '6004992', 'vehicleId': '0', 'engName': 'NS-AM8 Shortbow'
|
||||
, 'name': 'NS-AM8 短弓'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 57, 'hit': 26, 'death': 13, 'damage': 3554, 'damageTakenBy': 1000, 'score': 94, 'playTime': 4768, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 57.0, 'hpk': 26.0, 'spm': 1.1829, 'accuracy': 0.4561, 'ivi': 0.0, 'imageId': '89698', 'imageSrc': '/files/ps2/images/static/89698.png'},
|
||||
{'itemId': '7172', 'vehicleId': '0', 'engName': 'NC2 Gauss Compact'
|
||||
, 'name': 'NC2 高斯紧凑型'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 1895, 'playTime': 261, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 435.6322, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '5331', 'imageSrc': '/files/ps2/images/static/5331.png'},
|
||||
{'itemId': '6003665', 'vehicleId': '0', 'engName': 'NS-45 Pilot'
|
||||
, 'name': 'NS-45 领航员'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 33, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 16850, 'score': 1336, 'playTime': 432, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 185.5556, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '88052', 'imageSrc': '/files/ps2/images/static/88052.png'},
|
||||
{'itemId': '7173', 'vehicleId': '0', 'engName': 'Razor GD-23'
|
||||
, 'name': 'GD-23 剃刀'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 1638, 'playTime': 643, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 152.846, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '80392', 'imageSrc': '/files/ps2/images/static/80392.png'},
|
||||
{'itemId': '1621', 'vehicleId': '0', 'engName': 'Medical Applicator 6'
|
||||
, 'name': '医疗仪 6 级'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 3254, 'hit': 0, 'death': 25, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 2376, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 3254.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '4982', 'imageSrc': '/files/ps2/images/static/4982.png'},
|
||||
{'itemId': '1620', 'vehicleId': '0', 'engName': 'Medical Applicator 5'
|
||||
, 'name': '医疗仪 5 级'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 54988, 'hit': 0, 'death': 342, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 20411, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 54988.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '4982', 'imageSrc': '/files/ps2/images/static/4982.png'},
|
||||
{'itemId': '6004421', 'vehicleId': '0', 'engName': 'Sentinel Relay'
|
||||
, 'name': '哨兵中继站'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 85, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 1008, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 85.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '89065', 'imageSrc': '/files/ps2/images/static/89065.png'},
|
||||
{'itemId': '6003571', 'vehicleId': '0', 'engName': 'NS-11A "Heatwave"'
|
||||
, 'name': 'NS-11A “热浪”'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 11, 'headshot': 0, 'vehicleKill': 0, 'fire': 0, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 5487, 'score': 0, 'playTime': 10, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 0.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '88091', 'imageSrc': '/files/ps2/images/static/88091.png'},
|
||||
{'itemId': '6004425', 'vehicleId': '0', 'engName': 'Routing Spire'
|
||||
, 'name': '传送尖塔'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 60, 'hit': 0, 'death': 1, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 683, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 60.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '89068', 'imageSrc': '/files/ps2/images/static/89068.png'},
|
||||
{'itemId': '6013463', 'vehicleId': '0', 'engName': 'LA60 Masthead'
|
||||
, 'name': 'LA60 桅灯'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 241, 'hit': 123, 'death': 26, 'damage': 35928, 'damageTakenBy': 0, 'score': 1440, 'playTime': 6378, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 241.0, 'hpk': 123.0, 'spm': 13.5466, 'accuracy': 0.5104, 'ivi': 0.0, 'imageId': '94849', 'imageSrc': '/files/ps2/images/static/94849.png'},
|
||||
{'itemId': '6002354', 'vehicleId': '0', 'engName': 'Vehicle Ramp'
|
||||
, 'name': '载具斜坡'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 1, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 30, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 1.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '86646', 'imageSrc': '/files/ps2/images/static/86646.png'},
|
||||
{'itemId': '6002472', 'vehicleId': '0', 'engName': 'Light Vehicle Terminal'
|
||||
, 'name': '轻型载具终端'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 23, 'hit': 0, 'death': 2, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 573, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 23.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '86721', 'imageSrc': '/files/ps2/images/static/86721.png'},
|
||||
{'itemId': '6002478', 'vehicleId': '0', 'engName': 'Pillbox'
|
||||
, 'name': '碉堡'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 106, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 1726, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 106.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '86712', 'imageSrc': '/files/ps2/images/static/86712.png'},
|
||||
{'itemId': '71563', 'vehicleId': '0', 'engName': 'Anti-Vehicle MANA Turret'
|
||||
, 'name': '反载具 MANA 炮台'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 25, 'hit': 0, 'death': 4, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 258, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 25.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '8011', 'imageSrc': '/files/ps2/images/static/8011.png'},
|
||||
{'itemId': '6002496', 'vehicleId': '0', 'engName': 'Light Air Terminal'
|
||||
, 'name': '轻型飞机终端'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 19, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 405, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 19.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '86718', 'imageSrc': '/files/ps2/images/static/86718.png'},
|
||||
{'itemId': '6002490', 'vehicleId': '0', 'engName': 'Vehicle Gate'
|
||||
, 'name': '载具大门'
|
||||
, 'kill': 0, 'teamKill': 0, 'killedBy': 0, 'headshot': 0, 'vehicleKill': 0, 'fire': 13, 'hit': 0, 'death': 0, 'damage': 0, 'damageTakenBy': 0, 'score': 0, 'playTime': 459, 'kdr': 0.0, 'kpm': 0.0, 'hsr': 0.0, 'kps': 13.0, 'hpk': 0.0, 'spm': 0.0, 'accuracy': 0.0, 'ivi': 0.0, 'imageId': '86738', 'imageSrc': '/files/ps2/images/static/86738.png'}]
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,555 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import asyncio
|
||||
import os
|
||||
from jieba import posseg
|
||||
import json
|
||||
import yaml
|
||||
import jieba
|
||||
import botpy
|
||||
from botpy import logging, BotAPI
|
||||
from botpy.ext.cog_yaml import read
|
||||
from botpy.message import GroupMessage, Message,C2CMessage
|
||||
from botpy.manage import C2CManageEvent
|
||||
from botpy.ext.command_util import Commands
|
||||
import time
|
||||
from datetime import datetime, timedelta
|
||||
import requests
|
||||
from Player_Query import Character_Query
|
||||
import csv
|
||||
|
||||
|
||||
test_config = read(os.path.join(os.path.dirname(__file__), "config.yaml"))
|
||||
jieba.load_userdict(os.path.join(os.path.dirname(__file__), "dict.txt"))
|
||||
_log = logging.get_logger()
|
||||
|
||||
|
||||
class MyClient(botpy.Client):
|
||||
async def on_ready(self):
|
||||
_log.info(f"robot 「{self.robot.name}」 on_ready!")
|
||||
|
||||
async def on_group_at_message_create(self, message: GroupMessage):
|
||||
text = (message.content).strip()
|
||||
|
||||
|
||||
|
||||
|
||||
if 'Error' in text or '正常' in text or '维护模式' in text or '当前模式' in text or '测试' in text:
|
||||
stripped_msg = text.strip()
|
||||
words = posseg.lcut(stripped_msg)
|
||||
for word in words:
|
||||
# 每个元素是一个 pair 对象,包含 word 和 flag 两个属性,分别表示词和词性
|
||||
if word.flag == "m":
|
||||
# ns 词性表示地名
|
||||
Verification = str(int(word.word))
|
||||
Verification = Verification.zfill(6)
|
||||
break
|
||||
Ver = await Fuck_tx().Code_Verifica(Verification)
|
||||
if Ver == True:
|
||||
|
||||
if 'Error' in text:
|
||||
|
||||
flag = await Fuck_tx().Error_Mode()
|
||||
if flag == True:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
content=f"Reply_Mode修改为1",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
else:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
content=f"Reply_Mode修改失败",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
|
||||
elif '正常' in text:
|
||||
flag = await Fuck_tx().Common_Mode()
|
||||
if flag == True:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
content=f"Reply_Mode修改为0",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
else:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
content=f"Reply_Mode修改失败",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
|
||||
elif '当前模式' in text:
|
||||
text = await Fuck_tx().Now_Cfg()
|
||||
if text['Reply_Mode'] == '0':
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
content=f"当前为普通模式,Reply_Mode为:{text['Reply_Mode']}",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
elif text['Reply_Mode'] == '1':
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
content=f"当前为Error模式,Reply_Mode为:{text['Reply_Mode']}",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
|
||||
elif '测试' in text:
|
||||
text = await Fuck_tx().Now_Cfg()
|
||||
if text['Reply_Mode'] == '0':
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
#不包含message_id为主动发文
|
||||
|
||||
content=f"当前为普通模式,Reply_Mode为:{text['Reply_Mode']}",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
elif text['Reply_Mode'] == '1':
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
content=f"当前为Error模式,Reply_Mode为:{text['Reply_Mode']}",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
|
||||
elif '维护模式' in text:
|
||||
flag = await Fuck_tx().Server_Mode()
|
||||
if flag == True:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
content=f"Reply_Mode修改为2",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
else:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
content=f"Reply_Mode修改失败",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
|
||||
else:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
content=f"你谁啊你",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
|
||||
elif '投稿' in text:
|
||||
url = message.attachments[0].url
|
||||
response = requests.get(url)
|
||||
image_dir = os.path.join(os.path.dirname(__file__))
|
||||
if response.status_code == 200:
|
||||
# 将图片数据写入本地文件
|
||||
file_base = message.content.replace("投稿", "").strip()
|
||||
if file_base != '':
|
||||
image_name = file_base + '.jpg'
|
||||
image_path = os.path.join(os.path.dirname(__file__),image_name)
|
||||
else:
|
||||
image_name = message.id[:-8] + '.jpg'
|
||||
image_path = os.path.join(os.path.dirname(__file__),image_name)
|
||||
|
||||
with open(image_path, 'wb') as file:
|
||||
file.write(response.content)
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
content=f"图片下载成功!",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
else:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
content=f"图片下载失败!",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
|
||||
|
||||
_log.info(messageResult)
|
||||
elif '角色查询' in text:
|
||||
stripped_msg = text.strip()
|
||||
words = posseg.lcut(stripped_msg)
|
||||
msg = { 'ID': '',
|
||||
'Num':20,
|
||||
'Mode':'Normal',
|
||||
"Status":'',
|
||||
"TimeLine":'',
|
||||
}
|
||||
for word in words:
|
||||
# 每个元素是一个 pair 对象,包含 word 和 flag 两个属性,分别表示词和词性
|
||||
if word.flag == "que":
|
||||
msg['Mode'] = (word.word).lower()
|
||||
break
|
||||
elif (word.word) == '死亡':
|
||||
msg['Mode'] = "death"
|
||||
elif (word.word) == '评分':
|
||||
msg['Mode'] = "ivi"
|
||||
elif (word.word) == '时间':
|
||||
msg['Mode'] = "time"
|
||||
elif (word.word) == '击杀':
|
||||
msg['Mode'] = "kill"
|
||||
|
||||
for word in words:
|
||||
if word.flag == 'm':
|
||||
msg['Num'] = int(word.word)
|
||||
break
|
||||
|
||||
for word in words:
|
||||
if word.flag == 'eng':
|
||||
msg['ID'] = word.word
|
||||
break
|
||||
|
||||
if msg['ID'] != '' :
|
||||
#start = await Character_Query().test_re(msg)
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
msg_seq= 1,
|
||||
content=str('数据检索中...'),
|
||||
)
|
||||
_log.info(messageResult)
|
||||
try:
|
||||
date = await Character_Query().Character_date(msg['ID'])
|
||||
except:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
msg_seq= 2,
|
||||
content=str('API沟通失败,请重试...'),
|
||||
)
|
||||
_log.info(messageResult)
|
||||
|
||||
|
||||
try:
|
||||
code = date['code']
|
||||
if code == 10000:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
msg_seq= 2,
|
||||
content=str('未找到该玩家数据,请检查ID是否正确'),
|
||||
)
|
||||
_log.info(messageResult)
|
||||
except:
|
||||
Player_BasicDate = date['basicInfo']
|
||||
Player_LatestSessionInfo = date['latestSessionInfo']
|
||||
|
||||
Character_Id = Player_BasicDate['characterFullName']
|
||||
if Player_BasicDate['outfitAlias'] == None:
|
||||
Character_outfitAlias = ''
|
||||
else:
|
||||
Character_outfitAlias = '[' + Player_BasicDate['outfitAlias'] + ']'
|
||||
Online_flag = Player_BasicDate['online']
|
||||
try:
|
||||
if Online_flag == True :
|
||||
logintimeline = int(Player_LatestSessionInfo['latestLoginDate'])
|
||||
logintime = datetime.fromtimestamp(logintimeline)
|
||||
formatted_time = logintime.strftime("%Y-%m-%d %H:%M")
|
||||
elif Online_flag == False :
|
||||
Logouttimeline = int(Player_LatestSessionInfo['latestLogoutDate'])/1000
|
||||
Logouttime = datetime.fromtimestamp(int(Logouttimeline))
|
||||
formatted_time = Logouttime.strftime("%Y-%m-%d %H:%M")
|
||||
except:
|
||||
formatted_time = '数据库无记录'
|
||||
|
||||
|
||||
msg['Character_ID'] = Character_outfitAlias + ' ' + Character_Id
|
||||
msg['ID'] = Character_Id
|
||||
msg['Status'] = Online_flag
|
||||
msg['TimeLine'] = formatted_time
|
||||
web_url = 'https://bot.file.sunderer.games'
|
||||
if msg['Mode'] == 'Normal':
|
||||
print(msg['Mode'])
|
||||
overname = await Character_Query().Date_OverView(msg,date)
|
||||
url = web_url + '/' + overname
|
||||
try:
|
||||
uploadMedia = await message._api.post_group_file(
|
||||
group_openid=message.group_openid,
|
||||
file_type=1, # 文件类型要对应上,具体支持的类型见方法说明
|
||||
url=url # 文件Url
|
||||
)
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=7,
|
||||
msg_id=message.id,
|
||||
msg_seq = 4,
|
||||
#content=f"收到了消息:{message.content}",
|
||||
media=uploadMedia,
|
||||
)
|
||||
_log.info(messageResult)
|
||||
except:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
msg_seq= 3909,
|
||||
content=str('QQbot接口请求错误,请重试'),
|
||||
)
|
||||
_log.info(messageResult)
|
||||
|
||||
else:
|
||||
print(msg['Mode'])
|
||||
cycle = await Character_Query().Date_list(msg,date)
|
||||
#web_url = 'http://xm1.dc.sunderer.games:3100/'
|
||||
for i in range(0,cycle):
|
||||
img_id = str(Character_Id) + "({}).jpg".format(i)
|
||||
Character_url = web_url + '/' + img_id
|
||||
try:
|
||||
uploadMedia = await message._api.post_group_file(
|
||||
group_openid=message.group_openid,
|
||||
file_type=1, # 文件类型要对应上,具体支持的类型见方法说明
|
||||
url=Character_url # 文件Url
|
||||
)
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=7,
|
||||
msg_id=message.id,
|
||||
msg_seq = 3 + (i-1),
|
||||
#content=f"收到了消息:{message.content}",
|
||||
media=uploadMedia,
|
||||
)
|
||||
_log.info(messageResult)
|
||||
except:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
msg_seq= 3 + (i-1),
|
||||
content=str('QQbot接口请求错误,请重试'),
|
||||
)
|
||||
_log.info(messageResult)
|
||||
for j in range(0,cycle):
|
||||
img_id = str(Character_Id) + "({}).jpg".format(j)
|
||||
file_path = os.path.join('/home/bot/QQbot/Charter_Sundy_Query/Output',img_id)
|
||||
os.remove(file_path)
|
||||
#User_Name = 'MMMMMMMMMM'
|
||||
|
||||
else:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
msg_seq= 2,
|
||||
content=str('请检查是否输入ID'),
|
||||
)
|
||||
_log.info(messageResult)
|
||||
|
||||
|
||||
|
||||
elif '指令帮助' in text:
|
||||
textt = "查询指令格式为:【角色ID】,【筛选模式】,【数量】\r查询指令通过逗号(,)连接\r例如:MicroYX,击杀,20\r Aokiwasuke,kdr,40\r筛选模式为:\r击杀,死亡,\r 倒地,评分,\r 时间,KDR,\r KPM,HSR\r ACC, IVI\r数量可以任意填写,但数量多会导致生成时间过慢。\r如有不理解或者数据错误,请@群管理。"
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
content=str(textt),
|
||||
)
|
||||
|
||||
elif '查询人口' in text:
|
||||
|
||||
file_url = 'https://bot.file.sunderer.games/test.png'
|
||||
uploadMedia = await message._api.post_group_file(
|
||||
group_openid=message.group_openid,
|
||||
file_type=1, # 文件类型要对应上,具体支持的类型见方法说明
|
||||
url=file_url # 文件Url
|
||||
)
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=7,
|
||||
msg_id=message.id,
|
||||
#content=f"收到了消息:{message.content}",
|
||||
media=uploadMedia,
|
||||
)
|
||||
_log.info(messageResult)
|
||||
|
||||
|
||||
elif '查询' in text:
|
||||
file_url = await Fuck_tx().Server_query(message)
|
||||
uploadMedia = await message._api.post_group_file(
|
||||
group_openid=message.group_openid,
|
||||
file_type=1, # 文件类型要对应上,具体支持的类型见方法说明
|
||||
url=file_url # 文件Url
|
||||
)
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=7,
|
||||
msg_id=message.id,
|
||||
#content=f"收到了消息:{message.content}",
|
||||
media=uploadMedia,
|
||||
)
|
||||
_log.info(messageResult)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
class Fuck_tx():
|
||||
|
||||
async def Server_query(self,message):
|
||||
|
||||
text = message.content
|
||||
web_url = 'https://bot.file.sunderer.games'
|
||||
stripped_msg = text.strip()
|
||||
words = posseg.lcut(stripped_msg)
|
||||
Server = None
|
||||
|
||||
for word in words:
|
||||
# 每个元素是一个 pair 对象,包含 word 和 flag 两个属性,分别表示词和词性
|
||||
if word.flag == "ser":
|
||||
# ns 词性表示地名
|
||||
Server = word.word
|
||||
break
|
||||
|
||||
if Server != None:
|
||||
test_config = read(os.path.join(os.path.dirname(__file__), "config.yaml"))
|
||||
if test_config['Reply_Mode'] == '0':
|
||||
if Server == "索泰克":
|
||||
web_body = '/Soltech_Sundy.jpg'
|
||||
elif Server == "米勒":
|
||||
web_body = '/沉痛悼念米勒.png'
|
||||
elif Server == "艾莫若德":
|
||||
web_body = '/沉痛悼念艾莫若德.png'
|
||||
elif Server == "康纳利":
|
||||
web_body = '/沉痛悼念康纳利.png'
|
||||
elif Server == "柯伯特":
|
||||
web_body = '/沉痛悼念柯伯特.png'
|
||||
elif Server == "奥斯普雷":
|
||||
web_body = '/Connery.jpg'
|
||||
elif Server == "温怀特":
|
||||
web_body = '/Miller.jpg'
|
||||
|
||||
file_url = web_url + web_body
|
||||
return file_url
|
||||
|
||||
|
||||
elif test_config['Reply_Mode'] == '1':
|
||||
web_body = 'error.png'
|
||||
file_url = web_url + web_body
|
||||
|
||||
return file_url
|
||||
|
||||
elif test_config['Reply_Mode'] == '2':
|
||||
web_body = 'Server.jpg'
|
||||
file_url = web_url + web_body
|
||||
|
||||
return file_url
|
||||
|
||||
async def Error_Mode(self):
|
||||
|
||||
try:
|
||||
test_config = read(os.path.join(os.path.dirname(__file__), "config.yaml"))
|
||||
test_config['Reply_Mode'] = '1'
|
||||
with open((os.path.join(os.path.dirname(__file__), "config.yaml")), "w") as file:
|
||||
yaml.dump(test_config, file)
|
||||
return True
|
||||
except:
|
||||
return False
|
||||
|
||||
async def Server_Mode(self):
|
||||
|
||||
try:
|
||||
test_config = read(os.path.join(os.path.dirname(__file__), "config.yaml"))
|
||||
test_config['Reply_Mode'] = '2'
|
||||
with open((os.path.join(os.path.dirname(__file__), "config.yaml")), "w") as file:
|
||||
yaml.dump(test_config, file)
|
||||
return True
|
||||
except:
|
||||
return False
|
||||
|
||||
async def Common_Mode(self):
|
||||
|
||||
try:
|
||||
test_config = read(os.path.join(os.path.dirname(__file__), "config.yaml"))
|
||||
test_config['Reply_Mode'] = '0'
|
||||
with open((os.path.join(os.path.dirname(__file__), "config.yaml")), "w") as file:
|
||||
yaml.dump(test_config, file)
|
||||
return True
|
||||
except:
|
||||
return False
|
||||
|
||||
async def Now_Cfg(self):
|
||||
|
||||
try:
|
||||
test_config = read(os.path.join(os.path.dirname(__file__), "config.yaml"))
|
||||
|
||||
return test_config
|
||||
except:
|
||||
return '出错了'
|
||||
|
||||
async def Code_Verifica(self,code):
|
||||
|
||||
|
||||
time_now = str(int(time.time()))
|
||||
time00 = time_now[0:4]
|
||||
time1 = str(code)[::-1]
|
||||
time_ver = time00+time1
|
||||
|
||||
if int(time_now) < int(time_ver) and (int(time_ver)-300) < int(time_now):
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
|
||||
async def Code_Gen(self):
|
||||
|
||||
time1 = str(int(time.time())+300)
|
||||
time3 = time1[::-1][:-4]
|
||||
return time3
|
||||
|
||||
async def Clean_All_Server(self):
|
||||
|
||||
url = "https://api.sunderer.games/census/restart"
|
||||
payload = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"page_no\"\r\n\r\n1\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"page_size\"\r\n\r\n15\r\n-----011000010111000001101001--\r\n\r\n"
|
||||
headers = {"content-type": "multipart/form-data; boundary=---011000010111000001101001"}
|
||||
response = requests.request("POST", url, data=payload, headers=headers)
|
||||
|
||||
return response.text
|
||||
|
||||
async def Clean_Specific_Server(self,server):
|
||||
|
||||
url = "https://api.sunderer.games/census/restart/server"
|
||||
payload = {"ServerName": ""}
|
||||
payload['ServerName'] = str(server)
|
||||
headers = {"content-type": "application/json"}
|
||||
response = requests.request("POST", url, json=payload, headers=headers)
|
||||
|
||||
return response.text
|
||||
|
||||
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
# 通过预设置的类型,设置需要监听的事件通道
|
||||
# intents = botpy.Intents.none()
|
||||
# intents.public_messages=True
|
||||
|
||||
# 通过kwargs,设置需要监听的事件通道
|
||||
intents = botpy.Intents(public_messages=True)
|
||||
client = MyClient(intents=intents)
|
||||
client.run(appid=test_config["appid"], secret=test_config["secret"])
|
||||
@@ -0,0 +1,929 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import asyncio
|
||||
import os
|
||||
from jieba import posseg
|
||||
import re
|
||||
import json
|
||||
import yaml
|
||||
import jieba
|
||||
import botpy
|
||||
from botpy import logging, BotAPI
|
||||
from botpy.ext.cog_yaml import read
|
||||
from botpy.message import GroupMessage, Message,C2CMessage
|
||||
from botpy.manage import C2CManageEvent
|
||||
from botpy.ext.command_util import Commands
|
||||
import time
|
||||
from datetime import datetime, timedelta
|
||||
import requests
|
||||
from Player_Query import Character_Query
|
||||
import csv
|
||||
from Vechile import Vechile_Character_Query
|
||||
from Specific_vehicle import Specific_query,sorting
|
||||
from pathlib import Path
|
||||
|
||||
test_config = read(os.path.join(os.path.dirname(__file__), "config.yaml"))
|
||||
jieba.load_userdict(os.path.join(os.path.dirname(__file__), "dict.txt"))
|
||||
_log = logging.get_logger()
|
||||
|
||||
|
||||
class MyClient(botpy.Client):
|
||||
async def on_ready(self):
|
||||
_log.info(f"robot 「{self.robot.name}」 on_ready!")
|
||||
|
||||
async def on_group_at_message_create(self, message: GroupMessage):
|
||||
text = (message.content).strip()
|
||||
|
||||
|
||||
|
||||
|
||||
if 'Error' in text or '正常' in text or '维护模式' in text or '当前模式' in text or '测试' in text:
|
||||
stripped_msg = text.strip()
|
||||
words = posseg.lcut(stripped_msg)
|
||||
for word in words:
|
||||
# 每个元素是一个 pair 对象,包含 word 和 flag 两个属性,分别表示词和词性
|
||||
if word.flag == "m":
|
||||
# ns 词性表示地名
|
||||
Verification = str(int(word.word))
|
||||
Verification = Verification.zfill(6)
|
||||
break
|
||||
Ver = await Fuck_tx().Code_Verifica(Verification)
|
||||
if Ver == True:
|
||||
|
||||
if 'Error' in text:
|
||||
|
||||
flag = await Fuck_tx().Error_Mode()
|
||||
if flag == True:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
content=f"Reply_Mode修改为1",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
else:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
content=f"Reply_Mode修改失败",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
|
||||
elif '正常' in text:
|
||||
flag = await Fuck_tx().Common_Mode()
|
||||
if flag == True:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
content=f"Reply_Mode修改为0",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
else:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
content=f"Reply_Mode修改失败",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
|
||||
elif '当前模式' in text:
|
||||
text = await Fuck_tx().Now_Cfg()
|
||||
if text['Reply_Mode'] == '0':
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
content=f"当前为普通模式,Reply_Mode为:{text['Reply_Mode']}",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
elif text['Reply_Mode'] == '1':
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
content=f"当前为Error模式,Reply_Mode为:{text['Reply_Mode']}",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
|
||||
elif '测试' in text:
|
||||
text = await Fuck_tx().Now_Cfg()
|
||||
if text['Reply_Mode'] == '0':
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
#不包含message_id为主动发文
|
||||
|
||||
content=f"当前为普通模式,Reply_Mode为:{text['Reply_Mode']}",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
elif text['Reply_Mode'] == '1':
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
content=f"当前为Error模式,Reply_Mode为:{text['Reply_Mode']}",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
|
||||
elif '维护模式' in text:
|
||||
flag = await Fuck_tx().Server_Mode()
|
||||
if flag == True:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
content=f"Reply_Mode修改为2",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
else:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
content=f"Reply_Mode修改失败",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
|
||||
else:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
content=f"你谁啊你",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
|
||||
elif '投稿' in text:
|
||||
url = message.attachments[0].url
|
||||
response = requests.get(url)
|
||||
image_dir = os.path.join(os.path.dirname(__file__))
|
||||
if response.status_code == 200:
|
||||
# 将图片数据写入本地文件
|
||||
file_base = message.content.replace("投稿", "").strip()
|
||||
if file_base != '':
|
||||
image_name = file_base + '.jpg'
|
||||
image_path = os.path.join(os.path.dirname(__file__),image_name)
|
||||
else:
|
||||
image_name = message.id[:-8] + '.jpg'
|
||||
image_path = os.path.join(os.path.dirname(__file__),image_name)
|
||||
|
||||
with open(image_path, 'wb') as file:
|
||||
file.write(response.content)
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
content=f"图片下载成功!",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
else:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
content=f"图片下载失败!",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
|
||||
|
||||
_log.info(messageResult)
|
||||
elif '角色查询' in text:
|
||||
stripped_msg = text.strip()
|
||||
stripped_msg = stripped_msg.replace(",", ",")
|
||||
cleaned_text = re.sub(r'[,\s]+', ' ', stripped_msg)
|
||||
|
||||
|
||||
user_text = cleaned_text.split()
|
||||
|
||||
|
||||
_log.info(user_text)
|
||||
|
||||
|
||||
words = posseg.lcut(stripped_msg)
|
||||
msg = { 'ID': '',
|
||||
'Num':20,
|
||||
'Mode':'Normal',
|
||||
"Status":'',
|
||||
"TimeLine":'',
|
||||
}
|
||||
|
||||
msg['ID'] = user_text[1]
|
||||
|
||||
for word in words:
|
||||
# 每个元素是一个 pair 对象,包含 word 和 flag 两个属性,分别表示词和词性
|
||||
if word.flag == "que":
|
||||
msg['Mode'] = (word.word).lower()
|
||||
break
|
||||
elif (word.word) == '死亡':
|
||||
msg['Mode'] = "death"
|
||||
elif (word.word) == '评分':
|
||||
msg['Mode'] = "ivi"
|
||||
elif (word.word) == '时间':
|
||||
msg['Mode'] = "time"
|
||||
elif (word.word) == '击杀':
|
||||
msg['Mode'] = "kill"
|
||||
|
||||
#查询数量记录
|
||||
try:
|
||||
msg['num'] = user_text[3]
|
||||
except:
|
||||
msg['num'] = 20
|
||||
|
||||
|
||||
if msg['ID'] != '' :
|
||||
#start = await Character_Query().test_re(msg)
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
msg_seq= 1,
|
||||
content=str('数据检索中...'),
|
||||
)
|
||||
_log.info(messageResult)
|
||||
try:
|
||||
date = await Character_Query().Character_date(msg['ID'])
|
||||
except:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
msg_seq= 2,
|
||||
content=str('API沟通失败,请重试...'),
|
||||
)
|
||||
_log.info(messageResult)
|
||||
|
||||
|
||||
try:
|
||||
code = date['code']
|
||||
if code == 10000:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
msg_seq= 2,
|
||||
content=str('未找到该玩家数据,请检查ID是否正确'),
|
||||
)
|
||||
_log.info(messageResult)
|
||||
except:
|
||||
Player_BasicDate = date['basicInfo']
|
||||
Player_LatestSessionInfo = date['latestSessionInfo']
|
||||
|
||||
Character_Id = Player_BasicDate['characterFullName']
|
||||
if Player_BasicDate['outfitAlias'] == None:
|
||||
Character_outfitAlias = ''
|
||||
else:
|
||||
Character_outfitAlias = '[' + Player_BasicDate['outfitAlias'] + ']'
|
||||
Online_flag = Player_BasicDate['online']
|
||||
try:
|
||||
if Online_flag == True :
|
||||
logintimeline = int(Player_LatestSessionInfo['latestLoginDate'])
|
||||
logintime = datetime.fromtimestamp(logintimeline)
|
||||
formatted_time = logintime.strftime("%Y-%m-%d %H:%M")
|
||||
elif Online_flag == False :
|
||||
Logouttimeline = int(Player_LatestSessionInfo['latestLogoutDate'])/1000
|
||||
Logouttime = datetime.fromtimestamp(int(Logouttimeline))
|
||||
formatted_time = Logouttime.strftime("%Y-%m-%d %H:%M")
|
||||
except:
|
||||
formatted_time = '数据库无记录'
|
||||
|
||||
|
||||
msg['Character_ID'] = Character_outfitAlias + ' ' + Character_Id
|
||||
msg['ID'] = Character_Id
|
||||
msg['Status'] = Online_flag
|
||||
msg['TimeLine'] = formatted_time
|
||||
web_url = 'https://bot.file.sunderer.games'
|
||||
if msg['Mode'] == 'Normal':
|
||||
print(msg['Mode'])
|
||||
overname = await Character_Query().Date_OverView(msg,date)
|
||||
url = web_url + '/' + overname
|
||||
try:
|
||||
uploadMedia = await message._api.post_group_file(
|
||||
group_openid=message.group_openid,
|
||||
file_type=1, # 文件类型要对应上,具体支持的类型见方法说明
|
||||
url=url # 文件Url
|
||||
)
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=7,
|
||||
msg_id=message.id,
|
||||
msg_seq = 4,
|
||||
#content=f"收到了消息:{message.content}",
|
||||
media=uploadMedia,
|
||||
)
|
||||
_log.info(messageResult)
|
||||
except:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
msg_seq= 3909,
|
||||
content=str('QQbot接口请求错误,请重试'),
|
||||
)
|
||||
_log.info(messageResult)
|
||||
|
||||
else:
|
||||
print(msg['Mode'])
|
||||
cycle = await Character_Query().Date_list(msg,date)
|
||||
#web_url = 'http://xm1.dc.sunderer.games:3100/'
|
||||
for i in range(0,cycle):
|
||||
img_id = str(Character_Id) + "({}).jpg".format(i)
|
||||
Character_url = web_url + '/' + img_id
|
||||
try:
|
||||
uploadMedia = await message._api.post_group_file(
|
||||
group_openid=message.group_openid,
|
||||
file_type=1, # 文件类型要对应上,具体支持的类型见方法说明
|
||||
url=Character_url # 文件Url
|
||||
)
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=7,
|
||||
msg_id=message.id,
|
||||
msg_seq = 3 + (i-1),
|
||||
#content=f"收到了消息:{message.content}",
|
||||
media=uploadMedia,
|
||||
)
|
||||
_log.info(messageResult)
|
||||
except:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
msg_seq= 3 + (i-1),
|
||||
content=str('QQbot接口请求错误,请重试'),
|
||||
)
|
||||
_log.info(messageResult)
|
||||
for j in range(0,cycle):
|
||||
img_id = str(Character_Id) + "({}).jpg".format(j)
|
||||
file_path = os.path.join('/home/bot/QQbot/Charter_Sundy_Query/Output',img_id)
|
||||
os.remove(file_path)
|
||||
#User_Name = 'MMMMMMMMMM'
|
||||
|
||||
else:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
msg_seq= 2,
|
||||
content=str('请检查是否输入ID'),
|
||||
)
|
||||
_log.info(messageResult)
|
||||
|
||||
|
||||
|
||||
elif '指令帮助' in text:
|
||||
|
||||
textt = "查询指令格式为:【角色ID】,【筛选模式】,【数量】\r查询指令通过逗号(,)连接\r例如:MicroYX,击杀,20\r Aokiwasuke,kdr,40\r筛选模式为:\r击杀,死亡,\r 倒地,评分,\r 时间,KDR,\r KPM,HSR\r ACC, IVI\r数量可以任意填写,但数量多会导致生成时间过慢。\r如有不理解或者数据错误,请@群管理。"
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
content=str(textt),
|
||||
)
|
||||
|
||||
|
||||
elif '在线验证' in text:
|
||||
|
||||
|
||||
stripped_msg = text.strip()
|
||||
words = posseg.lcut(stripped_msg)
|
||||
|
||||
msg = { 'ID': '',
|
||||
'Num':20,
|
||||
'Mode':'Normal',
|
||||
"Status":'',
|
||||
"TimeLine":'',
|
||||
}
|
||||
|
||||
for word in words:
|
||||
if word.flag == 'eng':
|
||||
msg['ID'] = word.word
|
||||
break
|
||||
|
||||
|
||||
flag = await Fuck_tx().Online_Query(msg['ID'])
|
||||
print(flag)
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
content=str(flag),
|
||||
)
|
||||
_log.info(messageResult)
|
||||
|
||||
|
||||
elif '查询人口' in text:
|
||||
|
||||
file_url = 'https://bot.file.sunderer.games/error.png'#'test.png error.png'#
|
||||
uploadMedia = await message._api.post_group_file(
|
||||
group_openid=message.group_openid,
|
||||
file_type=1, # 文件类型要对应上,具体支持的类型见方法说明
|
||||
url=file_url # 文件Url
|
||||
)
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=7,
|
||||
msg_id=message.id,
|
||||
#content=f"收到了消息:{message.content}",
|
||||
media=uploadMedia,
|
||||
)
|
||||
_log.info(messageResult)
|
||||
|
||||
|
||||
|
||||
|
||||
elif '载具总览' in text:
|
||||
stripped_msg = text.strip()
|
||||
stripped_msg = stripped_msg.replace(",", ",")
|
||||
cleaned_text = re.sub(r'[,\s]+', ' ', stripped_msg)
|
||||
|
||||
|
||||
user_text = cleaned_text.split()
|
||||
|
||||
|
||||
_log.info(user_text)
|
||||
|
||||
|
||||
words = posseg.lcut(stripped_msg)
|
||||
msg = { 'ID': '',
|
||||
'Num':20,
|
||||
'Mode':'Normal',
|
||||
"Status":'',
|
||||
"TimeLine":'',
|
||||
}
|
||||
msg['ID'] = user_text[1]
|
||||
|
||||
for word in words:
|
||||
# 每个元素是一个 pair 对象,包含 word 和 flag 两个属性,分别表示词和词性
|
||||
if word.flag == "que":
|
||||
msg['Mode'] = (word.word).lower()
|
||||
break
|
||||
elif (word.word) == '死亡':
|
||||
msg['Mode'] = "death"
|
||||
elif (word.word) == '评分':
|
||||
msg['Mode'] = "ivi"
|
||||
elif (word.word) == '时间':
|
||||
msg['Mode'] = "time"
|
||||
elif (word.word) == '击杀':
|
||||
msg['Mode'] = "kill"
|
||||
|
||||
|
||||
|
||||
if msg['ID'] != '' :
|
||||
#start = await Character_Query().test_re(msg)
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
msg_seq= 1,
|
||||
content=str('数据检索中...'),
|
||||
)
|
||||
_log.info(messageResult)
|
||||
try:
|
||||
date = await Character_Query().Character_date(msg['ID'])
|
||||
except:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
msg_seq= 2,
|
||||
content=str('API沟通失败,请重试...'),
|
||||
)
|
||||
_log.info(messageResult)
|
||||
|
||||
|
||||
try:
|
||||
code = date['code']
|
||||
if code == 10000:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
msg_seq= 2,
|
||||
content=str('未找到该玩家数据,请检查ID是否正确'),
|
||||
)
|
||||
_log.info(messageResult)
|
||||
except:
|
||||
web_body = await Vechile_Character_Query().Date_Rinse_common(date)
|
||||
web_url = 'https://bot.file.sunderer.games/'
|
||||
file_url = web_url + web_body
|
||||
uploadMedia = await message._api.post_group_file(
|
||||
group_openid=message.group_openid,
|
||||
file_type=1, # 文件类型要对应上,具体支持的类型见方法说明
|
||||
url=file_url # 文件Url
|
||||
)
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=7,
|
||||
msg_seq= 3,
|
||||
msg_id=message.id,
|
||||
#content=f"收到了消息:{message.content}",
|
||||
media=uploadMedia,
|
||||
)
|
||||
_log.info(messageResult)
|
||||
file_path = os.path.join('/home/bot/QQbot/Charter_Sundy_Query/Output',web_body)
|
||||
os.remove(file_path)
|
||||
|
||||
elif '载具查询' in text:
|
||||
|
||||
stripped_msg = text.strip()
|
||||
stripped_msg = stripped_msg.replace(",", ",")
|
||||
cleaned_text = re.sub(r'[,\s]+', ' ', stripped_msg)
|
||||
|
||||
|
||||
user_text = cleaned_text.split()
|
||||
|
||||
|
||||
_log.info(user_text)
|
||||
|
||||
words = posseg.lcut(stripped_msg)
|
||||
msg = { 'ID': '',
|
||||
'Num':20,
|
||||
'Mode':'kill',
|
||||
"Status":'',
|
||||
"TimeLine":'',
|
||||
'Select':'',
|
||||
'user_give_faction':''
|
||||
}
|
||||
|
||||
msg['ID'] = user_text[1]
|
||||
|
||||
for word in words:
|
||||
if word.flag == "vea":
|
||||
msg['Select'] = word.word
|
||||
|
||||
if word.word == '蚊子':
|
||||
msg["Select"] = 'Mosquito'
|
||||
elif word.word == '镰刀':
|
||||
msg["Select"] = 'Scythe'
|
||||
elif word.word == '海盗':
|
||||
msg["Select"] = 'Reaver'
|
||||
elif word.word == '电磁':
|
||||
msg["Select"] = 'Magrider'
|
||||
elif word.word == '徘徊':
|
||||
msg["Select"] = 'Prowler'
|
||||
elif word.word == '决裂':
|
||||
msg["Select"] = 'Sunderer'
|
||||
elif word.word == '先驱':
|
||||
msg["Select"] = 'Vanguard'
|
||||
elif word.word == '奇美拉':
|
||||
msg["Select"] = 'Chimera'
|
||||
elif word.word == '突袭':
|
||||
msg["Select"] = 'Harasser'
|
||||
elif word.word == '银河':
|
||||
msg["Select"] = 'Galaxy'
|
||||
elif word.word == '女武神':
|
||||
msg["Select"] = 'Valkyrie'
|
||||
elif word.word == '解放':
|
||||
msg["Select"] = 'Liberator'
|
||||
elif word.word == '北极星':
|
||||
msg["Select"] = 'Lodestar Prototype'
|
||||
elif word.word == '火花':
|
||||
msg["Select"] = 'Flash'
|
||||
elif word.word == '闪电':
|
||||
msg["Select"] = 'Lightning'
|
||||
elif word.word == '巨像':
|
||||
msg["Select"] = 'Colossus'
|
||||
elif word.word == '私掠者':
|
||||
msg["Select"] = 'Corsair'
|
||||
elif word.word == '标枪':
|
||||
msg["Select"] = 'Javelin'
|
||||
elif word.word == '苦行僧':
|
||||
msg["Select"] = 'Dervish'
|
||||
|
||||
if msg['Select'] == 'Mosquito' or msg['Select'] =='Prowler' :
|
||||
msg['user_give_faction'] = "3"
|
||||
elif msg['Select'] == 'Scythe' or msg['Select'] == 'Magrider' :
|
||||
msg['user_give_faction'] = "1"
|
||||
elif msg['Select'] == 'Reaver' or msg['Select'] == 'Vanguard' :
|
||||
msg['user_give_faction'] = "2"
|
||||
elif msg['Select'] == 'Dervish' or msg['Select'] == 'Chimera' :
|
||||
msg['user_give_faction'] = "4"
|
||||
|
||||
_log.info(msg)
|
||||
|
||||
|
||||
for word in words:
|
||||
# 每个元素是一个 pair 对象,包含 word 和 flag 两个属性,分别表示词和词性
|
||||
if word.flag == "que":
|
||||
msg['Mode'] = (word.word).lower()
|
||||
break
|
||||
elif word.flag == 'qua':
|
||||
msg['Mode'] = (word.word)
|
||||
|
||||
if msg['Mode']== '击杀':#
|
||||
msg['Mode'] = "kill"
|
||||
elif msg['Mode']== '开火次数':#
|
||||
msg['Mode'] = "fire"
|
||||
elif msg['Mode']== '命中次数':#
|
||||
msg['Mode'] = "hit"
|
||||
elif msg['Mode']== '命中率':#
|
||||
msg['Mode'] = "acc"
|
||||
elif msg['Mode']== '击杀平均开火数':#
|
||||
msg['Mode'] = "spk"
|
||||
elif msg['Mode']== '击杀平均命中数':#
|
||||
msg['Mode'] = "hpk"
|
||||
elif msg['Mode']== '伤害量':#
|
||||
msg['Mode'] = "dmg"
|
||||
elif msg['Mode']== '分钟平均得分数':#
|
||||
msg['Mode'] = "spm"
|
||||
elif msg['Mode']== '累计使用时间':#
|
||||
msg['Mode'] = "time"
|
||||
|
||||
|
||||
if msg['ID'] != '' :
|
||||
#start = await Character_Query().test_re(msg)
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
msg_seq= 1,
|
||||
content=str('数据检索中...'),
|
||||
)
|
||||
_log.info(messageResult)
|
||||
|
||||
try:
|
||||
date = await Character_Query().Character_date(msg['ID'])
|
||||
|
||||
except:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
msg_seq= 2,
|
||||
content=str('API沟通失败,请重试...'),
|
||||
)
|
||||
_log.info(messageResult)
|
||||
|
||||
|
||||
|
||||
|
||||
try:
|
||||
code = date['code']
|
||||
if code == 10000:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
msg_seq= 2,
|
||||
content=str('未找到该玩家数据,请检查ID是否正确'),
|
||||
)
|
||||
_log.info(messageResult)
|
||||
except:
|
||||
|
||||
Vechile_BasicDate_ori = date["battleData"]['vehicleData']
|
||||
airvichile = ['Mosquito','Scythe','Reaver','Dervish']
|
||||
landvichile = ['Chimera','Vanguard','Magrider','Prowler']
|
||||
|
||||
|
||||
if msg['user_give_faction'] != None:
|
||||
|
||||
Chart_faction = str(date["basicInfo"]["factionId"])
|
||||
_log.info(Chart_faction)
|
||||
|
||||
if Chart_faction == msg['user_give_faction']:
|
||||
_log.info('阵营与查询目标吻合')
|
||||
|
||||
|
||||
else:
|
||||
_log.info('阵营与查询目标不吻合')
|
||||
|
||||
if Chart_faction == '1':
|
||||
|
||||
if msg['Select'] in airvichile:
|
||||
msg['Select'] = 'Scythe'
|
||||
|
||||
elif msg['Select'] in landvichile:
|
||||
msg['Select'] = 'Magrider'
|
||||
elif Chart_faction == '2':
|
||||
|
||||
if msg['Select'] in airvichile:
|
||||
msg['Select'] = 'Reaver'
|
||||
|
||||
elif msg['Select'] in landvichile:
|
||||
msg['Select'] = 'Vanguard'
|
||||
elif Chart_faction == '3':
|
||||
|
||||
if msg['Select'] in airvichile:
|
||||
msg['Select'] = 'Mosquito'
|
||||
|
||||
elif msg['Select'] in landvichile:
|
||||
msg['Select'] = 'Prowler'
|
||||
elif Chart_faction == '4':
|
||||
|
||||
if msg['Select'] in airvichile:
|
||||
msg['Select'] = 'Dervish'
|
||||
|
||||
elif msg['Select'] in landvichile:
|
||||
msg['Select'] = 'Chimera'
|
||||
else:
|
||||
_log.info('line 693 error')
|
||||
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
msg_seq= 2,
|
||||
content=str('看起来这个角色并没有敌方阵营的载具,让我帮你换一下。'),
|
||||
)
|
||||
_log.info(messageResult)
|
||||
|
||||
|
||||
_log.info(msg)
|
||||
Vechile_BasicDate = await Specific_query().select_vehicle(Vechile_BasicDate_ori, Select=msg["Select"])
|
||||
#_log.info(Vechile_BasicDate)
|
||||
|
||||
Vechile_weapon_data = Vechile_BasicDate[0]['weaponStat']
|
||||
sorting_data = await sorting().Data_sorting(Vechile_weapon_data, msg['Mode'])
|
||||
list_num = len(Vechile_weapon_data)+1
|
||||
web_body = await Specific_query().vechile_img(date, Vechile_BasicDate, sorting_data, list_num, msg['Mode'])
|
||||
|
||||
web_url = 'https://bot.file.sunderer.games/'
|
||||
file_url = web_url + web_body
|
||||
uploadMedia = await message._api.post_group_file(
|
||||
group_openid=message.group_openid,
|
||||
file_type=1, # 文件类型要对应上,具体支持的类型见方法说明
|
||||
url=file_url # 文件Url
|
||||
)
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=7,
|
||||
msg_seq= 3,
|
||||
msg_id=message.id,
|
||||
#content=f"收到了消息:{message.content}",
|
||||
media=uploadMedia,
|
||||
)
|
||||
_log.info(messageResult)
|
||||
file_path = os.path.join('/home/bot/QQbot/Charter_Sundy_Query/Output',web_body)
|
||||
os.remove(file_path)
|
||||
|
||||
elif '查询' in text:
|
||||
file_url = await Fuck_tx().Server_query(message)
|
||||
uploadMedia = await message._api.post_group_file(
|
||||
group_openid=message.group_openid,
|
||||
file_type=1, # 文件类型要对应上,具体支持的类型见方法说明
|
||||
url=file_url # 文件Url
|
||||
)
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=7,
|
||||
msg_id=message.id,
|
||||
#content=f"收到了消息:{message.content}",
|
||||
media=uploadMedia,
|
||||
)
|
||||
_log.info(messageResult)
|
||||
|
||||
|
||||
|
||||
|
||||
class Fuck_tx():
|
||||
|
||||
async def Server_query(self,message):
|
||||
|
||||
text = message.content
|
||||
web_url = 'https://bot.file.sunderer.games/'
|
||||
stripped_msg = text.strip()
|
||||
words = posseg.lcut(stripped_msg)
|
||||
Server = None
|
||||
|
||||
for word in words:
|
||||
# 每个元素是一个 pair 对象,包含 word 和 flag 两个属性,分别表示词和词性
|
||||
if word.flag == "ser":
|
||||
# ns 词性表示地名
|
||||
Server = word.word
|
||||
break
|
||||
|
||||
if Server != None:
|
||||
test_config = read(os.path.join(os.path.dirname(__file__), "config.yaml"))
|
||||
if test_config['Reply_Mode'] == '0':
|
||||
if Server == "索泰克":
|
||||
web_body = 'error.png'#'/Soltech_Sundy.jpg'#'error.png'#
|
||||
elif Server == "温怀特":
|
||||
web_body = 'error.png'#'/Wainwright_Sundy.jpg'#'error.png'#
|
||||
elif Server == "奥斯普雷":
|
||||
web_body = 'error.png'#'/Osprey_Sundy.jpg'#'error.png'#
|
||||
|
||||
|
||||
file_url = web_url + web_body
|
||||
return file_url
|
||||
|
||||
|
||||
elif test_config['Reply_Mode'] == '1':
|
||||
web_body = 'error.png'
|
||||
file_url = web_url + web_body
|
||||
|
||||
return file_url
|
||||
|
||||
elif test_config['Reply_Mode'] == '2':
|
||||
web_body = 'Server.jpg'
|
||||
file_url = web_url + web_body
|
||||
|
||||
return file_url
|
||||
|
||||
async def Error_Mode(self):
|
||||
|
||||
try:
|
||||
test_config = read(os.path.join(os.path.dirname(__file__), "config.yaml"))
|
||||
test_config['Reply_Mode'] = '1'
|
||||
with open((os.path.join(os.path.dirname(__file__), "config.yaml")), "w") as file:
|
||||
yaml.dump(test_config, file)
|
||||
return True
|
||||
except:
|
||||
return False
|
||||
|
||||
async def Server_Mode(self):
|
||||
|
||||
try:
|
||||
test_config = read(os.path.join(os.path.dirname(__file__), "config.yaml"))
|
||||
test_config['Reply_Mode'] = '2'
|
||||
with open((os.path.join(os.path.dirname(__file__), "config.yaml")), "w") as file:
|
||||
yaml.dump(test_config, file)
|
||||
return True
|
||||
except:
|
||||
return False
|
||||
|
||||
async def Common_Mode(self):
|
||||
|
||||
try:
|
||||
test_config = read(os.path.join(os.path.dirname(__file__), "config.yaml"))
|
||||
test_config['Reply_Mode'] = '0'
|
||||
with open((os.path.join(os.path.dirname(__file__), "config.yaml")), "w") as file:
|
||||
yaml.dump(test_config, file)
|
||||
return True
|
||||
except:
|
||||
return False
|
||||
|
||||
async def Now_Cfg(self):
|
||||
|
||||
try:
|
||||
test_config = read(os.path.join(os.path.dirname(__file__), "config.yaml"))
|
||||
|
||||
return test_config
|
||||
except:
|
||||
return '出错了'
|
||||
|
||||
async def Code_Verifica(self,code):
|
||||
|
||||
|
||||
time_now = str(int(time.time()))
|
||||
time00 = time_now[0:4]
|
||||
time1 = str(code)[::-1]
|
||||
time_ver = time00+time1
|
||||
|
||||
if int(time_now) < int(time_ver) and (int(time_ver)-300) < int(time_now):
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
|
||||
async def Code_Gen(self):
|
||||
|
||||
time1 = str(int(time.time())+300)
|
||||
time3 = time1[::-1][:-4]
|
||||
return time3
|
||||
|
||||
async def Clean_All_Server(self):
|
||||
|
||||
url = "https://api.sunderer.games/census/restart"
|
||||
payload = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"page_no\"\r\n\r\n1\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"page_size\"\r\n\r\n15\r\n-----011000010111000001101001--\r\n\r\n"
|
||||
headers = {"content-type": "multipart/form-data; boundary=---011000010111000001101001"}
|
||||
response = requests.request("POST", url, data=payload, headers=headers)
|
||||
|
||||
return response.text
|
||||
|
||||
async def Clean_Specific_Server(self,server):
|
||||
|
||||
url = "https://api.sunderer.games/census/restart/server"
|
||||
payload = {"ServerName": ""}
|
||||
payload['ServerName'] = str(server)
|
||||
headers = {"content-type": "application/json"}
|
||||
response = requests.request("POST", url, json=payload, headers=headers)
|
||||
|
||||
return response.text
|
||||
|
||||
async def Online_Query(self,id):
|
||||
|
||||
url = "https://api.sunderer.games/census/character/search"
|
||||
querystring = {"name": ""}
|
||||
querystring["name"] = id
|
||||
response = requests.request("GET", url, params=querystring)
|
||||
response = response.json()
|
||||
|
||||
online_flag = response['basicInfo']['online']
|
||||
|
||||
return online_flag
|
||||
|
||||
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
# 通过预设置的类型,设置需要监听的事件通道
|
||||
# intents = botpy.Intents.none()
|
||||
# intents.public_messages=True
|
||||
|
||||
# 通过kwargs,设置需要监听的事件通道
|
||||
intents = botpy.Intents(public_messages=True)
|
||||
client = MyClient(intents=intents)
|
||||
client.run(appid=test_config["appid"], secret=test_config["secret"])
|
||||
@@ -0,0 +1,331 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import asyncio
|
||||
import os
|
||||
from jieba import posseg
|
||||
import yaml
|
||||
import jieba
|
||||
import botpy
|
||||
from botpy import logging, BotAPI
|
||||
from botpy.ext.cog_yaml import read
|
||||
from botpy.message import GroupMessage, Message,C2CMessage
|
||||
from botpy.manage import C2CManageEvent
|
||||
from botpy.ext.command_util import Commands
|
||||
import time
|
||||
import requests
|
||||
|
||||
|
||||
test_config = read(os.path.join(os.path.dirname(__file__), "config.yaml"))
|
||||
jieba.load_userdict(os.path.join(os.path.dirname(__file__), "dict.txt"))
|
||||
_log = logging.get_logger()
|
||||
|
||||
|
||||
class MyClient(botpy.Client):
|
||||
async def on_ready(self):
|
||||
_log.info(f"robot 「{self.robot.name}」 on_ready!")
|
||||
|
||||
async def on_group_at_message_create(self, message: GroupMessage):
|
||||
text = (message.content).strip()
|
||||
|
||||
|
||||
|
||||
|
||||
if 'Error' in text or '正常' in text or '维护模式' in text or '当前模式' in text or '测试' in text:
|
||||
stripped_msg = text.strip()
|
||||
words = posseg.lcut(stripped_msg)
|
||||
for word in words:
|
||||
# 每个元素是一个 pair 对象,包含 word 和 flag 两个属性,分别表示词和词性
|
||||
if word.flag == "m":
|
||||
# ns 词性表示地名
|
||||
Verification = str(int(word.word))
|
||||
Verification = Verification.zfill(6)
|
||||
break
|
||||
Ver = await Fuck_tx().Code_Verifica(Verification)
|
||||
if Ver == True:
|
||||
|
||||
if 'Error' in text:
|
||||
|
||||
flag = await Fuck_tx().Error_Mode()
|
||||
if flag == True:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
content=f"Reply_Mode修改为1",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
else:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
content=f"Reply_Mode修改失败",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
|
||||
elif '正常' in text:
|
||||
flag = await Fuck_tx().Common_Mode()
|
||||
if flag == True:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
content=f"Reply_Mode修改为0",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
else:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
content=f"Reply_Mode修改失败",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
|
||||
elif '当前模式' in text:
|
||||
text = await Fuck_tx().Now_Cfg()
|
||||
if text['Reply_Mode'] == '0':
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
content=f"当前为普通模式,Reply_Mode为:{text['Reply_Mode']}",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
elif text['Reply_Mode'] == '1':
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
content=f"当前为Error模式,Reply_Mode为:{text['Reply_Mode']}",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
|
||||
elif '测试' in text:
|
||||
text = await Fuck_tx().Now_Cfg()
|
||||
if text['Reply_Mode'] == '0':
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
#不包含message_id为主动发文
|
||||
|
||||
content=f"当前为普通模式,Reply_Mode为:{text['Reply_Mode']}",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
elif text['Reply_Mode'] == '1':
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
content=f"当前为Error模式,Reply_Mode为:{text['Reply_Mode']}",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
|
||||
elif '维护模式' in text:
|
||||
flag = await Fuck_tx().Server_Mode()
|
||||
if flag == True:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
content=f"Reply_Mode修改为2",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
else:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
content=f"Reply_Mode修改失败",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
|
||||
else:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,
|
||||
content=f"你谁啊你",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
|
||||
elif '你瞅啥' in text:
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=0,
|
||||
msg_id=message.id,#'ROBOT1.0_iqHc6IePSUh91RXfdrmBvNQE6XX6zpF9LAGEqhTRX5JcmtPXIy7o3e6hAHskAxaMNjMB4nSmAPGOUqoyZisnpw!!',
|
||||
content=f"瞅你咋地",
|
||||
)
|
||||
_log.info(messageResult)
|
||||
elif '人口查询' in text:
|
||||
file_url = 'http://ly1.dc.sunderer.games:3000/test.png'
|
||||
uploadMedia = await message._api.post_group_file(
|
||||
group_openid=message.group_openid,
|
||||
file_type=1, # 文件类型要对应上,具体支持的类型见方法说明
|
||||
url=file_url # 文件Url
|
||||
)
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=7,
|
||||
msg_id=message.id,
|
||||
#content=f"收到了消息:{message.content}",
|
||||
media=uploadMedia,
|
||||
)
|
||||
_log.info(messageResult)
|
||||
elif '查询' in text:
|
||||
file_url = await Fuck_tx().Server_query(message)
|
||||
uploadMedia = await message._api.post_group_file(
|
||||
group_openid=message.group_openid,
|
||||
file_type=1, # 文件类型要对应上,具体支持的类型见方法说明
|
||||
url=file_url # 文件Url
|
||||
)
|
||||
messageResult = await message._api.post_group_message(
|
||||
group_openid=message.group_openid,
|
||||
msg_type=7,
|
||||
msg_id=message.id,
|
||||
#content=f"收到了消息:{message.content}",
|
||||
media=uploadMedia,
|
||||
)
|
||||
_log.info(messageResult)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
class Fuck_tx():
|
||||
|
||||
async def Server_query(self,message):
|
||||
|
||||
text = message.content
|
||||
web_url = 'http://ly1.dc.sunderer.games:3000/'
|
||||
stripped_msg = text.strip()
|
||||
words = posseg.lcut(stripped_msg)
|
||||
Server = None
|
||||
|
||||
for word in words:
|
||||
# 每个元素是一个 pair 对象,包含 word 和 flag 两个属性,分别表示词和词性
|
||||
if word.flag == "ser":
|
||||
# ns 词性表示地名
|
||||
Server = word.word
|
||||
break
|
||||
|
||||
if Server != None:
|
||||
test_config = read(os.path.join(os.path.dirname(__file__), "config.yaml"))
|
||||
if test_config['Reply_Mode'] == '0':
|
||||
if Server == "索泰克":
|
||||
web_body = '/Soltech.jpg'
|
||||
elif Server == "米勒":
|
||||
web_body = '/Miller.jpg'
|
||||
elif Server == "艾莫若德":
|
||||
web_body = '/Emerald.jpg'
|
||||
elif Server == "康纳利":
|
||||
web_body = '/Connery.jpg'
|
||||
elif Server == "柯伯特":
|
||||
web_body = '/Cobalt.jpg'
|
||||
|
||||
file_url = web_url + web_body
|
||||
return file_url
|
||||
|
||||
|
||||
elif test_config['Reply_Mode'] == '1':
|
||||
web_body = 'error.png'
|
||||
file_url = web_url + web_body
|
||||
|
||||
return file_url
|
||||
|
||||
elif test_config['Reply_Mode'] == '2':
|
||||
web_body = 'Server.jpg'
|
||||
file_url = web_url + web_body
|
||||
|
||||
return file_url
|
||||
|
||||
async def Error_Mode(self):
|
||||
|
||||
try:
|
||||
test_config = read(os.path.join(os.path.dirname(__file__), "config.yaml"))
|
||||
test_config['Reply_Mode'] = '1'
|
||||
with open((os.path.join(os.path.dirname(__file__), "config.yaml")), "w") as file:
|
||||
yaml.dump(test_config, file)
|
||||
return True
|
||||
except:
|
||||
return False
|
||||
|
||||
async def Server_Mode(self):
|
||||
|
||||
try:
|
||||
test_config = read(os.path.join(os.path.dirname(__file__), "config.yaml"))
|
||||
test_config['Reply_Mode'] = '2'
|
||||
with open((os.path.join(os.path.dirname(__file__), "config.yaml")), "w") as file:
|
||||
yaml.dump(test_config, file)
|
||||
return True
|
||||
except:
|
||||
return False
|
||||
|
||||
async def Common_Mode(self):
|
||||
|
||||
try:
|
||||
test_config = read(os.path.join(os.path.dirname(__file__), "config.yaml"))
|
||||
test_config['Reply_Mode'] = '0'
|
||||
with open((os.path.join(os.path.dirname(__file__), "config.yaml")), "w") as file:
|
||||
yaml.dump(test_config, file)
|
||||
return True
|
||||
except:
|
||||
return False
|
||||
|
||||
async def Now_Cfg(self):
|
||||
|
||||
try:
|
||||
test_config = read(os.path.join(os.path.dirname(__file__), "config.yaml"))
|
||||
|
||||
return test_config
|
||||
except:
|
||||
return '出错了'
|
||||
|
||||
async def Code_Verifica(self,code):
|
||||
|
||||
|
||||
time_now = str(int(time.time()))
|
||||
time00 = time_now[0:4]
|
||||
time1 = str(code)[::-1]
|
||||
time_ver = time00+time1
|
||||
|
||||
if int(time_now) < int(time_ver) and (int(time_ver)-300) < int(time_now):
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
|
||||
async def Code_Gen(self):
|
||||
|
||||
time1 = str(int(time.time())+300)
|
||||
time3 = time1[::-1][:-4]
|
||||
return time3
|
||||
|
||||
async def Clean_All_Server(self):
|
||||
|
||||
url = "https://api.sunderer.games/census/restart"
|
||||
payload = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"page_no\"\r\n\r\n1\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"page_size\"\r\n\r\n15\r\n-----011000010111000001101001--\r\n\r\n"
|
||||
headers = {"content-type": "multipart/form-data; boundary=---011000010111000001101001"}
|
||||
response = requests.request("POST", url, data=payload, headers=headers)
|
||||
|
||||
return response.text
|
||||
|
||||
async def Clean_Specific_Server(self,server):
|
||||
|
||||
url = "https://api.sunderer.games/census/restart/server"
|
||||
payload = {"ServerName": ""}
|
||||
payload['ServerName'] = str(server)
|
||||
headers = {"content-type": "application/json"}
|
||||
response = requests.request("POST", url, json=payload, headers=headers)
|
||||
|
||||
return response.text
|
||||
|
||||
if __name__ == "__main__":
|
||||
# 通过预设置的类型,设置需要监听的事件通道
|
||||
# intents = botpy.Intents.none()
|
||||
# intents.public_messages=True
|
||||
|
||||
# 通过kwargs,设置需要监听的事件通道
|
||||
intents = botpy.Intents(public_messages=True)
|
||||
client = MyClient(intents=intents)
|
||||
client.run(appid=test_config["appid"], secret=test_config["secret"])
|
||||
@@ -0,0 +1,21 @@
|
||||
import requests
|
||||
from PIL import Image
|
||||
from io import BytesIO
|
||||
|
||||
# 图片的完整 URL
|
||||
Avatar_url = "https://u.sunderer.games/storage/default/20241222/我的世界-minecraft_9478e13cb10ec60f31a7674a80417f0046cdff0b.png"
|
||||
|
||||
# 发送 GET 请求获取图片数据
|
||||
response = requests.get(Avatar_url)
|
||||
|
||||
# 检查请求是否成功
|
||||
if response.status_code == 200:
|
||||
# 使用 PIL 打开图片
|
||||
img = Image.open(BytesIO(response.content)) # 将字节数据转换为图像
|
||||
#img.show() # 显示图片
|
||||
else:
|
||||
print(f"图片下载失败,状态码: {response.status_code}")
|
||||
|
||||
|
||||
Avatar = Image.open(BytesIO((requests.get(Avatar_url).content)))
|
||||
Avatar.show()
|
||||
@@ -0,0 +1,46 @@
|
||||
from PIL import Image, ImageDraw
|
||||
|
||||
def add_rounded_corners(image, radius, color):
|
||||
# 创建一个与原始图像大小相同的掩膜图像
|
||||
mask = Image.new("L", (1600,800), 0)
|
||||
draw = ImageDraw.Draw(mask)
|
||||
image = original_image
|
||||
|
||||
# 获取原始图像的宽度和高度
|
||||
width, height = image.size
|
||||
|
||||
# 计算裁剪框的左上角和右下角坐标
|
||||
left = (width - 1600) / 2
|
||||
top = (height - 800) / 2
|
||||
right = (width + 1600) / 2
|
||||
bottom = (height + 800) / 2
|
||||
|
||||
# 使用crop()方法裁剪图像
|
||||
cropped_image = image.crop((left, top, right, bottom))
|
||||
# 在掩膜图像上绘制一个带有圆角的矩形
|
||||
draw.pieslice([0, 0, radius * 2, radius * 2], 180, 270, fill=255)
|
||||
draw.pieslice([cropped_image.width - 2 * radius, 0, cropped_image.width, 2 * radius], 270, 360, fill=255)
|
||||
draw.pieslice([0, cropped_image.height - 2 * radius, 2 * radius, cropped_image.height], 90, 180, fill=255)
|
||||
draw.pieslice([cropped_image.width - 2 * radius, cropped_image.height - 2 * radius, cropped_image.width, cropped_image.height], 0, 90, fill=255)
|
||||
draw.rectangle([radius, 0, cropped_image.width - radius, cropped_image.height], fill=255)
|
||||
draw.rectangle([0, radius, cropped_image.width, cropped_image.height - radius], fill=255)
|
||||
|
||||
# 创建一个新图像,并将原始图像放置在上面
|
||||
result = Image.new("RGBA", cropped_image.size, (0, 0, 0, 0))
|
||||
result.paste(cropped_image, (0, 0), mask)
|
||||
|
||||
return result
|
||||
|
||||
# 打开原始图片
|
||||
original_image = Image.open("img.png").convert("RGBA")
|
||||
|
||||
# 添加圆角效果
|
||||
rounded_image = add_rounded_corners(original_image, 160, (0, 0, 0, 0))
|
||||
|
||||
# 保存处理后的图片
|
||||
#rounded_image.save("rounded_image.png")
|
||||
rounded_image.show()
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
from PIL import Image, ImageDraw
|
||||
|
||||
def add_rounded_corners(image, radius, color):
|
||||
# 创建一个与原始图像大小相同的掩膜图像
|
||||
mask = Image.new("L", (1600,1400), 0)
|
||||
draw = ImageDraw.Draw(mask)
|
||||
image = original_image
|
||||
|
||||
# 获取原始图像的宽度和高度
|
||||
width, height = image.size
|
||||
|
||||
# 计算裁剪框的左上角和右下角坐标
|
||||
left = (width - 1600) / 2
|
||||
top = (height - 1400) / 2
|
||||
right = (width + 1600) / 2
|
||||
bottom = (height + 1400) / 2
|
||||
|
||||
# 使用crop()方法裁剪图像
|
||||
cropped_image = image.crop((left, top, right, bottom))
|
||||
# 在掩膜图像上绘制一个带有圆角的矩形
|
||||
draw.pieslice([0, 0, radius * 2, radius * 2], 180, 270, fill=255)
|
||||
draw.pieslice([cropped_image.width - 2 * radius, 0, cropped_image.width, 2 * radius], 270, 360, fill=255)
|
||||
draw.pieslice([0, cropped_image.height - 2 * radius, 2 * radius, cropped_image.height], 90, 180, fill=255)
|
||||
draw.pieslice([cropped_image.width - 2 * radius, cropped_image.height - 2 * radius, cropped_image.width, cropped_image.height], 0, 90, fill=255)
|
||||
draw.rectangle([radius, 0, cropped_image.width - radius, cropped_image.height], fill=255)
|
||||
draw.rectangle([0, radius, cropped_image.width, cropped_image.height - radius], fill=255)
|
||||
|
||||
# 创建一个新图像,并将原始图像放置在上面
|
||||
result = Image.new("RGBA", cropped_image.size, (0, 0, 0, 0))
|
||||
result.paste(cropped_image, (0, 0), mask)
|
||||
|
||||
return result
|
||||
|
||||
# 打开原始图片
|
||||
original_image = Image.open("test.png").convert("RGBA")
|
||||
|
||||
# 添加圆角效果
|
||||
rounded_image = add_rounded_corners(original_image, 160, (0, 0, 0, 0))
|
||||
|
||||
# 保存处理后的图片
|
||||
#rounded_image.save("rounded_image.png")
|
||||
rounded_image.show()
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
from PIL import Image, ImageDraw
|
||||
|
||||
def add_rounded_corners(image, radius, color):
|
||||
# 创建一个与原始图像大小相同的掩膜图像
|
||||
mask = Image.new("L", (1600,400), 0)
|
||||
draw = ImageDraw.Draw(mask)
|
||||
image = original_image
|
||||
|
||||
# 获取原始图像的宽度和高度
|
||||
width, height = image.size
|
||||
|
||||
# 计算裁剪框的左上角和右下角坐标
|
||||
left = (width - 1600) / 2
|
||||
top = (height - 400) / 2
|
||||
right = (width + 1600) / 2
|
||||
bottom = (height + 400) / 2
|
||||
|
||||
# 使用crop()方法裁剪图像
|
||||
cropped_image = image.crop((left, top, right, bottom))
|
||||
# 在掩膜图像上绘制一个带有圆角的矩形
|
||||
draw.pieslice([0, 0, radius * 2, radius * 2], 180, 270, fill=255)
|
||||
draw.pieslice([cropped_image.width - 2 * radius, 0, cropped_image.width, 2 * radius], 270, 360, fill=255)
|
||||
draw.pieslice([0, cropped_image.height - 2 * radius, 2 * radius, cropped_image.height], 90, 180, fill=255)
|
||||
draw.pieslice([cropped_image.width - 2 * radius, cropped_image.height - 2 * radius, cropped_image.width, cropped_image.height], 0, 90, fill=255)
|
||||
draw.rectangle([radius, 0, cropped_image.width - radius, cropped_image.height], fill=255)
|
||||
draw.rectangle([0, radius, cropped_image.width, cropped_image.height - radius], fill=255)
|
||||
|
||||
# 创建一个新图像,并将原始图像放置在上面
|
||||
result = Image.new("RGBA", cropped_image.size, (0, 0, 0, 0))
|
||||
result.paste(cropped_image, (0, 0), mask)
|
||||
|
||||
return result
|
||||
|
||||
# 打开原始图片
|
||||
original_image = Image.open("img.png").convert("RGBA")
|
||||
|
||||
# 添加圆角效果
|
||||
rounded_image = add_rounded_corners(original_image, 50, (0, 0, 0, 0))
|
||||
|
||||
# 保存处理后的图片
|
||||
#rounded_image.save("rounded_image.png")
|
||||
rounded_image.show()
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user