Files
SaltBot/nonebot_plugin_maimai_helper/manager/usage_count.py
2025-03-03 20:48:33 +08:00

42 lines
1.3 KiB
Python

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