mirror of
https://github.com/langbot-app/LangBot.git
synced 2025-11-26 03:44:58 +08:00
38 lines
1.2 KiB
Python
38 lines
1.2 KiB
Python
from ..aamgr import AbstractCommandNode, Context
|
|
import threading
|
|
import traceback
|
|
|
|
|
|
@AbstractCommandNode.register(
|
|
parent=None,
|
|
name="update",
|
|
description="更新程序",
|
|
usage="!update",
|
|
aliases=[],
|
|
privilege=2
|
|
)
|
|
class UpdateCommand(AbstractCommandNode):
|
|
@classmethod
|
|
def process(cls, ctx: Context) -> tuple[bool, list]:
|
|
reply = []
|
|
import pkg.utils.updater
|
|
import pkg.utils.reloader
|
|
import pkg.utils.context
|
|
|
|
def update_task():
|
|
try:
|
|
if pkg.utils.updater.update_all():
|
|
pkg.utils.reloader.reload_all(notify=False)
|
|
pkg.utils.context.get_qqbot_manager().notify_admin("更新完成")
|
|
else:
|
|
pkg.utils.context.get_qqbot_manager().notify_admin("无新版本")
|
|
except Exception as e0:
|
|
traceback.print_exc()
|
|
pkg.utils.context.get_qqbot_manager().notify_admin("更新失败:{}".format(e0))
|
|
return
|
|
|
|
threading.Thread(target=update_task, daemon=True).start()
|
|
|
|
reply = ["[bot]正在更新,请耐心等待,请勿重复发起更新..."]
|
|
|
|
return True, reply |