This commit is contained in:
2025-03-04 20:48:27 +08:00
parent 1a5d161b5a
commit b0e71cf4f7
4192 changed files with 0 additions and 268307 deletions

View File

@@ -0,0 +1,26 @@
import json
import os
from nonebot_plugin_maimai_helper.data import root_path
class GameDataManager:
def __init__(self, resource_type: str):
resource = self._load_resource_info(os.path.join(root_path, "game_data", f"{resource_type}_list.json"))
self.resource = resource["data"]
self.resource_info = resource["info"]
# 加载资源信息的封装函数
def _load_resource_info(self, path):
try:
with open(path, "r", encoding="utf-8") as f:
return json.load(f)
except:
return {}
# 改进后的 get_resource 和 have_resource 函数
def get_resource(self, resource_id: int):
return self.resource.get(str(resource_id), None)
def have_resource(self, resource_id: int):
return str(resource_id) in self.resource

View File

@@ -0,0 +1,41 @@
class UsageCount:
handled_user_count = dict(unknown=0)
def add(self, wxid="unknown"):
if wxid not in self.handled_user_count:
self.handled_user_count[wxid] = 0
self.handled_user_count[wxid] += 1
def get(self, wxid="unknown"):
my_count = 0
if wxid is not None:
my_count = self.handled_user_count.get(wxid, 0)
return len(self.handled_user_count.keys()) - 1, sum(self.handled_user_count.values()), my_count
class NetworkCount:
average_delay = 0
request_failed_count = 0
request_count = 0
zlib_compress_skip_count = 0
def update_average_delay(self, delay: int):
if self.request_count == 0:
self.average_delay = delay
else:
self.average_delay = (self.average_delay * self.request_count + delay) / (self.request_count + 1)
def add_request_count(self):
self.request_count += 1
def add_failed_request_count(self):
self.request_count -= 1
def add_zlib_compress_skip_count(self):
self.zlib_compress_skip_count += 1
def add_request_failed_count(self):
self.request_failed_count += 1
def get_network_status(self):
return self.request_count, self.request_failed_count, self.zlib_compress_skip_count, self.average_delay