v0.2.4
修复了@的bug和日程生成bug,增加了简化输出的配置选项
This commit is contained in:
@@ -45,9 +45,7 @@ class Relationship:
|
||||
|
||||
class RelationshipManager:
|
||||
def __init__(self):
|
||||
self.relationships: dict[int, Relationship] = {} # user_id -> Relationship
|
||||
# self.id_name_nickname_table: dict[str, list] = {} # name -> [nickname, nickname, ...]
|
||||
# print("[关系管理] 初始化 id_name_nickname_table") # 调试信息
|
||||
self.relationships: dict[int, Relationship] = {}
|
||||
|
||||
async def update_relationship(self, user_id: int, data=None, **kwargs):
|
||||
# 检查是否在内存中已存在
|
||||
@@ -102,8 +100,16 @@ class RelationshipManager:
|
||||
"""从数据库加载或创建新的关系对象"""
|
||||
rela = Relationship(user_id=data['user_id'], data=data)
|
||||
rela.saved = True
|
||||
self.relationships[rela.user_id] = rela
|
||||
return rela
|
||||
|
||||
async def load_all_relationships(self):
|
||||
"""加载所有关系对象"""
|
||||
db = Database.get_instance()
|
||||
all_relationships = db.db.relationships.find({})
|
||||
for data in all_relationships:
|
||||
await self.load_relationship(data)
|
||||
|
||||
async def _start_relationship_manager(self):
|
||||
"""每5分钟自动保存一次关系数据"""
|
||||
db = Database.get_instance()
|
||||
@@ -154,27 +160,13 @@ class RelationshipManager:
|
||||
)
|
||||
|
||||
def get_name(self, user_id: int) -> str:
|
||||
# 确保user_id是整数类型
|
||||
user_id = int(user_id)
|
||||
if user_id in self.relationships:
|
||||
|
||||
return self.relationships[user_id].nickname
|
||||
else:
|
||||
return "[某人]"
|
||||
|
||||
def print_all_relationships(self):
|
||||
"""打印内存中所有的关系记录"""
|
||||
print("\n\033[1;32m[关系管理]\033[0m 当前内存中的所有关系:")
|
||||
print("=" * 50)
|
||||
|
||||
if not self.relationships:
|
||||
print("暂无关系记录")
|
||||
return
|
||||
|
||||
for user_id, relationship in self.relationships.items():
|
||||
print(f"用户ID: {user_id}")
|
||||
print(f"昵称: {relationship.nickname}")
|
||||
print(f"好感度: {relationship.relationship_value}")
|
||||
print("-" * 30)
|
||||
|
||||
print("=" * 50)
|
||||
return "某人"
|
||||
|
||||
|
||||
relationship_manager = RelationshipManager()
|
||||
Reference in New Issue
Block a user