mirror of
https://github.com/N1ngYu/SaltBot.git
synced 2025-09-28 08:42:40 +08:00
Fix
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
26
Plugin/nonebot_plugin_maimai_helper/manager/game_data.py
Normal file
26
Plugin/nonebot_plugin_maimai_helper/manager/game_data.py
Normal 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
|
||||
41
Plugin/nonebot_plugin_maimai_helper/manager/usage_count.py
Normal file
41
Plugin/nonebot_plugin_maimai_helper/manager/usage_count.py
Normal 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
|
||||
Reference in New Issue
Block a user