π ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ ΡΠΎ ΡΡΡΠ»ΠΊΠΎΠΉ Π² Telegram Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python? π
Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Ρ ΡΡΡΠ»ΠΊΠΎΠΉ Π² Π’Π΅Π»Π΅Π³ΡΠ°ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python, Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ python-telegram-bot. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
from telegram import InlineKeyboardButton, InlineKeyboardMarkup
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡ Ρ ΡΡΡΠ»ΠΊΠΎΠΉ
button = InlineKeyboardButton("ΠΠΎΡ ΡΡΡΠ»ΠΊΠ°", url="https://www.example.com")
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΊΡ Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ
keyboard = InlineKeyboardMarkup([[button]])
# ΠΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΊΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
update.message.reply_text('ΠΠ°ΠΆΠΌΠΈΡΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ:', reply_markup=keyboard)
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Ρ ΡΡΡΠ»ΠΊΠΎΠΉ Π² Telegram Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Python?
ΠΠ°Ρ Π²ΠΎΠΏΡΠΎΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Ρ ΡΡΡΠ»ΠΊΠΎΠΉ Π² Telegram ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python. ΠΠ°Π»Π΅Π΅ Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠ±ΡΡΡΠ½Ρ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ.
Π¨Π°Π³ 1: Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ python-telegram-bot
ΠΠ΅ΡΠ²ΡΠΌ ΡΠ°Π³ΠΎΠΌ Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ python-telegram-bot. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° python-telegram-bot ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Telegram API Π² Python.
pip install python-telegram-bot
Π¨Π°Π³ 2: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±ΠΎΡΠ° ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ API-ΠΊΠ»ΡΡΠ°
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±ΠΎΡΠ° ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ API-ΠΊΠ»ΡΡΠ° ΡΠ»Π΅Π΄ΡΠΉΡΠ΅ ΡΡΠΈΠΌ ΡΠ°Π³Π°ΠΌ:
- ΠΡΠΊΡΠΎΠΉΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Telegram ΠΈ Π½Π°ΠΉΠ΄ΠΈΡΠ΅ "BotFather".
- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π±ΠΎΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ /newbot.
- Π‘Π»Π΅Π΄ΡΠΉΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ BotFather ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΈΠΌΡ ΠΈ Π»ΠΎΠ³ΠΈΠ½ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ Π±ΠΎΡΠ°.
- ΠΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±ΠΎΡΠ°, BotFather ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡ Π²Π°ΠΌ API-ΠΊΠ»ΡΡ.
Π¨Π°Π³ 3: ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π³ - Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Ρ ΡΡΡΠ»ΠΊΠΎΠΉ Π² Telegram. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ:
from telegram import InlineKeyboardMarkup, InlineKeyboardButton
from telegram.ext import Updater, CommandHandler, CallbackQueryHandler
# ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Ρ /start
def start(update, context):
keyboard = [[InlineKeyboardButton("ΠΠΎΡ ΡΡΡΠ»ΠΊΠ°", url="https://example.com")]]
reply_markup = InlineKeyboardMarkup(keyboard)
update.message.reply_text('ΠΠ°ΠΆΠΌΠΈΡΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅:', reply_markup=reply_markup)
# ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ
def main():
updater = Updater("YOUR_API_KEY", use_context=True)
dp = updater.dispatcher
dp.add_handler(CommandHandler("start", start))
dp.add_handler(CallbackQueryHandler(callback_query_handler))
updater.start_polling()
updater.idle()
if __name__ == '__main__':
main()
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ Π² ΠΊΠΎΠ΄Π΅:
- ΠΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ python-telegram-bot.
- Π ΡΡΠ½ΠΊΡΠΈΠΈ start ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡ-ΡΡΡΠ»ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°ΡΡΠ° InlineKeyboardButton ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π΅Π΅ Π½Π° ΡΠΊΡΠ°Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°ΡΡΠ° InlineKeyboardMarkup.
- ΠΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Ρ /start Ρ ΠΏΠΎΠΌΠΎΡΡΡ CommandHandler ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
- ΠΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ Telegram ΠΈ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎ ΡΠ»ΡΡΠ°Π΅ΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ. ΠΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ /start, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ start ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΊΠ½ΠΎΠΏΠΊΡ Ρ ΡΡΡΠ»ΠΊΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
Π¨Π°Π³ 4: ΠΠ°ΠΏΡΡΠΊ Π±ΠΎΡΠ°
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°Π³ - Π·Π°ΠΏΡΡΡΠΈΡΡ Π²Π°ΡΠ΅Π³ΠΎ Π±ΠΎΡΠ°. ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ "YOUR_API_KEY" Π² ΠΊΠΎΠ΄Π΅ Π½Π° ΡΠ΅Π°Π»ΡΠ½ΡΠΉ API-ΠΊΠ»ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΠΎΡ BotFather.
if __name__ == '__main__':
main()
ΠΡΠΎΡΡΠΎ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Π²Π°Ρ Python-ΡΠΊΡΠΈΠΏΡ, ΠΈ Π²Π°Ρ Π±ΠΎΡ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ!
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Ρ ΡΡΡΠ»ΠΊΠΎΠΉ Π² Telegram Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python. ΠΠ΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ python-telegram-bot, ΡΠΎΠ·Π΄Π°ΡΡ Π±ΠΎΡΠ° ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ API-ΠΊΠ»ΡΡ ΠΎΡ BotFather. ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ ΠΊΠΎΠ΄, ΡΡΠΎΠ±Ρ Π²Π°Ρ Π±ΠΎΡ ΠΌΠΎΠ³ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Ρ Π½ΡΠΆΠ½ΠΎΠΉ ΡΡΡΠ»ΠΊΠΎΠΉ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. Π£Π΄Π°ΡΠΈ!