πΈ ΠΠ°ΠΊ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ Π² Telegram Π±ΠΎΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python? π
Π§ΡΠΎΠ±Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΠΈΠ· Python-Π±ΠΎΡΠ° Π² Telegram, ΡΠ»Π΅Π΄ΡΠΉΡΠ΅ ΡΡΠΈΠΌ ΡΠ°Π³Π°ΠΌ:
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ python-telegram-bot, Π΅ΡΠ»ΠΈ Π΅ΡΠ΅ Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π°:
pip install python-telegram-bot
- ΠΠΌΠΏΠΎΡΡΠΈΡΡΠΉΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ:
import telegram
from telegram import InputFile
- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π±ΠΎΡΠ° ΠΈ ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π²Π°Ρ ΡΠΎΠΊΠ΅Π½:
bot = telegram.Bot(token='YOUR_BOT_TOKEN')
- ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ°ΠΉΠ» ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ:
photo = open('image.jpg', 'rb')
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ send_photo(), ΡΡΠΎΠ±Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ:
bot.send_photo(chat_id='USER_CHAT_ID', photo=InputFile(photo))
- ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ 'YOUR_BOT_TOKEN' ΡΠ²ΠΎΠΈΠΌ ΡΠΎΠΊΠ΅Π½ΠΎΠΌ Π±ΠΎΡΠ° ΠΈ 'USER_CHAT_ID' ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΡΠ°ΡΠ°, Π² ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ.
ΠΡΠΎ Π²ΡΠ΅! Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΠΈΠ· ΡΠ²ΠΎΠ΅Π³ΠΎ Telegram-Π±ΠΎΡΠ° Π½Π° Python.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌΠΌ Π±ΠΎΡ Python
ΠΡΠΏΡΠ°Π²ΠΊΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² Π’Π΅Π»Π΅Π³ΡΠ°ΠΌ-Π±ΠΎΡΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python ΠΏΡΠΎΡΠ΅ΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠΉ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°Π³ΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π’Π΅Π»Π΅Π³ΡΠ°ΠΌ-Π±ΠΎΡΠ°.
Π¨Π°Π³ 1: Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ
ΠΠ΅ΡΠ²ΡΠΌ ΡΠ°Π³ΠΎΠΌ Π½Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π’Π΅Π»Π΅Π³ΡΠ°ΠΌ-Π±ΠΎΡΠΎΠΌ. ΠΠ΄Π½Π° ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π’Π΅Π»Π΅Π³ΡΠ°ΠΌ-Π±ΠΎΡΠ°ΠΌΠΈ Π² Python - ΡΡΠΎ python-telegram-bot.
pip install python-telegram-bot
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΌΡ Π³ΠΎΡΠΎΠ²Ρ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
Π¨Π°Π³ 2: ΠΠΌΠΏΠΎΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ°ΠΉΠ» Python ΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ:
import telegram
from telegram.ext import Updater
Π¨Π°Π³ 3: ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠΊΠ΅Π½Π° Π±ΠΎΡΠ°
ΠΠ»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ API Π’Π΅Π»Π΅Π³ΡΠ°ΠΌΠ° Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½ ΡΠΎΠΊΠ΅Π½ Π±ΠΎΡΠ°. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΅Π³ΠΎ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π’Π΅Π»Π΅Π³ΡΠ°ΠΌ-Π±ΠΎΡΠ° ΡΠ΅ΡΠ΅Π· BotFather. Π‘Π»Π΅Π΄ΡΠΉΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ BotFather ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠΎΠΊΠ΅Π½ Π±ΠΎΡΠ°.
Π¨Π°Π³ 4: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅:
def send_photo(update, context):
chat_id = update.effective_chat.id
context.bot.send_photo(chat_id=chat_id, photo=open('image.jpg', 'rb'))
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ send_photo ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ python-telegram-bot Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ chat_id ΠΈ ΠΏΡΡΡ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ.
Π¨Π°Π³ 5: Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ
ΠΠ°ΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π² Π½Π°ΡΠ΅ΠΌ Π’Π΅Π»Π΅Π³ΡΠ°ΠΌ-Π±ΠΎΡΠ΅:
updater = Updater(token='Π²Π°Ρ_ΡΠΎΠΊΠ΅Π½', use_context=True)
dispatcher = updater.dispatcher
dispatcher.add_handler(MessageHandler(Filters.photo, send_photo))
ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ "Π²Π°Ρ_ΡΠΎΠΊΠ΅Π½" Π½Π° ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΎΠΊΠ΅Π½ Π²Π°ΡΠ΅Π³ΠΎ Π’Π΅Π»Π΅Π³ΡΠ°ΠΌ-Π±ΠΎΡΠ°.
Π¨Π°Π³ 6: ΠΠ°ΠΏΡΡΠΊ Π±ΠΎΡΠ°
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΡΡΡΠΈΡΡ Π½Π°ΡΠ΅Π³ΠΎ Π±ΠΎΡΠ° ΠΈ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π³ΠΎΡΠΎΠ² ΠΊ ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ:
updater.start_polling()
ΠΡΠΎ Π΄Π°ΡΡ Π±ΠΎΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ.
Π’Π΅ΠΏΠ΅ΡΡ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π’Π΅Π»Π΅Π³ΡΠ°ΠΌ-Π±ΠΎΡΠ° Π½Π° Python. ΠΠ΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ "Π²Π°Ρ_ΡΠΎΠΊΠ΅Π½" Π½Π° ΡΠ΅Π°Π»ΡΠ½ΡΠΉ ΡΠΎΠΊΠ΅Π½ Π²Π°ΡΠ΅Π³ΠΎ Π’Π΅Π»Π΅Π³ΡΠ°ΠΌ-Π±ΠΎΡΠ° ΠΈ ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΏΡΡΡ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ.