📜  使用Python创建一个 Telegram Bot(1)

📅  最后修改于: 2023-12-03 15:06:53.251000             🧑  作者: Mango

使用Python创建一个 Telegram Bot

Telegram是一款流行的即时通讯软件,支持创建自己的机器人(Bot),可实现自动回复消息、获取信息等功能。本文将介绍如何使用Python创建一个Telegram Bot,并实现简单的自动回复功能。

步骤一:创建Telegram Bot

在Telegram中,我们可以通过向 @BotFather 发送消息来创建一个Bot并获取Token。具体步骤如下:

  1. 在Telegram中搜索@BotFather,发送/start,开始创建Bot。

  2. 发送/newbot,输入Bot名称和用户名,分别以英文字母命名。

  3. @BotFather会回复提示信息,其中包含Bot的Token,保存好Token,待会儿会用到。

步骤二:安装Python库

使用Python创建Telegram Bot,需要安装Python-telegram-bot库。可以使用pip安装,运行以下命令:

pip install python-telegram-bot
步骤三:编写Python代码

下面是一个简单的Python代码示例,实现了Bot的自动回复功能:

import telegram
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters

# 读取Bot的Token
TOKEN = 'YOUR_TOKEN_HERE'

# 定义处理/start命令的函数
def start(bot, update):
    bot.send_message(chat_id=update.message.chat_id,
                     text='Hello, I am a Telegram Bot!')

# 定义处理文本消息的函数
def reply_text(bot, update):
    bot.send_message(chat_id=update.message.chat_id,
                     text='You said: ' + update.message.text)

# 创建Updater和Dispatcher对象
updater = Updater(token=TOKEN)
dispatcher = updater.dispatcher

# 添加处理/start命令的handler
start_handler = CommandHandler('start', start)
dispatcher.add_handler(start_handler)

# 添加处理文本消息的handler
text_handler = MessageHandler(Filters.text, reply_text)
dispatcher.add_handler(text_handler)

# 启动Bot
updater.start_polling()

代码说明:

  1. 使用 python-telegram-bot 库中的 Updater 和 Dispatcher 对象,创建了一个Bot实例。

  2. 声明了两个函数 start() 和 reply_text(),用于处理收到的消息。

  3. 添加处理/start命令的handler,以及处理文本消息的handler,其中MessageHandler 的Filters.text表示处理纯文本消息。

  4. 启动Bot,开始运行。

步骤四:运行Python程序

保存以上代码到一个Python文件(如 bot.py),在终端中运行以下命令:

python bot.py

Bot将开始运行,并通过Telegram接收用户消息,然后进行自动回复。

总结

本文介绍了如何使用Python创建一个Telegram Bot,并实现简单的自动回复功能。通过Telegram Bot,我们可以实现很多有趣的功能,如自动推送新闻、天气预报等,希望您可以继续探索。