模板指南

模板指南 #

本指南将介绍可用于 tdl 模板中的变量和函数。

模板语法基于Go text/template

下载 #

变量 (Beta) #

变量 描述
DialogID Telegram 对话ID
MessageID Telegram 消息ID
MessageDate Telegram 消息日期(时间戳)
FileName Telegram 文件名
FileCaption Telegram 文件说明,也就是文本消息
FileSize 可读的文件大小,例如 1GB
DownloadDate 下载日期(时间戳)

函数 (Beta) #

函数 描述 用法 示例
repeat 重复 STRING N repeat STRING N {{ repeat "test" 3 }}
replace STRING 执行 PAIRS 替换 replace STRING PAIRS... {{ replace "Test" "t" "T" "e" "E" }}
upper STRING 转换为大写 upper STRING {{ upper "Test" }}
lower STRING 转换为小写 lower STRING {{ lower "Test" }}
snakecase STRING 转换为 snake_case snakecase STRING {{ snakecase "Test" }}
camelcase STRING 转换为 camelCase camelcase STRING {{ camelcase "Test" }}
kebabcase STRING 转换为 kebab-case kebabcase STRING {{ kebabcase "Test" }}
rand 在范围 MINMAX 生成随机数 rand MIN MAX {{ rand 1 10 }}
now 获取当前时间戳 now {{ now }}
formatDate 格式化 TIMESTAMP 时间戳
(默认格式: 20060102150405)
formatDate TIMESTAMP
formatDate TIMESTAMP "format"
{{ formatDate 1600000000 }}
{{ formatDate 1600000000 "2006-01-02-15-04-05"}}
filenamify 尽可能将 STRING 转换为合法文件名,可选 MaxLength 限制字符串长度避免文件系统限制 filenamify STRING MaxLength {{ filenamify .FileName 32 }}

示例: #

{{ .DialogID }}_{{ .MessageID }}_{{ replace .FileCaption `/` `_` `\` `_` `:` `_` }}

{{ .FileName }}_{{ formatDate .DownloadDate }}_{{ .FileSize }}

{{ .FileName }}_{{ formatDate .DownloadDate "2006-01-02-15-04-05"}}_{{ .FileSize }}

{{ lower (replace .FileName ` ` `_`) }}

{{ formatDate (now) }}

默认: #

{{ .DialogID }}_{{ .MessageID }}_{{ filenamify .FileName }}