FullTClash开发文档

本文为FullTClash的开发者文档,基于3.5.1-dev (034837a)版本进行编写,与目前版本可能有出入

说明&免责声明

本文不是FullTClash的流媒体检测开发文档,而更倾向于FullTClash本体的开发,本文不会对函数、变量等做过多说明。

本文作者不持有FullTClash大部分源码版权,本文作者亦无对使用或阅读本文进行操作导致结果负责的义务,使用此文档为读者个人行为。作者对一切使用本文档导致的、阅读此文档导致的一切后果不承担任何责任,同时本文作者禁止一切对本文越权的行为,并不支持任何使用本文内容进行破坏的行为。如不同意,请勿继续阅读本文,使用或阅读本文即代表您同意以上内容。

变量

__version__:为FullTClash的版本号,在FullTclash\libs\export.py中,会影响/version命令。

custom_source:用于确定绘图的emoji样式,在FullTclash\libs\export.py中。

group:有012三个值,分别对应全部用户、User组以上用户、Admin组用户,可用于功能的权限设定。

admin = init_bot.admin:为管理员变量,赋值有多种形式(多处),默认已经赋值,建议不要修改,作为只读变量使用。

task_num:任务数,建议在执行任务时对其+1以防止任务冲突。

password:订阅密码。

latest_version_hash:远程哈希值。

USER_TARGET = config.getuser() :用户列表,已赋值,建议只读。

函数

logger.info():输出一般日志。

logger.warning():输出警告日志。

logger.error():输出警告日志。


@app.on_message():通常用作命令识别中,通常会导入filters.command()group使用。

filters.command():可以为字典,确定命令为何时开始执行功能,用于功能函数中。


testurl(_, message: Message, **kwargs):从订阅链接测试流媒体解锁。

test(_, message: Message, **kwargs):从已有订阅测试流媒体解锁。

analyzeurl(_, message: Message, test_type="all", **kwargs):从订阅链接进行拓扑测试。

analyze(_, message: Message, test_type="all"):从已有订阅进行拓扑测试。

speedurl(_, message: Message, **kwargs):从订阅链接进行测速。

speed(_, message: Message):从已有订阅进行测速。


domain_to_ip(host: str):域名转IP。

batch_domain2ip(host: list):批量转换域名到IP。


geturl(string: str):获取订阅链接。

getSubInfo(_, message):获取订阅信息。

getsub_async(url: str, username: str, pwd: str, proxy=None):通过邮箱获取订阅,目前仅支持无邮箱验证的v2board。

get_airport_info(text: str = None):获取机场信息

get(self, key, _default=None):获取信息。

get_org(self):获取组织信息。

get_ip(self):获取IP信息。

get_country_code(self):获取国家代码。

get_city(self):获取城市。

get_asn(self):获取ASN信息。


class ExportResult:注意,这是类,放在此为了以下绘图内容的浏览方便,为实现通用的绘图。

class ExportTopo(ExportResult):注意,这是类,放在此为了以下绘图内容的浏览方便,为实现拓扑的绘图。

class ExportSpeed(ExportResult):注意,这是类,放在此为了以下绘图内容的浏览方便,为实现测速的绘图。

key_value(self):得到测试项大小

interval(self):去重排序。

colorvalue(self):绘图选色。

exportImage(self):输出绘图。

建议翻阅lib\export.py以更充分的了解绘图的开发


bot_task_queue(client: Client, message, task_type: str, qu: asyncio.Queue, **kwargs):任务队列函数。

dynamic_data_filter(data):过滤器函数。

my_filter(queue):废弃的函数,与过滤器可能有关。

init_button():按钮,可参阅流媒体脚本中的写法使用。

check_init():检测是否为第一次运行。

debug_interface(_, message):开发工具,被用在/map指令上。

reloadUser():重载User列表。

作者

Kuroshima Cat

发布于

2023-02-21

更新于

2023-02-21

许可协议

评论