OneBotConnecter 0.4.4__tar.gz → 0.4.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {onebotconnecter-0.4.4/src/OneBotConnecter.egg-info → onebotconnecter-0.4.6}/PKG-INFO +1 -1
- {onebotconnecter-0.4.4 → onebotconnecter-0.4.6}/pyproject.toml +1 -1
- {onebotconnecter-0.4.4 → onebotconnecter-0.4.6}/src/OneBotConnecter/OneBot.py +24 -32
- {onebotconnecter-0.4.4 → onebotconnecter-0.4.6/src/OneBotConnecter.egg-info}/PKG-INFO +1 -1
- {onebotconnecter-0.4.4 → onebotconnecter-0.4.6}/LICENSE +0 -0
- {onebotconnecter-0.4.4 → onebotconnecter-0.4.6}/README.md +0 -0
- {onebotconnecter-0.4.4 → onebotconnecter-0.4.6}/setup.cfg +0 -0
- {onebotconnecter-0.4.4 → onebotconnecter-0.4.6}/src/OneBotConnecter/MessageType.py +0 -0
- {onebotconnecter-0.4.4 → onebotconnecter-0.4.6}/src/OneBotConnecter/__init__.py +0 -0
- {onebotconnecter-0.4.4 → onebotconnecter-0.4.6}/src/OneBotConnecter/logger.py +0 -0
- {onebotconnecter-0.4.4 → onebotconnecter-0.4.6}/src/OneBotConnecter.egg-info/SOURCES.txt +0 -0
- {onebotconnecter-0.4.4 → onebotconnecter-0.4.6}/src/OneBotConnecter.egg-info/dependency_links.txt +0 -0
- {onebotconnecter-0.4.4 → onebotconnecter-0.4.6}/src/OneBotConnecter.egg-info/top_level.txt +0 -0
|
@@ -155,8 +155,8 @@ class OneBot:
|
|
|
155
155
|
print(f"获取信息: {message}", needPrint=self.testMode)
|
|
156
156
|
#处理 => 缓存
|
|
157
157
|
try:
|
|
158
|
-
|
|
159
|
-
if message
|
|
158
|
+
#识别是否为心跳信息及空包
|
|
159
|
+
if message.get("post_type", None) != "meta_event" and self.bot != None and message != {}:
|
|
160
160
|
self.message_list.append(message) #放入缓存,排队处理
|
|
161
161
|
print(f"非心跳信息,已放入缓存", needPrint=self.testMode)
|
|
162
162
|
except Exception as e:
|
|
@@ -168,11 +168,13 @@ class OneBot:
|
|
|
168
168
|
#处理 => 信息
|
|
169
169
|
print(f"待处理信息列表数量为: {len(self.message_list)}", needPrint=self.testMode)
|
|
170
170
|
#一口气清空缓存
|
|
171
|
-
|
|
171
|
+
temp = self.message_list.copy()
|
|
172
|
+
for message in temp:
|
|
172
173
|
try:
|
|
173
|
-
message
|
|
174
|
+
if message.get("retcode", None) != None: continue #跳过带有retcode的信息
|
|
174
175
|
print(f"正在处理: {message}", needPrint=self.testMode)
|
|
175
176
|
await callback(self, message)
|
|
177
|
+
self.message_list.remove(message)
|
|
176
178
|
except Exception as e:
|
|
177
179
|
tb = e.__traceback__
|
|
178
180
|
formatted_tb = ''.join(traceback.format_tb(tb))
|
|
@@ -201,6 +203,7 @@ class OneBot:
|
|
|
201
203
|
"params": params
|
|
202
204
|
}
|
|
203
205
|
return json.dumps(data)
|
|
206
|
+
|
|
204
207
|
#把数据包发送至机器人端口,并收集处理结果
|
|
205
208
|
async def _sendToServer(self, action: str, params: dict):
|
|
206
209
|
#构造数据包
|
|
@@ -211,6 +214,7 @@ class OneBot:
|
|
|
211
214
|
#收集处理结果
|
|
212
215
|
message = None
|
|
213
216
|
while True:
|
|
217
|
+
#中断正常信息收集
|
|
214
218
|
if self.get_message:
|
|
215
219
|
print(f"中断信息收集", needPrint=self.testMode)
|
|
216
220
|
self.get_message = False
|
|
@@ -219,31 +223,18 @@ class OneBot:
|
|
|
219
223
|
#从接口收取信息
|
|
220
224
|
callback = await self.bot.recv()
|
|
221
225
|
message = json.loads(callback)
|
|
226
|
+
#识别心跳和空包
|
|
222
227
|
print(f"数据包发送后收取: {message}", needPrint=self.testMode)
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
print("空包识别", needPrint=self.testMode)
|
|
234
|
-
break
|
|
235
|
-
try:
|
|
236
|
-
print("retcode识别", needPrint=self.testMode)
|
|
237
|
-
retcode = message["retcode"]
|
|
238
|
-
break
|
|
239
|
-
except:
|
|
240
|
-
print(f"其他信息识别", needPrint=self.testMode)
|
|
241
|
-
#非常规信息 => 强行返回
|
|
242
|
-
except:
|
|
243
|
-
tb = e.__traceback__
|
|
244
|
-
formatted_tb = ''.join(traceback.format_tb(tb))
|
|
245
|
-
print(f"报错识别: \n{formatted_tb}", needPrint=self.testMode)
|
|
246
|
-
break
|
|
228
|
+
if message.get("post_type", None) != "meta_event" and self.bot != None and message != {}:
|
|
229
|
+
self.message_list.append(message)
|
|
230
|
+
print("缓存信息", needPrint=self.testMode)
|
|
231
|
+
#识别带有rercode的信息
|
|
232
|
+
for message in self.message_list:
|
|
233
|
+
if message.get("retcode", None) != None:
|
|
234
|
+
print("retcode识别", needPrint=self.testMode)
|
|
235
|
+
retcode_message = message
|
|
236
|
+
self.message_list.remove(message)
|
|
237
|
+
break
|
|
247
238
|
#异步报错
|
|
248
239
|
except RuntimeError: pass
|
|
249
240
|
#处理失败
|
|
@@ -258,8 +249,9 @@ class OneBot:
|
|
|
258
249
|
self.get_message = True
|
|
259
250
|
print(f"恢复信息收集", needPrint=self.testMode)
|
|
260
251
|
#识别完毕,返回
|
|
261
|
-
print(f"数据包返回: {
|
|
262
|
-
return
|
|
252
|
+
print(f"数据包返回: {retcode_message}", needPrint=self.testMode)
|
|
253
|
+
return retcode_message
|
|
254
|
+
|
|
263
255
|
#调试模式开关
|
|
264
256
|
async def test(self, testMode: bool = False):
|
|
265
257
|
self.testMode = testMode
|
|
@@ -270,13 +262,13 @@ class OneBot:
|
|
|
270
262
|
if data.isGroup and group_id != None:
|
|
271
263
|
params = {
|
|
272
264
|
"group_id": group_id,
|
|
273
|
-
"message": data.
|
|
265
|
+
"message": data.returnData()
|
|
274
266
|
}
|
|
275
267
|
callback = await self._sendToServer("send_group_forward_msg", params)
|
|
276
268
|
elif not data.isGroup and user_id != None:
|
|
277
269
|
params = {
|
|
278
270
|
"user_id": user_id,
|
|
279
|
-
"message": data.
|
|
271
|
+
"message": data.returnData()
|
|
280
272
|
}
|
|
281
273
|
callback = await self._sendToServer("send_private_forward_msg", params)
|
|
282
274
|
else: raise TypeError("Error input in send_forward_msg function.")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{onebotconnecter-0.4.4 → onebotconnecter-0.4.6}/src/OneBotConnecter.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|