优化初始化流程,启动时不同步通讯录,只是从数据库里面提取。
This commit is contained in:
14
robot.py
14
robot.py
@@ -404,7 +404,19 @@ class Robot(Job):
|
||||
|
||||
def get_all_contacts(self) -> dict:
|
||||
"""获取所有联系人信息并返回字典格式 {wxid: nickname}"""
|
||||
# 从数据库提取信息,如果数据库没内容,则完成第一次初始化。
|
||||
try:
|
||||
# 先尝试从数据库获取联系人信息
|
||||
contacts_dict = self.contacts_db.get_all_contacts()
|
||||
|
||||
# 如果数据库中有联系人信息,直接返回
|
||||
if contacts_dict:
|
||||
self.LOG.info(f"从数据库成功获取了 {len(contacts_dict)} 个联系人信息")
|
||||
return contacts_dict
|
||||
|
||||
# 数据库中没有联系人信息,需要初始化
|
||||
self.LOG.info("数据库中没有联系人信息,开始初始化...")
|
||||
|
||||
contacts_dict = {}
|
||||
# 获取所有联系人列表
|
||||
response = self.client.fetch_contacts_list(self.app_id)
|
||||
@@ -421,7 +433,7 @@ class Robot(Job):
|
||||
friends = contact_data.get("friends", [])
|
||||
for wxid in friends:
|
||||
contacts_dict[wxid] = wxid # 默认使用wxid作为昵称
|
||||
|
||||
|
||||
# 处理群聊列表
|
||||
chatrooms = contact_data.get("chatrooms", [])
|
||||
for chatroom_id in chatrooms:
|
||||
|
||||
Reference in New Issue
Block a user