按钮¶
按钮是 Telegram 菜单中可点击的项目。按钮带有 name,点击后会在服务器上
运行函数,并将结果发回聊天。
按钮和分类共同组成菜单树,位于
配置文件的顶级 menu 键下。按钮负责执行操作;
分类只负责打开子菜单。
按钮是什么样的¶
按钮显示在消息框下方的键盘上,默认情况下每行两个。 您选择的名称就是按键上的文字,因此应保持简短,方便在手机上阅读。 详见菜单 → Telegram 菜单的外观。
按钮的组成部分¶
每行控制按钮的一部分
- name: Restart nginx # (1)!
type: button # (2)!
icon: "🔄" # (3)!
function: command # (4)!
command: "systemctl restart nginx" # (5)!
confirm: true # (6)!
- Telegram 按键上显示的文字。在同一菜单的相邻节点中必须唯一。
- 此处始终为
button。当您需要子菜单时,请使用category。 - 名称前显示的可选表情符号。它仅用于装饰,不会改变运行内容。
- 要使用的函数。
command是运行 shell 命令的内置函数。 command函数运行什么。您可以在终端中输入的任何内容 在这里工作。- 可选。运行前询问“确定吗?”。仅用于读取信息的操作可省略。
点击它时会发生什么¶
- 机器人会发布一条简短的 正在运行 行,以便您知道它已开始。
- 该命令在运行机器人的计算机上运行。
- 输出以代码块形式返回,并包含退出代码和耗时。较短的输出会留在聊天中,
以一条或多条消息送达;较长的输出可以作为
.txt文件到达 (参见长结果作为文件)。 - 您仍停留在原来的菜单中,因此返回仍会离开当前分类。
常用按钮¶
图标¶
icon 在名字前面放置一个表情符号。它纯粹是装饰性的,所以你可以
随时更改或删除它,而无需触摸按钮运行的内容。
图标仅更改标签
在有风险的按钮之前询问¶
添加 confirm: true,机器人首先询问“是”或“取消”。用它来做任何事
停止服务、删除数据或重新启动计算机。提示已过期
一段时间后(默认五分钟)。
请阅读确认,了解何时需要确认以及如何 更改等待时间。
一键设置¶
大多数全局设置都可以在单个按钮上覆盖,这在以下情况下很方便 一项工作的行为与其他工作不同:
覆盖一项慢速作业的设置
timeout 给这个命令更长的时间来完成,workdir 选择
它运行的目录,env 专门为其添加了环境变量。
长结果作为文件¶
按钮上不必写 output。省略时使用根级设置(除非您改过,否则是 auto):短结果仍是聊天消息,超过两条消息的结果会变成一个 .txt 文件。仅当该按钮应始终发文件或始终保持文本时才在按钮上写 output。max_output_messages 不能写在按钮上。
对总是输出很多的按钮(例如日志)设置 output: file,
或用 output: text 仅在该按钮上保留旧的拆分消息行为。
根键 output 与 max_output_messages 见
配置 → 您看到多少命令输出。
控制输出逐一讲解根级与按钮的每一种组合,并各配一个
示例。
函数的值¶
直接在按钮上填写函数值。command、path 和 args
是具有这些名称的参数的快捷方式字段。自定义名称,例如
url、host、unit 和 lines 的工作方式相同。
传递自定义值
不要将这些值放入 params: 中。每个键必须匹配一个参数
由所选函数声明。 validate 报告
未知名称、缺少所需值以及无效的 int 或 bool 值。
配置¶
对于按钮接受的每个字段,请参阅 配置→菜单。