一、什麼是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-hk/n/334058.html