mirror of
https://github.com/langbot-app/LangBot.git
synced 2025-11-25 11:29:39 +08:00
doc: 添加热重载相关注释
This commit is contained in:
@@ -32,6 +32,9 @@ openai_config = {
|
||||
},
|
||||
}
|
||||
|
||||
# 管理员QQ号,用于接收报错等通知,为0时不发送通知
|
||||
admin_qq = 0
|
||||
|
||||
# 情景预设(机器人人格)
|
||||
# 每个会话的预设信息,影响所有会话,无视指令重置
|
||||
# 可以通过这个字段指定某些情况的回复,可直接用自然语言描述指令
|
||||
@@ -40,9 +43,6 @@ openai_config = {
|
||||
# 可参考 https://github.com/PlexPt/awesome-chatgpt-prompts-zh
|
||||
default_prompt = "如果我之后想获取帮助,请你说“输入!help获取帮助”"
|
||||
|
||||
# 管理员QQ号,用于接收报错等通知,为0时不发送通知
|
||||
admin_qq = 0
|
||||
|
||||
# 群内响应规则
|
||||
# 符合此消息的群内消息即使不包含at机器人也会响应
|
||||
# 支持消息前缀匹配及正则表达式匹配
|
||||
|
||||
@@ -73,6 +73,9 @@ class QQBotManager:
|
||||
else:
|
||||
self.reply_filter = pkg.qqbot.filter.ReplyFilter([])
|
||||
|
||||
# 由于YiriMirai的bot对象是单例的,且shutdown方法暂时无法使用
|
||||
# 故只在第一次初始化时创建bot对象,重载之后使用原bot对象
|
||||
# 因此,bot的配置不支持热重载
|
||||
if first_time_init:
|
||||
self.first_time_init(mirai_http_api_config)
|
||||
else:
|
||||
@@ -94,6 +97,10 @@ class QQBotManager:
|
||||
go(self.on_group_message, (event,))
|
||||
|
||||
def unsubscribe_all():
|
||||
"""取消所有订阅
|
||||
|
||||
用于在热重载流程中卸载所有事件处理器
|
||||
"""
|
||||
assert isinstance(self.bot, Mirai)
|
||||
bus = self.bot.bus
|
||||
assert isinstance(bus, mirai.models.bus.ModelEventBus)
|
||||
|
||||
@@ -12,6 +12,7 @@ from main import log_colors_config
|
||||
|
||||
|
||||
def walk(module, prefix=''):
|
||||
"""遍历并重载所有模块"""
|
||||
for item in pkgutil.iter_modules(module.__path__):
|
||||
if item.ispkg:
|
||||
walk(__import__(module.__name__ + '.' + item.name, fromlist=['']), prefix + item.name + '.')
|
||||
@@ -29,6 +30,7 @@ def reload_all():
|
||||
import main
|
||||
main.stop()
|
||||
|
||||
# 重载所有模块
|
||||
context = pkg.utils.context.context
|
||||
walk(pkg)
|
||||
importlib.reload(__import__('config'))
|
||||
|
||||
@@ -2,6 +2,7 @@ import dulwich.porcelain
|
||||
|
||||
|
||||
def update_all():
|
||||
"""使用dulwich更新源码"""
|
||||
try:
|
||||
from dulwich import porcelain
|
||||
repo = porcelain.open_repo('.')
|
||||
|
||||
Reference in New Issue
Block a user