Skip to content

Commit 7917b68

Browse files
authored
Merge pull request #259 from yuuki-nya/main
解决多个 bot 实例接入 HoshinoBot 无法注册的问题
2 parents 3c100f0 + 3bdbcda commit 7917b68

1 file changed

Lines changed: 13 additions & 11 deletions

File tree

server.py

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -193,21 +193,23 @@ async def check_validate(botev: BotEvent, qq: str, cnt: int = 1):
193193

194194
async def is_valid_qq(qq: str):
195195
qq = str(qq)
196-
groups = (await sv.get_enable_groups()).keys()
196+
enable_groups = await sv.get_enable_groups()
197197
bot = nonebot.get_bot()
198+
198199
if qq.startswith("g"):
199200
gid = qq.lstrip('g')
200-
return gid.isdigit() and int(gid) in groups
201+
return gid.isdigit() and int(gid) in enable_groups.keys()
201202
else:
202-
for group in groups:
203-
try:
204-
async for member in await bot.get_group_member_list(group_id=group):
205-
if qq == str(member['user_id']):
206-
return True
207-
except:
208-
for member in await bot.get_group_member_list(group_id=group):
209-
if qq == str(member['user_id']):
210-
return True
203+
for group_id, self_ids in enable_groups.items():
204+
for self_id in self_ids:
205+
try:
206+
members = await bot.get_group_member_list(group_id=group_id, self_id=self_id)
207+
for member in members:
208+
if qq == str(member['user_id']):
209+
return True
210+
break
211+
except Exception as e:
212+
continue
211213
return False
212214

213215
def check_final_args_be_empty(func):

0 commit comments

Comments
 (0)