一、什麼是tg機器人?
telegram(以下簡稱tg)是一款非常流行的即時通訊軟件,tg機器人就是可自動執行指定任務的程序,可以為用戶提供一些便捷服務。
二、tg機器人的功能
tg機器人的功能非常強大,可以實現以下任務:
1.提醒用戶定時任務
import schedule
import time
def job():
print("I'm working...")
schedule.every(10).seconds.do(job)
while True:
schedule.run_pending()
time.sleep(1)
使用schedule庫可以很方便實現定時任務,本示例每10秒執行一次job函數。
2.天氣查詢
import requests
def get_weather(city_name):
url = 'http://wthrcdn.etouch.cn/weather_mini?city=' + city_name
response = requests.get(url)
weather_data = response.json()['data']
if weather_data:
city = weather_data['city']
forecast = weather_data['forecast'][0]
date = forecast['date']
high_temperature = forecast['high']
low_temperature = forecast['low']
weather = forecast['type']
tips = weather_data['ganmao']
return f"{city}
{date}
天氣{weather},最高氣溫{high_temperature},最低氣溫{low_temperature}
溫馨提示:{tips}"
else:
return '城市名輸入有誤'
使用requests庫可以方便地向API發送請求,本示例將央視天氣API中的數據解析為文字顯示。
3.機器人回複電影信息
import requests
def get_movie_info(name):
url = f'https://api.douban.com/v2/movie/search?q={name}'
data = requests.get(url).json()
if data['subjects']:
movie = data['subjects'][0]
title = movie['title']
rating = movie['rating']['average']
cover_url = movie['images']['small']
summary = movie['summary']
return f"封面
{title}評分:{rating}
{summary}"
使用requests庫可以方便地向API發送請求,本示例將豆瓣電影API中的數據解析為文字和圖片顯示。
三、如何創建tg機器人?
創建機器人前需要在tg中找到BotFather,發送/start並按照提示完成創建即可得到token。
使用python編程,可以使用第三方庫python-telegram-bot方便地操作機器人,安裝:
pip install python-telegram-bot
四、如何使用python編寫tg機器人?
接下來介紹一個簡單的tg機器人,實現發送文本消息、圖片消息和回應命令等基本功能。
import telegram
from telegram.ext import CommandHandler, MessageHandler, Filters, Updater
def start(update, context):
context.bot.send_message(chat_id=update.effective_chat.id, text="歡迎使用機器人,發送/help獲取幫助")
def help(update, context):
context.bot.send_message(chat_id=update.effective_chat.id, text="/start - 啟動機器人
/help - 幫助信息
/pic - 發送圖片")
def pic(update, context):
context.bot.send_photo(chat_id=update.effective_chat.id, photo=open('image.jpg', 'rb'))
def text(update, context):
text = update.message.text
if text.startswith('/'):
return
context.bot.send_message(chat_id=update.effective_chat.id, text=f"您發送了{text}")
def main():
updater = Updater(token='XXXXXXXXXXXXXXXXXXXXXXXXXXX', use_context=True)
dp = updater.dispatcher
dp.add_handler(CommandHandler("start", start))
dp.add_handler(CommandHandler("help", help))
dp.add_handler(CommandHandler("pic", pic))
dp.add_handler(MessageHandler(Filters.text & ~Filters.command, text))
updater.start_polling()
updater.idle()
if __name__ == '__main__':
main()
1.創建機器人
從BotFather那得到token並創建機器人,並且將token添加到代碼中。
2.調用telegram API
導入telegram庫,使用Upader實例,Dispatcher添加CommandHandler和MessageHandler,根據不同的command和text發送不同的內容。
3.運行程序
使用start_polling()暫時啟動機器人,使用idle()使機器人保持運行。
五、tg機器人的作用和未來
tg機器人可以幫助我們實現很多便捷的服務,比如提醒、查詢、推送等等,未來可能會有更多人性化的功能加入進來,可以為我們生活和工作提供更多的幫助。
原創文章,作者:AHYFG,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/334058.html
微信掃一掃
支付寶掃一掃