大部分翻译自https://jmendeth.com/blog/telegram-shell-bot/ 有删改。
如果你经常使用 Telegram,你可能已经听说过机器人。它们就像普通账户一样,你可以和它们聊天或者把它们加入到群组中,它们会为你做各种有用的事情。
在这篇文章中,我向你介绍 shell 机器人!与其他机器人不同,这个是自托管的:你通过在自己的服务器上运行机器人的实例来使用它。
这个方便的机器人可以按需运行命令并发送实时输出,允许你随时进行交互。它甚至可以运行图形应用程序!
shell-bot运行一些简单的命令。※
它最初是作为 botgram
框架的一个示例而制作的,但我已经使用它一段时间了,它非常有用。在手机上,当你只想发出一些命令时,与机器人交谈可能比打开 SSH 应用并连接到服务器更方便。
它还有创造性的用途:我曾经和一些朋友一起解决服务器问题,所以我们把机器人添加到了群组中并开始尝试。每个人都能看到发生了什么,并提出可能的原因或要尝试的事情。
如果你想拥有自己的 shell 机器人,这篇文章将指导你创建 Telegram 机器人本身,并安装必要的软件。
创建你的机器人※
首先,你需要注册一个 Telegram 机器人。别担心,只需要几秒钟。点击这里与 BotFather
对话,然后输入 /newbot
,然后你会被问一些东西(名称、用户名等)。最后,你会得到一个看起来像下面这样的认证令牌:
123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11
准备工作※
以下操作应该在你想要运行命令的计算机上完成。首先确保你已经安装了 Node.JS
(你可以通过运行 npm -v
来验证)。你还需要一个可用的编译器和 git:
# debian系系统
sudo apt-get install build-essential git
# Arch系系统
sudo pacman -S base-devel npm
# redhat系 我不怎么用,没验证。
克隆项目并安装依赖:
git clone https://github.com/botgram/shell-bot.git
cd shell-bot
npm install
然后首次运行机器人,以创建配置文件:
node server
它会询问你一系列问题,包括从 BotFather
那里得到的认证令牌,并要求你与你的机器人交谈(这样它就知道谁是它的所有者)。
运行它!
现在我们已经准备好了一切,我们可以运行 shell 机器人了:
node server
尝试输入 /run uname -a
作为例子,或者输入 /help 来了解可用的命令。
自动启动※
一旦你玩得差不多了,你可能希望机器人在启动时自动启动,并在崩溃时重新启动。为此,让我们安装 forever:
sudo npm install -g forever
然后,在你的 /etc/rc.local
或一个 init
脚本中,调用:
forever start /path/to/shell-bot/server.js
另外,与 BotFather
对话并输入 /setcommands
来定义你的机器人接受的命令列表是一个好主意。你会在 commands.txt
中找到这个列表;只需在要求时粘贴其中的内容。你可能还想更改机器人的个人资料照片和描述。
你觉得这个机器人有用吗?有什么建议吗?欢迎在评论中告诉我!