加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
main.py 2.07 KB
一键复制 编辑 原始数据 按行查看 历史
21Hertz 提交于 2024-12-12 22:20 . [pro] 使用pty启动子进程
from src.utils.method import Method
from src.terminal.process import ExeControl
from src.bot.robot import Robot
from src.conf.conf_manager import ConfManager
from src.logger import Logger
from src.timer import Timer
from src.network.server import Server
class MyCli:
def __init__(self):
Method.ensure_utf8()
self.print_motd()
self.conf = ConfManager()
self.logger = Logger(self.conf)
self.timer = Timer(self.conf, self.logger)
self.dls = ExeControl(self.conf, self.logger)
self.bot = Robot(self.conf, self.logger, self.dls)
self.server = Server(self.conf, self.logger, self.dls, self.bot)
self.start()
def do_event_loop(self) -> None:
"""命令行的支持"""
while True:
command = input()
if command == "stop":
self.stop()
break
elif command == "dlsload":
self.reload()
elif command == "start":
self.dls.exe_start()
elif command == "restart":
self.dls.exe_restart()
elif command == "startBak":
self.dls.bak_world()
else:
self.dls.execute_cmd(command)
def start(self) -> None:
"""启动所有模块"""
self.logger.start()
self.timer.start()
self.dls.start_all()
self.bot.start()
self.server.start()
def stop(self) -> None:
"""关闭所有模块"""
self.dls.stop_all()
self.bot.stop()
def reload(self) -> None:
"""重载所有模块配置"""
self.conf.reload()
self.bot.reload()
@staticmethod
def print_motd() -> None:
"""打印欢迎信息"""
print("[DLS] 当前程序版本『ws1.9.41』")
print("[DLS] 使用说明参考https://gitee.com/dlcn/dlscq/wikis")
print("[DLS] 如有问题与建议可加群531241108反馈")
print("[DLS] 使用dlsload重新加载配置, start单独启动服务器")
if __name__ == '__main__':
cli = MyCli()
cli.do_event_loop()
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化