Telegram ist ein beliebter Messenger, der Entwicklern die Möglichkeit bietet, eigene Bots zu erstellen, um verschiedene Aufgaben zu automatisieren. Eines der wichtigsten funktionellen Elemente in Telegrammen sind Inline-Schaltflächen, die es dem Benutzer ermöglichen, mit dem Bot zu interagieren.
Sie können die Aiogram-Bibliothek verwenden, um Inline-Schaltflächen in einem Python-Telegramm-Bot zu erstellen. Diese Bibliothek bietet praktische Tools für die Entwicklung von Bots, einschließlich der Möglichkeit, Schaltflächen zu erstellen.
Inline-Schaltflächen ermöglichen es Ihnen, Umfragen durchzuführen, Menüs anzuzeigen, Benutzerantworten zu erhalten, Dateien zu senden und vieles mehr. Sie können als Text- oder Bildschaltflächen dargestellt werden und zusätzliche Parameter wie callback_data und url enthalten.
Erstellen von Schaltflächen in Python-Telegrammen mit aiogram: schritt für Schritt anleitung
In diesem Artikel werden wir uns ansehen, wie Inline-Schaltflächen in einem Python-Telegramm mit der Aiogram-Bibliothek erstellt werden. Aiogram ist eine leistungsstarke Bibliothek, mit der Sie Bots für Telegram auf einem asynchronen Ansatz entwickeln können.
Schritt 1: Installieren von Aiogram
Der erste Schritt besteht darin, die Aiogram-Bibliothek zu installieren, mit der wir Bots für Telegram in Python erstellen können. Führen Sie den Befehl aus, um aiogram zu installieren:
pip install aiogram
Schritt 2: Erstellen und Konfigurieren eines Bots
Nach der Installation von aiogram müssen Sie einen Bot in Telegram erstellen und seinen API-Schlüssel erhalten. Gehen Sie dazu zu Telegram und suchen Sie nach dem @BotFather-Bot. Folgen Sie den Anweisungen von BotFather, um einen Bot zu erstellen, und erhalten Sie seinen API-Schlüssel.
Nachdem Sie den API-Schlüssel erhalten haben, erstellen Sie eine neue Python-Datei und fügen Sie den folgenden Code hinzu:
import logging from aiogram import Bot, Dispatcher, types from aiogram.contrib.fsm_storage.memory import MemoryStorage # bot initialisieren bot = Bot(token="YOUR_API_TOKEN") # Dispatcher initialisieren dp = Dispatcher(bot, storage=MemoryStorage()) # logging.basicConfig konfigurieren logging.basicConfig(level=logging.INFO )
Schritt 3: Erstellen eines Befehls mit Schaltflächen
Jetzt können wir Befehle mit Schaltflächen erstellen. Fügen Sie der Datei den folgenden Code hinzu:
@dp.message_handler(commands=['start']) async def start_command(message: types.Message): # Erstellen und Anpassen der Tastatur keyboard = types.InlineKeyboardMarkup() button1 = types.InlineKeyboardButton(text="Button 1", callback_data="button1") button2 = types.InlineKeyboardButton(text="Button 2", callback_data="button2") keyboard.add(button1, button2) # Sendet eine Nachricht mit await message-Schaltflächen.answer("Wählen Sie die Schaltfläche:", reply_markup=keyboard)
Schritt 4: Callback-Verarbeitung
Jetzt müssen Sie einen Callback-Handler für die Schaltflächen erstellen. Fügen Sie der Datei den folgenden Code hinzu:
@dp.callback_query_handler(lambda callback_query: True) async def handle_callback_query(callback_query: types.CallbackQuery): if callback_query.data == "button1": await bot.send_message(callback_query.from_user.id . "Sie haben die Schaltfläche 1 ausgewählt") elif callback_query.data == "button2": await bot.send_message(callback_query.from_user.id . "Sie haben die Taste 2 ausgewählt") else: await bot.send_message(callback_query.from_user.id . "Unbekannter Knopf")
Schritt 5: Starten Sie den Bot
Jetzt ist alles bereit, den Bot zu starten. Fügen Sie der Datei den folgenden Code hinzu:
if __name__ == '__main__': executor.start_polling(dp)
Jetzt können Sie Ihren Bot mit dem Python-Befehl ausführen your_bot_file.py und starten Sie die Inline-Schaltflächen im Python-Telegramm mit aiogram. Viel Glück bei der Entwicklung Ihres Bots!
Installieren der Aiogram-Bibliothek und Konfigurieren der Python-Umgebung
Um einen Bot in Telegram mit der Aiogram-Bibliothek zu erstellen, müssen Sie einige Schritte ausführen. In diesem Abschnitt werden wir uns mit der Installation der Bibliothek und der Konfiguration der Python-Umgebung befassen.
Schritt 1: Installieren von Python
Um mit aiogram zu beginnen, benötigen wir Python Version 3.6 oder höher. Sie können die gewünschte Version von Python von der offiziellen Website herunterladen und installieren (https://www.python.org /).
Schritt 2: Erstellen einer virtuellen Umgebung
Es wird empfohlen, eine virtuelle Umgebung für das Projekt zu erstellen, um es von anderen Projekten und installierten Python-Paketen zu isolieren. Sie können das Venv-Tool, das in der Standard-Python-Bibliothek enthalten ist, verwenden, um eine virtuelle Umgebung zu erstellen. Führen Sie dazu den Befehl aus:
python3 -m venv myenv
wobei myenv der Name Ihrer virtuellen Umgebung ist.
Schritt 3: Aktivieren der virtuellen Umgebung
Verwenden Sie den folgenden Befehl, um die virtuelle Umgebung zu aktivieren:
wobei myenv der Name Ihrer virtuellen Umgebung ist.
Schritt 4: Installieren der Aiogram-Bibliothek
Nachdem Sie die virtuelle Umgebung aktiviert haben, installieren Sie die Aiogram-Bibliothek mithilfe des pip-Paketmanagers:
pip install aiogram
Jetzt können Sie aiogram in Ihrem Projekt verwenden.
In diesem Abschnitt haben wir uns mit der Installation der Aiogram-Bibliothek und der Konfiguration der Python-Umgebung befasst. In den nächsten Abschnitten werden wir uns mit dem Erstellen eines Bots und dem Hinzufügen von Inline-Buttons zu Telegram befassen.
Bot initialisieren und Handler konfigurieren
Um mit dem Bot in Telegram zu arbeiten, müssen Sie ihn initialisieren und die Handler konfigurieren. Dazu wird die Aiogram-Bibliothek in Python verwendet.
Der erste Schritt besteht darin, ein Objekt der Dispatcher-Klasse zu erstellen - dies ist der Kern für die Arbeit mit dem Bot. Der Dispatcher ist für die Registrierung und den Aufruf von Handlern verantwortlich. Es wird auch ein Objekt der Bot-Klasse erstellt - es ist eine Schnittstelle für die Arbeit mit der Telegramm-API.
Beispiel für die Bot-Initialisierung:
import loggingfrom aiogram import Bot, Dispatcher# Инициализация логгераlogging.basicConfig(level=logging.INFO)# Инициализация объектов бота и диспетчераbot = Bot(token='YOUR_TELEGRAM_BOT_TOKEN')dp = Dispatcher(bot)
Nachdem der Bot und der Manager initialisiert wurden, müssen Sie Handler für verschiedene Nachrichtentypen konfigurieren. Mithilfe von Handlern können Sie die Funktionen festlegen, die aufgerufen werden, wenn ein bestimmter Nachrichtentyp empfangen wird (z. B. eine Textnachricht oder ein Klick auf eine Inline-Schaltfläche).
Beispiel für die Konfiguration von Textnachrichtenmodulen:
from aiogram import types# Обработчик текстовых сообщений@dp.message_handler(content_types=types.ContentType.TEXT)async def handle_text_message(message: types.Message):# Ваш код обработки текстового сообщенияpass
Beispiel für die Konfiguration von Inline-Klick-Handlern für Schaltflächen:
from aiogram import types# Обработчик нажатий на инлайн кнопку@dp.callback_query_handler()async def handle_inline_button_click(query: types.CallbackQuery):# Ваш код обработки нажатия на инлайн кнопкуpass
Die Initialisierung des Bots und die Konfiguration der Handler ermöglichen es daher, die Grundlage für die Arbeit mit dem Bot in Telegram zu schaffen, verschiedene Arten von Nachrichten zu verarbeiten und die erforderlichen Aktionen auszuführen.
Erstellen einer Inline-Tastatur und Hinzufügen von Schaltflächen
Um eine Inline-Tastatur in einem Telegramm mit der Aiogram-Bibliothek in Python zu erstellen, müssen Sie ein InlineKeyboardMarkup-Objekt verwenden. Es ermöglicht Ihnen, Schaltflächen in einer Zeile oder in mehreren Zeilen hinzuzufügen.
Sie müssen die add() -Methode verwenden, um Schaltflächen zu einer Zeile hinzuzufügen. Der folgende Code fügt beispielsweise zwei Schaltflächen in derselben Zeile hinzu:
inline_keyboard = InlineKeyboardMarkup(row_width=2)inline_keyboard.add(InlineKeyboardButton("Кнопка 1", callback_data="button1"),InlineKeyboardButton("Кнопка 2", callback_data="button2"))
Um mehrere Zeilen mit Schaltflächen hinzuzufügen, müssen Sie die add() -Methode mehrmals aufrufen. Jeder Anruf fügt der Tastatur eine Zeile hinzu:
inline_keyboard = InlineKeyboardMarkup(row_width=2)inline_keyboard.add(InlineKeyboardButton("Кнопка 1", callback_data="button1"))inline_keyboard.add(InlineKeyboardButton("Кнопка 2", callback_data="button2"))
Jede Schaltfläche in der Tastatur ist ein InlineKeyboardButton-Objekt. Der Text auf der Schaltfläche wird an ihn gesendet und die Daten werden nach dem Klicken auf die Schaltfläche an den Chat zurückgesendet. In diesem Fall wird callback_data verwendet, um die gedrückte Schaltfläche zu identifizieren.
Verarbeitung von Tastenanschlägen und Implementierung von Funktionen
Nachdem der Benutzer auf eine der Inline-Schaltflächen geklickt hat, müssen Sie dieses Ereignis verarbeiten und die entsprechende Aktion ausführen. Verwenden Sie dazu Schaltflächenereignishandler.
In der Aiogram-Bibliothek können Sie dies mit den Methoden CallbackQueryHandler und InlineKeyboardButton tun.callback_data .
Bevor Sie CallbackQueryHandler verwenden können, müssen Sie ihn im Manager registrieren:
dp.register_callback_query_handler(callback_func)
In diesem Code ist callback_func eine Funktion, die aufgerufen wird, wenn auf eine Schaltfläche geklickt wird.
Jede Schaltfläche muss einen eindeutigen callback_data-Wert haben, um zu verstehen, auf welche Schaltfläche geklickt wurde. Zum Beispiel:
keyboard = InlineKeyboardMarkup()button = InlineKeyboardButton("Нажми меня", callback_data='button_pressed')keyboard.add(button)
In diesem Beispiel ist der callback_data-Wert für die Schaltfläche 'button_pressed'. Wenn der Benutzer auf diese Schaltfläche klickt, wird die im CallbackQueryHandler angegebene Funktion aufgerufen, und der Wert von callback_data wird an diese Funktion übergeben:
async def callback_func(callback_query: CallbackQuery):callback_data = callback_query.dataif callback_data == 'button_pressed':# выполнить функцию при нажатии на кнопку
Auf diese Weise können Sie nach dem Klicken auf die Schaltfläche die erforderliche Funktionalität hinzufügen oder andere Methoden Ihres Bots aufrufen.