发布于 

自建TelegramBot

之前一直用server酱配合微信实现消息推送,但是最近微信开始收紧,后期有无法使用的可能。于是在找替代品,常见的就是自建了,比如iOS平台使用bark,安卓上的gotify,更小众的有小米用自带的mipush等。但是用起来都需要自建服务,或者面临复杂的编写环境。一个合适的替代品是telegram bot,支持多种语言,既操作简便又功能众多尤其是在python平台上,如果只想达到类似server酱的功能,那直接post即可。
以下使用python3环境为例,保姆级教程,从bot的申请到python脚本的systemctl配置都有。

以下使用python3环境为例,保姆级教程,从bot的申请到python脚本的systemctl配置都有。

申请telegram bot

  1. 打开bot的生成链接 https://t.me/botfather (生成bot的地方叫bot之父而不是之母,可能预示了设计者是个俄罗斯人)。
  2. 点击 /newbot - create a new bot 生成新一个的bot,系统会让你给它取一个名字,这里可以随便输入,反正方便记就可以了。
  3. 系统会再次让你取一个名字并输入,现在的名字必须以bot结尾,不可以和其他任何bot重名。这一步的名字类似于身份证号码,而前一布的名字类似于身份证上面的名字。身份证上的名字可以重复,但是身份证号码不允许重复。
  4. 一旦你输入的bot名字可用,系统会生成一个token给你,类似于1689581149:AAGYVVjEHsaNjsnT8eQpWyshwr2o4PqU7u8,请务必保存好此token并且不泄露,这是唯一的用户凭证。
  5. 此时,你拥有了一个bot,但是还无法使用,因为你知道它,它不知道你。这时候打开 https://t.me/iamthebot 这个链接,注意iamthebot为你刚才新建的bot的名字!点击/start进入对话框,发送@userinfobot后并点击它。userinfobot的对话中,点击或者输入/start,你将获取一个Id/chat_id,具体表现为一串数字,比如387980691。

至此,电报的机器人已经申请完成,你获得了机器人的bot名字,一个token,还有一个chat_id

python3程序实现消息推送

  1. 电报机器人的功能众多,所以配置起来很复杂,好在我们只需要使用消息推送,所以选择使用python3和pyTelegramBotAPI来实现,程序写起来会很简单。
  2. 安装pyTelegramBotAPI方式为pip3 install pyTelegramBotAPI,如果提示没有pip或者pip3,请自行安装,每个linux系统可能都会有少许的差异,具体请百度/谷歌/必应/问别人都行,反正装上去就行了。
  3. 实例程序如下,其中TOKEN为你申请得到的token,tb.send_message中的数字为从userinfobot那里拿到的ID/chat_id,text为想要推送的消息。
    1
    2
    3
    4
    5
    6
    import telebot

    TOKEN = '1689581149:AAGYVVjEHsaNjsnT8eQpWyshwr2o4PqU7u8'
    tb = telebot.TeleBot(TOKEN)
    text = "I am the first telegram bot notification"
    tb.send_message(387980691, text)
    至此,运行这个python3程序,一个简单的消息推送已经实现了,你会在和这个机器人的对话框中收到机器人发送给你的消息。

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。

本站由 @YuRuiH 创建,使用 Stellar 作为主题。