在树莓派上部署 Telegram Bot

FINCTIVE 2020-11

对于本地运行的后端业余项目,也许最好的前端是 Telegram Bot。

为什么用树莓派?

树莓派作为开发者们最喜欢的小型吸尘器,自然而然成为了本地应用部署的最佳设备。在本地部署,你可以很方便地移动大体积文件(比如下载的视频)。而且,正在阅读本文的你可能正好有一个闲置很久的树莓派。

为什么用 Telegram Bot?

  1. Telegram Bot有非常多方便的特性 ,比如按钮、自定义键盘(下图)。

bot

  1. Telegram 官方提供了非常丰富的 Web API,开发者不需要一个公网IP来运行 bot 程序。对,你可以在手机上像遥控器一样控制树莓派上运行的程序 🍜
  2. 有一个非常酷炫的 Go 框架 Telebot ,能让开发者火速上手 Telegram Bot 开发。(基本上你只需要把示例代码复制粘贴过来,然后写一些回调函数就好了。)

最近我开发的一些小玩具,全都使用了 Telegram Bot + 树莓派的方式运行。目前我的树莓派上有4个正在运行的 bot,灵感清单里还有4个没有开工,我发现了这些 “Side Projects” 的共通点:

  • 程序体量小,大多数都在 1000 行代码以内。开发时不用过度考虑耦合问题,可以放心使用全局变量。
  • 终端连接树莓派麻烦,而直接在 Telegram 看消息很方便。有时候我会通过 Telegram Bot 发送终端的 Log 信息。
  • 使用 YAML 格式的配置文件,修改编写很方便。
  • 在树莓派上运行的程序,需要做到开机自动启动、错误后自动重启。在这里我使用 systemd 的方案进行管理。
  • 调用外部命令,需要查看终端实时输出。

于是,我做了一个模板仓库!FINCTIVE/telebot-pi-template

如果你也想开发符合上述特征的小项目,打开链接,点击 “Use this template” 就可以开始了。当前该项目仍有缺陷,欢迎 PR。