fix: Fixed 400 Bad Request when load too many UIDs

This commit is contained in:
LWR 2023-04-26 00:13:29 +08:00
parent 5073295465
commit 8a7f0822a0
2 changed files with 7 additions and 4 deletions

View File

@ -15,6 +15,7 @@ from ..exception.DataSourceException import DataSourceException
from ..exception.RedisException import RedisException
from ..utils import redis, config
from ..utils.network import request
from ..utils.utils import split_list
class StarBot:
@ -71,9 +72,12 @@ class StarBot:
return
# 通过 UID 列表批量获取信息
info = {}
info_url = "https://api.live.bilibili.com/room/v1/Room/get_status_info_by_uids?uids[]="
uids = [str(u) for u in self.__datasource.get_uid_list()]
info_url = "https://api.live.bilibili.com/room/v1/Room/get_status_info_by_uids?uids[]=" + "&uids[]=".join(uids)
info = await request("GET", info_url)
uid_lists = split_list(uids, 100)
for lst in uid_lists:
info.update(await request("GET", info_url + "&uids[]=".join(lst)))
for uid in info:
base = info[uid]
uid = int(uid)

View File

@ -17,10 +17,9 @@ from .room import Up
from ..exception.AtAllLimitedException import AtAllLimitedException
from ..painter.LiveReportGenerator import LiveReportGenerator
from ..utils import config, redis
from ..utils.AsyncEvent import AsyncEvent
class Bot(BaseModel, AsyncEvent):
class Bot(BaseModel):
"""
Bot 每个实例为一个 QQ 可用于配置多 Bot 推送
"""