一、前期准备:环境与工具
1. 注册Telegram Bot
首先,你需要通过@BotFather在Telegram中创建一个新的Bot,并记录下它提供的Access Token。这个Token是你与Bot通信的钥匙。
2. 安装Python环境
TG机器人开发常使用Python语言,因为它简洁且拥有丰富的库支持。安装Python并配置好环境变量后,你可以通过pip安装python-telegram-bot库:
bash复制代码
pip install python-telegram-bot |
二、编写机器人源码
1. 初始化Bot
创建一个新的Python文件,如tg_bot.py,并编写以下代码来初始化你的Bot:
python复制代码
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters | |
def start(update, context): | |
update.message.reply_text(‘Hello! Welcome to my TG Bot.’) | |
def main(): | |
updater = Updater(“YOUR_BOT_TOKEN_HERE”, use_context=True) | |
dp = updater.dispatcher | |
dp.add_handler(CommandHandler(‘start’, start)) | |
updater.start_polling() | |
updater.idle() | |
if __name__ == ‘__main__’: | |
main() |
将”YOUR_BOT_TOKEN_HERE”替换为你从BotFather处获取的Token。
2. 扩展功能
为了让Bot更加智能,你可以添加更多功能,如回复特定消息、处理图片、定时发送消息等。以下是一个简单的消息回显功能:
python复制代码
def echo(update, context): | |
update.message.reply_text(f’You said: {update.message.text}’) | |
dp.add_handler(MessageHandler(Filters.text, echo)) |
3. 自定义命令与复杂逻辑
随着需求的增加,你可能需要编写更复杂的逻辑和自定义命令。例如,实现一个查询天气的功能,你可能需要集成外部API:
python复制代码
import requests | |
def weather(update, context): | |
city = update.message.text.split()[1] if len(update.message.text.split()) > 1 else ‘Beijing’ | |
url = f”http://api.openweathermap.org/data/2.5/weather?q={city}&appid=YOUR_API_KEY&units=metric” | |
response = requests.get(url) | |
data = response.json() | |
context.bot.send_message(chat_id=update.message.chat_id, text=f”Weather in {city}: {data[‘main’][‘temp’]}°C”) | |
dp.add_handler(CommandHandler(‘weather’, weather)) |
请确保替换”YOUR_API_KEY”为有效的OpenWeatherMap API密钥。
三、部署与测试
1. 本地测试
在本地机器上运行tg_bot.py,通过Telegram向你的Bot发送消息,测试各项功能是否正常。
2. 部署到服务器
为了让Bot 24小时运行,你需要将其部署到服务器上。上传tg_bot.py到服务器,并确保Python环境已安装所有必要的库。使用如screen、tmux等工具来确保Bot在后台运行。
3. 监控与维护
部署后,定期检查Bot的日志,确保没有错误发生。同时,根据用户反馈不断优化和更新Bot的功能。