文章链接
编号 | 分类 | 文章及链接 | 介绍 | 作者 | 来源分类 | 撰写日期 | 收录日期 |
---|---|---|---|---|---|---|---|
F1 | 框架 | python版telegram接入开源bot | python-telegram-bot | Github | 2023-04-24 |
申明:本文仅作试验研究用,不对参考本文操作产生的各种结果承担任何责任。
Q&A
使用Telegram的API需要交费吗?
使用Telegram的API令牌不需要付费,它是免费提供的。任何人都可以通过创建一个Telegram账户和使用BotFather创建一个Bot来获取一个API令牌,然后使用该令牌与Telegram服务器进行通信并创建自己的应用程序和机器人。然而,如果您的应用程序或机器人需要处理大量的消息或需要使用Telegram的高级功能,例如群组管理或频道管理,您可能需要购买Telegram的专业版服务,以获得更多的资源和功能支持。但是,大多数开发者使用Telegram的免费API令牌就可以完成大部分的开发任务。
Telegram的开发步骤
Telegram提供了API,使开发者能够使用各种编程语言与Telegram服务器进行通信并创建自己的应用程序和机器人。以下是Telegram开发的一般步骤:
-
创建一个Telegram账户并安装Telegram客户端。
-
创建一个Bot:使用Telegram的官方BotFather创建一个Bot,BotFather会分配一个API令牌,开发者可以使用该令牌与Bot进行通信。
-
选择开发语言和库:开发者可以选择使用任何编程语言和相关的库来与Telegram API进行交互,例如Python的python-telegram-bot库或Node.js的Telegraf库。
-
使用API与Bot进行交互:开发者可以使用API发送消息、接收消息、处理命令、处理回调等。例如,使用sendMessage方法向用户发送消息,或使用answerCallbackQuery方法回答回调查询。
-
部署应用程序或机器人:开发者可以选择将应用程序或机器人部署到自己的服务器上,或使用云托管服务,例如Heroku或AWS Lambda。
总之,Telegram的开发方式是通过API与Telegram服务器进行通信,并使用所选的编程语言和库来创建自己的应用程序和机器人。
上述回答来自ChatGPT
开发过程
1. 创建一个Telegram账户并安装Telegram客户端。
以下是创建一个Telegram账户并安装Telegram客户端的步骤:
-
打开Telegram官网(https://telegram.org/)并下载适用于您设备的Telegram客户端。Telegram客户端支持Windows、macOS、Linux、Android、iOS等多个操作系统,您可以根据您的设备类型选择适当的版本。
-
安装Telegram客户端并打开它。
-
在Telegram客户端中,您需要提供您的手机号码。Telegram会向您的手机号码发送一条确认短信,以验证您的身份。
-
输入您的姓名和个人资料信息。这些信息将用于您的Telegram账户。
-
创建您的用户名。用户名是唯一的,如果您的用户名已被使用,您将需要选择一个新的用户名。
-
现在您可以开始使用Telegram了。您可以搜索其他用户并开始与他们聊天,或加入与特定主题相关的频道和群组。
总之,创建一个Telegram账户并安装Telegram客户端非常简单,只需按照上述步骤操作即可。
2. 创建一个Bot
要创建一个Telegram Bot,请按照以下步骤操作:
-
在Telegram中搜索BotFather。BotFather是Telegram提供的一个官方Bot,您可以使用它来创建新的Bot。
-
启动BotFather,发送/start命令,BotFather会回复一条消息,列出一些可用的命令。
-
使用/newbot命令创建一个新的Bot。BotFather会要求您输入Bot名称和Bot用户名。
-
输入Bot名称和Bot用户名。Bot名称是Bot的显示名称,Bot用户名是唯一的,以“bot”结尾。
-
BotFather会分配一个API令牌,您需要妥善保管这个API令牌,因为它将用于与Bot进行通信。
-
现在您已经成功创建了一个Telegram Bot。您可以使用API令牌与Bot进行通信,并使用各种API方法来发送和接收消息、处理命令和回调等。
3. 选择开发语言和库
Telegram 支持多种编程语言进行二次开发,包括 Python、JavaScript、Java、Go、Ruby,还支持其他编程语言进行二次开发,例如:C++, Swift, PHP 等。
如果是Python,当然选择python-telegram-bot库。
4. 使用API与Bot进行交互
下面是python-telegram-bot 2023年正式上线的V20.x版的最简单例子。用户在频道中输入/start命令,会得到“I’m a bot, please talk to me!”的回复。注意需要修改’TOKEN’为第二步申请到的Token,是一串数字+一些列字符组成的字符串。具体参考Extensions Your first Bot。
import logging
from telegram import Update
from telegram.ext import ApplicationBuilder, ContextTypes, CommandHandler
# 设置日志输出
logging.basicConfig(
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
level=logging.INFO
)
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
await context.bot.send_message(chat_id=update.effective_chat.id, text="I'm a bot, please talk to me!")
if __name__ == '__main__':
application = ApplicationBuilder().token('TOKEN').build()
start_handler = CommandHandler('start', start)
application.add_handler(start_handler)
# 启动应答机器人
application.run_polling()
5. 部署应用程序或机器人
通过执行类似如下命令,即可快速启动你的第一个telegram机器人。
python mytelegrambot.py
如果需要打包后部署,建议使用Pyinstaller等打包工具。
彩蛋
- 如何向电报用户推送消息,参考From Python to Telegram: Build your own Notification System
- 如何向电报用户推送图片,参考How to send photo on telegram bot
注意事项:
国内用户注意不能直接访问电报API接口,需要搭梯子。