From f0593996a1542a1fda9f31081292e057a7599e14 Mon Sep 17 00:00:00 2001 From: thsrite Date: Fri, 20 Oct 2023 12:37:35 +0800 Subject: [PATCH] =?UTF-8?q?fix=20cf=E4=BC=98=E9=80=89=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E4=BA=A4=E4=BA=92=E5=91=BD=E4=BB=A4=E6=89=A7=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/plugins/cloudflarespeedtest/__init__.py | 29 ++++++++++++++------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/app/plugins/cloudflarespeedtest/__init__.py b/app/plugins/cloudflarespeedtest/__init__.py index 32c64a45..140a1c71 100644 --- a/app/plugins/cloudflarespeedtest/__init__.py +++ b/app/plugins/cloudflarespeedtest/__init__.py @@ -14,7 +14,7 @@ from python_hosts import Hosts, HostsEntry from requests import Response from app.core.config import settings -from app.core.event import eventmanager +from app.core.event import eventmanager, Event from app.log import logger from app.plugins import _PluginBase from app.schemas.types import EventType, NotificationType @@ -110,7 +110,8 @@ class CloudflareSpeedTest(_PluginBase): self._scheduler.print_jobs() self._scheduler.start() - def __cloudflareSpeedTest(self): + @eventmanager.register(EventType.CloudFlareSpeedTest) + def __cloudflareSpeedTest(self, event: Event = None): """ CloudflareSpeedTest优选 """ @@ -130,6 +131,12 @@ class CloudflareSpeedTest(_PluginBase): logger.error("CloudflareSpeedTest加载成功,首次运行,需要配置优选ip") return + if event and event.event_data: + logger.info("收到命令,开始Cloudflare IP优选 ...") + self.post_message(channel=event.event_data.get("channel"), + title="开始Cloudflare IP优选 ...", + userid=event.event_data.get("user")) + # ipv4和ipv6必须其一 if not self._ipv4 and not self._ipv6: self._ipv4 = True @@ -470,7 +477,16 @@ class CloudflareSpeedTest(_PluginBase): @staticmethod def get_command() -> List[Dict[str, Any]]: - pass + """ + 定义远程控制命令 + :return: 命令关键字、事件、描述、附带数据 + """ + return [{ + "cmd": "/cloudflare_speedtest", + "event": EventType.CloudFlareSpeedTest, + "desc": "Cloudflare IP优选", + "data": {} + }] def get_api(self) -> List[Dict[str, Any]]: pass @@ -759,10 +775,3 @@ class CloudflareSpeedTest(_PluginBase): self._scheduler = None except Exception as e: logger.error("退出插件失败:%s" % str(e)) - - @eventmanager.register(EventType.CloudFlareSpeedTest) - def auto_cloudflare_speedtest(self, event): - """ - 触发Cloudflare IP优选 - """ - self.__cloudflareSpeedTest()