OneBotConnecter 0.3.1__tar.gz → 0.3.3__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.3.1/src/OneBotConnecter.egg-info → onebotconnecter-0.3.3}/PKG-INFO +1 -1
- {onebotconnecter-0.3.1 → onebotconnecter-0.3.3}/pyproject.toml +1 -1
- {onebotconnecter-0.3.1 → onebotconnecter-0.3.3}/src/OneBotConnecter/OneBot.py +39 -24
- {onebotconnecter-0.3.1 → onebotconnecter-0.3.3/src/OneBotConnecter.egg-info}/PKG-INFO +1 -1
- {onebotconnecter-0.3.1 → onebotconnecter-0.3.3}/LICENSE +0 -0
- {onebotconnecter-0.3.1 → onebotconnecter-0.3.3}/README.md +0 -0
- {onebotconnecter-0.3.1 → onebotconnecter-0.3.3}/setup.cfg +0 -0
- {onebotconnecter-0.3.1 → onebotconnecter-0.3.3}/src/OneBotConnecter/MessageType.py +0 -0
- {onebotconnecter-0.3.1 → onebotconnecter-0.3.3}/src/OneBotConnecter/__init__.py +0 -0
- {onebotconnecter-0.3.1 → onebotconnecter-0.3.3}/src/OneBotConnecter.egg-info/SOURCES.txt +0 -0
- {onebotconnecter-0.3.1 → onebotconnecter-0.3.3}/src/OneBotConnecter.egg-info/dependency_links.txt +0 -0
- {onebotconnecter-0.3.1 → onebotconnecter-0.3.3}/src/OneBotConnecter.egg-info/top_level.txt +0 -0
|
@@ -34,6 +34,7 @@ class OneBot:
|
|
|
34
34
|
testMode = False #调试模式
|
|
35
35
|
#信息缓存
|
|
36
36
|
message_list = [] #信息缓存
|
|
37
|
+
get_message = True
|
|
37
38
|
#构造体
|
|
38
39
|
def __init__(self, uri: str, owner: list[str] = None, botName: list[str] = None, localtion: str = None, testMode = False):
|
|
39
40
|
#接口地址
|
|
@@ -97,18 +98,19 @@ class OneBot:
|
|
|
97
98
|
#连接正常
|
|
98
99
|
try:
|
|
99
100
|
#从接口收取信息
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
self.
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
101
|
+
if self.get_message:
|
|
102
|
+
message = await self.bot.recv()
|
|
103
|
+
message = json.loads(message)
|
|
104
|
+
#处理 => 缓存
|
|
105
|
+
try:
|
|
106
|
+
#识别是否为心跳信息
|
|
107
|
+
if message["post_type"] != "meta_event" and self.bot != None:
|
|
108
|
+
self.message_list.append(message) #放入缓存,排队处理
|
|
109
|
+
elif self.testMode: print(f"{message}\n") #调试模式下打印所有信息
|
|
110
|
+
except:
|
|
111
|
+
#报错处理,这里可能是来自post_type的Key_Exception
|
|
112
|
+
# 所以打印处理,方便进一步人工识别和修改
|
|
113
|
+
print(f"{message}\n")
|
|
112
114
|
#处理 => 信息
|
|
113
115
|
if self.testMode: print(f"待处理信息列表数量为: {len(self.message_list)}\n")
|
|
114
116
|
#一口气清空缓存
|
|
@@ -148,9 +150,11 @@ class OneBot:
|
|
|
148
150
|
#发送
|
|
149
151
|
await self.bot.send(datapack)
|
|
150
152
|
#收集处理结果
|
|
151
|
-
|
|
153
|
+
message = None
|
|
154
|
+
self.get_message = False
|
|
155
|
+
while True:
|
|
152
156
|
#因为处理可能会有延迟,需要识别从接口收取的信息
|
|
153
|
-
|
|
157
|
+
try:
|
|
154
158
|
#从接口收取信息
|
|
155
159
|
callback = await self.bot.recv()
|
|
156
160
|
message = json.loads(callback)
|
|
@@ -160,25 +164,36 @@ class OneBot:
|
|
|
160
164
|
try:
|
|
161
165
|
if message["post_type"] != "meta_event" and self.bot != None:
|
|
162
166
|
self.message_list.append(message)
|
|
167
|
+
if self.testMode: print("正在处理其他信息,缓存信息")
|
|
163
168
|
#其他信息 => 识别
|
|
164
169
|
except:
|
|
165
|
-
if message == {}:
|
|
170
|
+
if message == {}:
|
|
171
|
+
if self.testMode: print("空包识别")
|
|
172
|
+
break
|
|
166
173
|
try:
|
|
174
|
+
if self.testMode: print("retcode识别")
|
|
167
175
|
retcode = message["retcode"]
|
|
168
176
|
break
|
|
169
177
|
except:
|
|
170
|
-
if self.testMode:
|
|
171
|
-
|
|
172
|
-
|
|
178
|
+
if self.testMode:
|
|
179
|
+
print("其他信息识别:")
|
|
180
|
+
print(f"{message}\n")
|
|
173
181
|
#非常规信息 => 强行返回
|
|
174
182
|
except:
|
|
175
|
-
if self.testMode:
|
|
183
|
+
if self.testMode:
|
|
184
|
+
print("非常规信息识别:")
|
|
185
|
+
print(f"{message}\n")
|
|
176
186
|
break
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
187
|
+
#异步报错
|
|
188
|
+
except RuntimeError: pass
|
|
189
|
+
#处理失败
|
|
190
|
+
except Exception as e: print(e)
|
|
191
|
+
#继续收取
|
|
192
|
+
await asyncio.sleep(1)
|
|
193
|
+
self.get_message = True
|
|
194
|
+
#识别完毕,返回
|
|
195
|
+
if self.testMode: print(f"数据包返回: {message}\n")
|
|
196
|
+
return message
|
|
182
197
|
#调试模式开关
|
|
183
198
|
async def test(self, testMode: bool = False):
|
|
184
199
|
self.testMode = testMode
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{onebotconnecter-0.3.1 → onebotconnecter-0.3.3}/src/OneBotConnecter.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|