它是一款非常重视用户隐私的优秀聊天软件,对所有聊天信息进行加密并永久保存。它还提供各种各样的群组和机器人。机器人是由程序操作的账户,可以回复我们发送的消息,并提供定时消息推送功能,例如推送新闻、天气预报、提醒等。
为了让开发者能够参与到机器人的开发中来,官方还免费提供了功能齐全的API,我们可以利用它创建自己的机器人,下面就来介绍如何创建和部署机器人程序。
准备
它支持多种语言编写机器人,应用比较广泛,而且有比较成熟的第三方库-bot供大家选择,所以建议大家花点时间学习一下,掌握基本的开发方法和语法后就可以上手了,然后慢慢解决开发过程中遇到的问题。
建议用它作为 IDE 来写程序,这样不仅在写代码时提供了语法高亮和自动提示,还可以更方便的添加第三方库和包管理器,默认的包管理器是 pip,我们可以改成 pip,它会自动帮你管理虚拟环境和依赖文件。
以下是该语法的一些特殊之处:
创建机器人
在应用中,你可以通过与@对话来创建自己的机器人,按照提示操作即可。需要注意的是,每个机器人都会有对应的一个,机器人的所有信息交互都会用到它,所以要妥善保管,不要泄露,防止别人用你的机器人做事。创建机器人后,你可以在浏览器中通过链接 / 查看机器人信息,将能够看到以下反馈信息。
{ "ok": true, "result": { "id": 985878205, "is_bot": true, "first_name": "万达电影 iOS 团队", "username": "WandaFilm_Bot" } }
很多功能可以通过对话来实现,具体见下图

例如
以下简单示例将使机器人能够响应 / 和 /help 命令,并在收到聊天消息时进行回复。需要注意的是,如果您需要 VPN 才能使用,则需要将 VPN 软件中的代理设置写入机器人程序中的代码中。
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters def start(update, context): update.message.reply_text('Hi!') def help(update, context): update.message.reply_text('Help!') def echo(update, context): update.message.reply_text(update.message.text) def error(update, context): logger.warning('Update "%s" caused error "%s"', update, context.error) if __name__ == '__main__': updater = Updater('', use_context=True, request_kwargs={ 'proxy_url': 'socks5://127.0.0.1:1086/' }) dispatcher = updater.dispatcher dispatcher.add_handler(CommandHandler("start", start)) dispatcher.add_handler(CommandHandler("help", help)) dispatcher.add_handler(MessageHandler(Filters.text, echo)) dispatcher.add_error_handler(error) updater.start_polling() updater.idle()
如果你想知道机器人可以做什么,可以参考--bot官方的API,提供的文档和Wiki,最后发挥你的想象力。
部署
目前机器人支持两种获取用户消息的方式
下面就用最简单的方式来介绍一下如何把我们的机器人程序部署到云平台提供的回调地址上。
注册一个账号并创建一个项目,然后进行以下设置
完整示例可以在以下位置找到: