mirror of https://github.com/Mai-with-u/MaiBot.git
fix: 优化bot初始化的日志&格式
parent
41aa974d2e
commit
1b5344f32f
1
bot.py
1
bot.py
|
|
@ -150,7 +150,6 @@ if __name__ == "__main__":
|
||||||
init_env()
|
init_env()
|
||||||
load_env()
|
load_env()
|
||||||
|
|
||||||
|
|
||||||
env_config = {key: os.getenv(key) for key in os.environ}
|
env_config = {key: os.getenv(key) for key in os.environ}
|
||||||
scan_provider(env_config)
|
scan_provider(env_config)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -28,16 +28,15 @@ driver = get_driver()
|
||||||
config = driver.config
|
config = driver.config
|
||||||
|
|
||||||
Database.initialize(
|
Database.initialize(
|
||||||
host= config.MONGODB_HOST,
|
host=config.MONGODB_HOST,
|
||||||
port= int(config.MONGODB_PORT),
|
port=int(config.MONGODB_PORT),
|
||||||
db_name= config.DATABASE_NAME,
|
db_name=config.DATABASE_NAME,
|
||||||
username= config.MONGODB_USERNAME,
|
username=config.MONGODB_USERNAME,
|
||||||
password= config.MONGODB_PASSWORD,
|
password=config.MONGODB_PASSWORD,
|
||||||
auth_source= config.MONGODB_AUTH_SOURCE
|
auth_source=config.MONGODB_AUTH_SOURCE
|
||||||
)
|
)
|
||||||
print("\033[1;32m[初始化数据库完成]\033[0m")
|
print("\033[1;32m[初始化数据库完成]\033[0m")
|
||||||
|
|
||||||
|
|
||||||
# 导入其他模块
|
# 导入其他模块
|
||||||
from ..memory_system.memory import hippocampus, memory_graph
|
from ..memory_system.memory import hippocampus, memory_graph
|
||||||
from .bot import ChatBot
|
from .bot import ChatBot
|
||||||
|
|
@ -57,24 +56,24 @@ group_msg = on_message(priority=5)
|
||||||
scheduler = require("nonebot_plugin_apscheduler").scheduler
|
scheduler = require("nonebot_plugin_apscheduler").scheduler
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@driver.on_startup
|
@driver.on_startup
|
||||||
async def start_background_tasks():
|
async def start_background_tasks():
|
||||||
"""启动后台任务"""
|
"""启动后台任务"""
|
||||||
# 启动LLM统计
|
# 启动LLM统计
|
||||||
llm_stats.start()
|
llm_stats.start()
|
||||||
print("\033[1;32m[初始化]\033[0m LLM统计功能已启动")
|
logger.success("[初始化]LLM统计功能已启动")
|
||||||
|
|
||||||
# 初始化并启动情绪管理器
|
# 初始化并启动情绪管理器
|
||||||
mood_manager = MoodManager.get_instance()
|
mood_manager = MoodManager.get_instance()
|
||||||
mood_manager.start_mood_update(update_interval=global_config.mood_update_interval)
|
mood_manager.start_mood_update(update_interval=global_config.mood_update_interval)
|
||||||
print("\033[1;32m[初始化]\033[0m 情绪管理器已启动")
|
logger.success("[初始化]情绪管理器已启动")
|
||||||
|
|
||||||
# 只启动表情包管理任务
|
# 只启动表情包管理任务
|
||||||
asyncio.create_task(emoji_manager.start_periodic_check(interval_MINS=global_config.EMOJI_CHECK_INTERVAL))
|
asyncio.create_task(emoji_manager.start_periodic_check(interval_MINS=global_config.EMOJI_CHECK_INTERVAL))
|
||||||
await bot_schedule.initialize()
|
await bot_schedule.initialize()
|
||||||
bot_schedule.print_schedule()
|
bot_schedule.print_schedule()
|
||||||
|
|
||||||
|
|
||||||
@driver.on_startup
|
@driver.on_startup
|
||||||
async def init_relationships():
|
async def init_relationships():
|
||||||
"""在 NoneBot2 启动时初始化关系管理器"""
|
"""在 NoneBot2 启动时初始化关系管理器"""
|
||||||
|
|
@ -82,45 +81,52 @@ async def init_relationships():
|
||||||
await relationship_manager.load_all_relationships()
|
await relationship_manager.load_all_relationships()
|
||||||
asyncio.create_task(relationship_manager._start_relationship_manager())
|
asyncio.create_task(relationship_manager._start_relationship_manager())
|
||||||
|
|
||||||
|
|
||||||
@driver.on_bot_connect
|
@driver.on_bot_connect
|
||||||
async def _(bot: Bot):
|
async def _(bot: Bot):
|
||||||
"""Bot连接成功时的处理"""
|
"""Bot连接成功时的处理"""
|
||||||
global _message_manager_started
|
global _message_manager_started
|
||||||
print(f"\033[1;38;5;208m-----------{global_config.BOT_NICKNAME}成功连接!-----------\033[0m")
|
print(f"\033[1;38;5;208m-----------{global_config.BOT_NICKNAME}成功连接!-----------\033[0m")
|
||||||
await willing_manager.ensure_started()
|
await willing_manager.ensure_started()
|
||||||
|
|
||||||
message_sender.set_bot(bot)
|
message_sender.set_bot(bot)
|
||||||
print("\033[1;38;5;208m-----------消息发送器已启动!-----------\033[0m")
|
print("\033[1;38;5;208m-----------消息发送器已启动!-----------\033[0m")
|
||||||
|
|
||||||
if not _message_manager_started:
|
if not _message_manager_started:
|
||||||
asyncio.create_task(message_manager.start_processor())
|
asyncio.create_task(message_manager.start_processor())
|
||||||
_message_manager_started = True
|
_message_manager_started = True
|
||||||
print("\033[1;38;5;208m-----------消息处理器已启动!-----------\033[0m")
|
print("\033[1;38;5;208m-----------消息处理器已启动!-----------\033[0m")
|
||||||
|
|
||||||
asyncio.create_task(emoji_manager._periodic_scan(interval_MINS=global_config.EMOJI_REGISTER_INTERVAL))
|
asyncio.create_task(emoji_manager._periodic_scan(interval_MINS=global_config.EMOJI_REGISTER_INTERVAL))
|
||||||
print("\033[1;38;5;208m-----------开始偷表情包!-----------\033[0m")
|
print("\033[1;38;5;208m-----------开始偷表情包!-----------\033[0m")
|
||||||
|
|
||||||
|
|
||||||
@group_msg.handle()
|
@group_msg.handle()
|
||||||
async def _(bot: Bot, event: GroupMessageEvent, state: T_State):
|
async def _(bot: Bot, event: GroupMessageEvent, state: T_State):
|
||||||
await chat_bot.handle_message(event, bot)
|
await chat_bot.handle_message(event, bot)
|
||||||
|
|
||||||
|
|
||||||
# 添加build_memory定时任务
|
# 添加build_memory定时任务
|
||||||
@scheduler.scheduled_job("interval", seconds=global_config.build_memory_interval, id="build_memory")
|
@scheduler.scheduled_job("interval", seconds=global_config.build_memory_interval, id="build_memory")
|
||||||
async def build_memory_task():
|
async def build_memory_task():
|
||||||
"""每build_memory_interval秒执行一次记忆构建"""
|
"""每build_memory_interval秒执行一次记忆构建"""
|
||||||
print("\033[1;32m[记忆构建]\033[0m -------------------------------------------开始构建记忆-------------------------------------------")
|
print(
|
||||||
|
"\033[1;32m[记忆构建]\033[0m -------------------------------------------开始构建记忆-------------------------------------------")
|
||||||
start_time = time.time()
|
start_time = time.time()
|
||||||
await hippocampus.operation_build_memory(chat_size=20)
|
await hippocampus.operation_build_memory(chat_size=20)
|
||||||
end_time = time.time()
|
end_time = time.time()
|
||||||
print(f"\033[1;32m[记忆构建]\033[0m -------------------------------------------记忆构建完成:耗时: {end_time - start_time:.2f} 秒-------------------------------------------")
|
print(
|
||||||
|
f"\033[1;32m[记忆构建]\033[0m -------------------------------------------记忆构建完成:耗时: {end_time - start_time:.2f} 秒-------------------------------------------")
|
||||||
@scheduler.scheduled_job("interval", seconds=global_config.forget_memory_interval, id="forget_memory")
|
|
||||||
|
|
||||||
|
@scheduler.scheduled_job("interval", seconds=global_config.forget_memory_interval, id="forget_memory")
|
||||||
async def forget_memory_task():
|
async def forget_memory_task():
|
||||||
"""每30秒执行一次记忆构建"""
|
"""每30秒执行一次记忆构建"""
|
||||||
# print("\033[1;32m[记忆遗忘]\033[0m 开始遗忘记忆...")
|
# print("\033[1;32m[记忆遗忘]\033[0m 开始遗忘记忆...")
|
||||||
# await hippocampus.operation_forget_topic(percentage=0.1)
|
# await hippocampus.operation_forget_topic(percentage=0.1)
|
||||||
# print("\033[1;32m[记忆遗忘]\033[0m 记忆遗忘完成")
|
# print("\033[1;32m[记忆遗忘]\033[0m 记忆遗忘完成")
|
||||||
|
|
||||||
|
|
||||||
@scheduler.scheduled_job("interval", seconds=global_config.build_memory_interval + 10, id="merge_memory")
|
@scheduler.scheduled_job("interval", seconds=global_config.build_memory_interval + 10, id="merge_memory")
|
||||||
async def merge_memory_task():
|
async def merge_memory_task():
|
||||||
"""每30秒执行一次记忆构建"""
|
"""每30秒执行一次记忆构建"""
|
||||||
|
|
@ -128,9 +134,9 @@ async def merge_memory_task():
|
||||||
# await hippocampus.operation_merge_memory(percentage=0.1)
|
# await hippocampus.operation_merge_memory(percentage=0.1)
|
||||||
# print("\033[1;32m[记忆整合]\033[0m 记忆整合完成")
|
# print("\033[1;32m[记忆整合]\033[0m 记忆整合完成")
|
||||||
|
|
||||||
|
|
||||||
@scheduler.scheduled_job("interval", seconds=30, id="print_mood")
|
@scheduler.scheduled_job("interval", seconds=30, id="print_mood")
|
||||||
async def print_mood_task():
|
async def print_mood_task():
|
||||||
"""每30秒打印一次情绪状态"""
|
"""每30秒打印一次情绪状态"""
|
||||||
mood_manager = MoodManager.get_instance()
|
mood_manager = MoodManager.get_instance()
|
||||||
mood_manager.print_mood_status()
|
mood_manager.print_mood_status()
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue