什么是telegram与telegram机器人
Telegram是一款俄罗斯的社交软件,因其安全性而出名,在全球范围内有大量用户,同时它允许用户创建并编辑机器人实现某些自动化操作,您可以在tg中创建一个机器人,获取他的token,然后在自己电脑上编写后端代码对接这个机器人,以后您可以直接在tg中与这个机器人通过对话调用您编写好的功能,例如搜索并下载音乐等等
获取一个机器人
在tg中想要申请一个机器人十分简单,您只需要在搜索框搜索用户:@botfather,这是tg开发者创建的一个官方bot,用于给用户申请创建机器人
打开与botfather的对话界面,输入/newbot命令让botfather给你创建一个机器人,botfather会告诉你创建成功并依次让你设置机器人的昵称与账号
设置完毕之后我们的机器人就出生成功了,我们可以通过在搜索框搜索@设置的机器人账号来找到他,同时botfather还返回给我们一个令牌(token):8114142834:AAFXF2aqL9oCjH3_Xbv_6lsrTHl99dkmpxE,这个令牌非常重要只有开发者才能知道,只要有了他就可以编写代码与机器人对接设置他的行为
目前我们的机器人还只是一个白板,与他对话他并不会理睬我们,我们需要编写后端代码来设置他的行为,这里我们使用python并利用python已经为我们封装好的telegram机器人库pyTelegramBotAPI库来轻松的编写后端
首先通过pip安装这个库
pip install pyTelegramBotAPI
在自己电脑中创建一个python文件,写入如下代码再运行便对接好了您的机器人
import telebot
BOT_TOKEN = '您的机器人的token'
bot = telebot.TeleBot(BOT_TOKEN)
接下来让我们利用pytelegrambotapi自带的几个装饰器来实现对相应的用户消息做出回应
import telebot
from telebot import types
BOT_TOKEN = '8114142834:AAFXF2aqL9oCjH3_Xbv_6lsrTHl99dkmpxE'
bot = telebot.TeleBot(BOT_TOKEN)
# 处理指定命令,在这里当用户输入‘/开始’则触发send_welcome函数发送指定消息
@bot.message_handler(commands=['开始'])
def send_welcome(message):
bot.send_message(message.chat.id, "机器人已经启动啦")
# 当用户发送‘/查看菜单’则发送带按钮的消息
@bot.message_handler(commands=['查看菜单'])
def show_menu(message):
markup = types.InlineKeyboardMarkup()
btn1 = types.InlineKeyboardButton("获取信息",callback_data="info")
btn2 = types.InlineKeyboardButton("访问网站",url="https://www.bilibili.com")
markup.add(btn1,btn2)
bot.send_message(message.chat.id,"请选择操作",reply_markup=markup)
# 处理指定类型的消息
@bot.message_handler(content_types=["text"])
def text_handler(message):
bot.send_message(message.chat.id, f'你刚刚说的是{message.text}')
# 设置btn1的回调函数
@bot.callback_query_handler(func=lambda call: True)
def callback_handler(call):
if call.data == "info":
bot.answer_callback_query(call.id,"这是一个测试机器人")
bot.edit_message_text("你选择了‘获取信息’",call.message.chat.id,call.message.message_id)
bot.infinity_polling()
运行代码后在tg中发送命令即可获得相应回应






暂无评论