Telegram Bot的创建简单,API全面且免费,适合国际业务。
业务需求:最近需要将自动客户端的自动打包结果的二维码和下载地址推送到tg机器人群,需要了解。
目录:
(1).创建telegram机器人
(2).创建一个接受机器人消息的群组
(3).python向bot推送消息的demo
1.相关准备
2.测试demo
(1).创建telegram机器人
登录Telegram,并找到@BotFather。
点击START
选择/newbot
输入你要创建的bot机器人名称:必须tg全局唯一,且以bot结尾:
创建bot成功,你得到了机器人地址,和对应的访问token,然后变成给机器人发送消息。
这是一个测试用的bot:
token:5049056695:AAFfyxCap2I0SZazC0DJ7WPw5oBz9oZcl7A
username:@test1aJHcqb3iU_bot
可以在浏览器中使用url访问:t.me/test1aJHcqb3iU_bot
必须在bot点击start才能启用机器人。
(2).创建一个接受机器人消息的群组
程序是使用chat_id进行消息推送。我们需要先获取chat_id。
建一个群,把这个机器人加入这个群,并发一条消息,必须是“/”开头。
浏览器访问下述url获取这个群组的chat_id:
https://api.telegram.org/bot5049056695:AAFfyxCap2I0SZazC0DJ7WPw5oBz9oZcl7A/getUpdates
在返回值中找到这个群组的chat_id,机器人会向这个chat_id发送消息:
-750599670
(3).python向bot推送消息的demo
1.相关准备
去官网查看下api:
https://core.telegram.org/bots/api
需要用到 python-telegram-bot 库。
pip3 install python-telegram-bot
2.测试demo
import telegram
from telegram import InputMediaPhoto
chat_id = "-750599670"
token = "5049056695:AAFfyxCap2I0SZazC0DJ7WPw5oBz9oZcl7A" # 机器人 TOKEN
bot = telegram.Bot(token=token)
#发送文本
bot.send_message(chat_id=chat_id, text="发送测试文本")
#发送带标题网址链接
bot.send_message(
chat_id=chat_id,
text='baidu',
parse_mode=telegram.ParseMode.HTML
)
#发送单个图片
bot.send_photo(
chat_id=chat_id,
photo="https://inews.gtimg.com/newsapp_bt/0/14471541147/1000",
caption="非必填的图片描述"
)
#发送多张图片
photo_list = [
"https://inews.gtimg.com/newsapp_bt/0/14530906342/1000",
"https://inews.gtimg.com/newsapp_bt/0/14530906343/1000"
]
result = [InputMediaPhoto(media=p, caption="知乎钓鱼贴")
for p in photo_list]
bot.send_media_group(
chat_id=chat_id,
media=result
)
群组成功收到: