70 lines
2.6 KiB
Python
70 lines
2.6 KiB
Python
import os
|
||
import nonebot
|
||
from nonebot.adapters.onebot.v11 import Adapter
|
||
from dotenv import load_dotenv
|
||
from loguru import logger
|
||
|
||
'''彩蛋'''
|
||
from colorama import init, Fore
|
||
init()
|
||
text = "多年以后,面对行刑队,张三将会回想起他2023年在会议上讨论人工智能的那个下午"
|
||
rainbow_colors = [Fore.RED, Fore.YELLOW, Fore.GREEN, Fore.CYAN, Fore.BLUE, Fore.MAGENTA]
|
||
rainbow_text = ""
|
||
for i, char in enumerate(text):
|
||
rainbow_text += rainbow_colors[i % len(rainbow_colors)] + char
|
||
print(rainbow_text)
|
||
'''彩蛋'''
|
||
|
||
# 首先加载基础环境变量
|
||
if os.path.exists(".env"):
|
||
load_dotenv(".env")
|
||
logger.success("成功加载基础环境变量配置")
|
||
else:
|
||
logger.error("基础环境变量配置文件 .env 不存在")
|
||
exit(1)
|
||
# 根据 ENVIRONMENT 加载对应的环境配置
|
||
env = os.getenv("ENVIRONMENT")
|
||
env_file = f".env.{env}"
|
||
|
||
if env_file == ".env.dev" and os.path.exists(env_file):
|
||
logger.success("加载开发环境变量配置")
|
||
load_dotenv(env_file, override=True) # override=True 允许覆盖已存在的环境变量
|
||
elif env_file == ".env.prod" and os.path.exists(env_file):
|
||
logger.success("加载环境变量配置")
|
||
load_dotenv(env_file, override=True) # override=True 允许覆盖已存在的环境变量
|
||
else:
|
||
logger.error(f"{env}对应的环境配置文件{env_file}不存在,请修改.env文件中的ENVIRONMENT变量为 prod.")
|
||
exit(1)
|
||
|
||
nonebot.init(
|
||
# 从环境变量中读取配置
|
||
websocket_port=os.getenv("PORT", 8080),
|
||
host=os.getenv("HOST", "127.0.0.1"),
|
||
log_level="INFO",
|
||
# 添加自定义配置
|
||
mongodb_host=os.getenv("MONGODB_HOST", "127.0.0.1"),
|
||
mongodb_port=os.getenv("MONGODB_PORT", 27017),
|
||
database_name=os.getenv("DATABASE_NAME", "MegBot"),
|
||
mongodb_username=os.getenv("MONGODB_USERNAME", ""),
|
||
mongodb_password=os.getenv("MONGODB_PASSWORD", ""),
|
||
mongodb_auth_source=os.getenv("MONGODB_AUTH_SOURCE", ""),
|
||
# API相关配置
|
||
chat_any_where_key=os.getenv("CHAT_ANY_WHERE_KEY", ""),
|
||
siliconflow_key=os.getenv("SILICONFLOW_KEY", ""),
|
||
chat_any_where_base_url=os.getenv("CHAT_ANY_WHERE_BASE_URL", "https://api.chatanywhere.tech/v1"),
|
||
siliconflow_base_url=os.getenv("SILICONFLOW_BASE_URL", "https://api.siliconflow.cn/v1/"),
|
||
deep_seek_key=os.getenv("DEEP_SEEK_KEY", ""),
|
||
deep_seek_base_url=os.getenv("DEEP_SEEK_BASE_URL", "https://api.deepseek.com/v1"),
|
||
# 插件配置
|
||
plugins=os.getenv("PLUGINS", ["src2.plugins.chat"])
|
||
)
|
||
|
||
# 注册适配器
|
||
driver = nonebot.get_driver()
|
||
driver.register_adapter(Adapter)
|
||
|
||
# 加载插件
|
||
nonebot.load_plugins("src/plugins")
|
||
|
||
if __name__ == "__main__":
|
||
nonebot.run() |