Telegram ist einer der beliebtesten Messenger der Welt, und viele Entwickler sind bestrebt, zusätzliche Funktionen einzuführen, um die Benutzererfahrung zu verbessern. Die Inline-Tastatur ist eine solche Funktion, mit der Benutzer mit einem Bot interagieren können, ohne Textbefehle einzugeben.
In diesem ausführlichen Tutorial erfahren Sie, wie Sie eine Inline-Tastatur für Telegram mit der Programmiersprache Python erstellen. Wir zeigen Ihnen Schritt für Schritt, wie Sie Tastenschaltflächen erstellen, sie an den Benutzer senden und die Auswahl des Benutzers verarbeiten.
Die Inline-Tastatur besteht aus Schaltflächen, die jeweils mit Text oder Daten verknüpft sind. Wenn der Benutzer auf die Schaltfläche klickt, übergibt Telegram die Auswahl an den Bot und Sie können sie entsprechend bearbeiten.
In diesem Handbuch werden wir Python als Programmiersprache und die Python-Telegram-bot-Bibliothek verwenden, um mit der Telegramm-API zu arbeiten. Wir werden uns auch Codebeispiele ansehen, um Ihnen zu helfen, zu verstehen, wie die Inline-Tastatur funktioniert.
Wie erstelle ich eine Inline-Tastatur für Telegramm in Python:
Die Inline-Tastatur im Telegramm ermöglicht es dem Benutzer, eine von mehreren vordefinierten Aktionen auszuwählen, indem er einfach auf die entsprechende Schaltfläche klickt. Dies ist eine bequeme Möglichkeit, Benutzern einen schnellen Zugriff auf die Funktionen Ihres Bots zu ermöglichen, ohne Befehle eingeben oder Textantworten melden zu müssen.
Um eine Inline-Tastatur in Python mit der Telegram Bot API zu erstellen, müssen Sie die Python-Telegram-bot-Bibliothek installieren.
Der erste Schritt besteht darin, eine Instanz der Klasse zu erstellen InlineKeyboardMarkup aus der Python-Bibliothek-telegram-bot. Diese Klasse stellt Methoden zum Erstellen von Schaltflächen und zum Platzieren von Schaltflächen auf der Tastatur bereit.
Schaltflächen können mit einer Klasse erstellt werden InlineKeyboardButton. Sie können den Text für die Schaltfläche angeben und optional callback_data angeben, das beim Klicken auf die Schaltfläche gesendet wird.
Dann können Sie der Tastatur mithilfe der Methode Tasten hinzufügen add. Es akzeptiert Schaltflächen oder Listen von Schaltflächen, die Sie der Tastatur hinzufügen möchten.
Nachdem Sie eine Inline-Tastatur erstellt haben, können Sie sie mit der Methode an den Benutzer senden reply_markup. Weisen Sie eine Instanz einer Klasse zu InlineKeyboardMarkup das Argument reply_markup in der Methode zum Senden einer Nachricht (z. B. bot.send_message).
Beispielcode zum Erstellen einer Inline-Tastatur:
from telegram import InlineKeyboardButton, InlineKeyboardMarkupkeyboard = [[InlineKeyboardButton("Кнопка 1", callback_data='btn1'),InlineKeyboardButton("Кнопка 2", callback_data='btn2')],[InlineKeyboardButton("Кнопка 3", callback_data='btn3')],[InlineKeyboardButton("Кнопка 4", url='https://example.com')]]reply_markup = InlineKeyboardMarkup(keyboard)bot.send_message(chat_id=update.message.chat_id, text="Выберите действие:", reply_markup=reply_markup)
In diesem Beispiel wird eine Inline-Tastatur mit vier Tasten erstellt. Die ersten drei Schaltflächen haben einen callback_data, der übergeben wird, wenn Sie darauf klicken. Die letzte Schaltfläche hat eine URL, die geöffnet wird, wenn Sie darauf klicken.
Nachdem Sie die Tastatur erstellt und gesendet haben, können Sie callback_data in der Methode verarbeiten CallbackQueryHandler Ihren Bot, um die entsprechenden Aktionen auszuführen.
Das Erstellen einer Inline-Tastatur für Telegram in Python ist daher eine einfache und effektive Möglichkeit, die Benutzererfahrung Ihres Bot zu verbessern und Benutzern einen bequemen Zugriff auf Funktionen zu ermöglichen.
Vorbereiten der Entwicklungsumgebung
Um eine Inline-Tastatur für Telegram in Python zu erstellen, müssen wir mehrere Tools und Bibliotheken installieren.
| Python | Der erste Schritt ist, den Python-Interpreter zu installieren. Sie können es von der offiziellen Python-Website herunterladen und auf Ihrem Computer installieren. |
| Python-telegram-bot | Um mit der Telegramm-API zu arbeiten, verwenden wir die Python-Telegram-bot-Bibliothek. Sie kann mit pip installiert werden, indem Sie den folgenden Befehl ausführen: pip install python-telegram-bot |
| Python-dotenv | Um das Bot-Token sicher zu speichern, verwenden wir die Python-dotenv-Bibliothek. Sie kann auch mit pip installiert werden: pip install python-dotenv |
| Code-Editor | Wählen Sie einen beliebigen Code-Editor aus, der für Sie geeignet ist. Zum Beispiel Visual Studio Code, PyCharm oder Sublime Text. |
Nachdem Sie alle notwendigen Werkzeuge installiert haben, ist Ihre Umgebung bereit, eine Inline-Tastatur für Telegram in Python zu entwickeln.
Installieren der benötigten Bibliotheken
Bevor Sie mit der Erstellung einer Inline-Tastatur für Telegramm in Python beginnen, müssen Sie mehrere Bibliotheken installieren.
Die Installation erfolgt über den Paketmanager pip. Wenn Sie pip noch nicht haben, müssen Sie es installieren, indem Sie der offiziellen Python-Dokumentation folgen.
Nach der Installation von pip können Sie die benötigten Bibliotheken mithilfe der folgenden Befehle installieren:
- pip install python-telegram-bot - Bibliothek für die Arbeit mit der Telegramm-API
- pip install python-telegram-bot[socks] - zusätzliche Bibliothek für die Arbeit über einen Proxy (falls erforderlich)
Nachdem Sie diese Befehle ausgeführt haben, können Sie mit der Erstellung einer Inline-Tastatur für Telegram in Python beginnen.
Erstellen und Konfigurieren eines Telegram-Bots
Telegram-Bots ermöglichen es Ihnen, die Kommunikation mit Benutzern zu automatisieren und verschiedene Aufgaben auszuführen. Um einen Telegram-Bot in Python zu erstellen und zu konfigurieren, müssen Sie die folgenden Schritte ausführen:
1. Erstellen eines Bots auf der Telegram-Plattform
Um einen Bot zu erstellen, müssen Sie ein Konto bei Telegram haben und zur Telegram-Anwendung gehen. Dann müssen Sie den Bot finden @BotFather in Ihrer Kontaktliste und klicken Sie darauf. Als nächstes senden Sie den Befehl /newbot, um einen neuen Bot zu erstellen.
2. Einrichten des Botnamens und des Usernamens
Nach dem Erstellen des Bots wird BotFather aufgefordert, den Namen des neuen Bots einzugeben. Dann müssen Sie den Username des Bot angeben, der mit bot enden soll. Zum Beispiel MyAwesomeBot . Nach erfolgreicher Registrierung erhält der Bot ein eindeutiges Token, das benötigt wird, um damit zu arbeiten.
3. Installieren der benötigten Bibliotheken
Um mit der Telegramm-API in Python zu arbeiten, müssen Sie die Bibliothek installieren python-telegram-bot. Sie können den Paketmanager für die Installation verwenden pip mit dem Befehl:
pip install python-telegram-bot
4. Importieren einer Bibliothek und Erstellen eines Botobjekts
Nach der Installation der Bibliothek können Sie die erforderlichen Module importieren und mit dem resultierenden Token ein Botobjekt erstellen:
import telebot bot = telebot.TeleBot('YOUR_TOKEN')
5. Konfigurieren von Nachrichtenhandlern
Um von Benutzern gesendete Nachrichten zu verarbeiten, müssen Sie Nachrichtenhandler erstellen. Sie können den @bot Dekorator verwenden, um dies zu tun.message_handler . Innerhalb des Handlers können Sie die Logik der Botantwort auf die Nachricht des Benutzers definieren:
@bot.message_handler(commands=['start']) def handle_start(message): bot.reply_to(message, 'Hallo, ich bin ein Bot!')
6. Einen Bot starten
Nachdem Sie ein Botobjekt erstellt und die Nachrichtenhandler konfiguriert haben, müssen Sie den Bot starten:
Nach dem Start ist der Bot bereit, Nachrichten zu verarbeiten und die in den Handlern angegebenen Aufgaben auszuführen.
Jetzt wissen Sie, wie Sie einen Telegramm-Bot in Python erstellen und konfigurieren, der automatisch auf die Nachrichten der Benutzer reagiert.
Erstellen und Konfigurieren einer Inline-Tastatur
Die Python-Bibliothek Python-telegram-bot wird verwendet, um eine Inline-Tastatur in Telegram zu erstellen und zu konfigurieren. Zuerst müssen Sie diese Bibliothek mit dem Befehl installieren:
pip install python-telegram-bot
Wichtig: Bevor Sie die Bibliothek verwenden, müssen Sie ein Bot-Token von BotFather im Telegramm erhalten. Wie man ein Bot-Token erhält, wird in der Telegram-Dokumentation ausführlich beschrieben.
Um eine Inline-Tastatur zu erstellen, benötigen Sie:
-
Erforderliche Klassen aus der Bibliothek importieren:
from telegram import InlineKeyboardButton, InlineKeyboardMarkup
# Создание кнопокbutton1 = InlineKeyboardButton("Кнопка 1", callback_data="button1")button2 = InlineKeyboardButton("Кнопка 2", callback_data="button2")button3 = InlineKeyboardButton("Кнопка 3", callback_data="button3")# Группировка кнопок в рядыrow1 = [button1, button2]row2 = [button3]# Создание клавиатурыkeyboard = [row1, row2]
reply_markup = InlineKeyboardMarkup(keyboard)bot.send_message(chat_id=update.message.chat_id, text="Выберите кнопку:", reply_markup=reply_markup)
In diesem Beispiel werden die Schaltflächen in einer Nachricht mit dem Text "Schaltfläche auswählen:" angezeigt. Wenn der Benutzer auf eine Schaltfläche klickt, erhält der Bot eine Aktualisierung mit Informationen über die gedrückte Schaltfläche und kann die entsprechende Aktion ausführen. Daher ist das Erstellen und Konfigurieren einer Inline-Tastatur in Telegram in Python mit der Python-Telegram-bot-Bibliothek ziemlich einfach. Diese Funktionalität ermöglicht es Ihnen, den Bot interaktiver und benutzerfreundlicher zu gestalten.
Umgang mit Tastatureingaben
Nachdem Sie eine Inline-Tastatur für Telegramm in Python erstellt haben, müssen Sie einen Handler für die Tastenanschläge hinzufügen. Um Klicks zu verarbeiten, müssen Sie die Tasten-IDs kennen, die bei der Erstellung angegeben wurden. In der Python-Bibliothek Python-telegram-bot, einer der beliebtesten Bibliotheken für die Entwicklung von Telegram-Bots, können Sie mit Hilfe des CallbackQueryHandler-Dekorators einen Knopfdruckhandler hinzufügen. Der folgende Beispielcode zeigt, wie Sie einen Klick-Handler für Schaltflächen hinzufügen:
from telegram.ext import CallbackContext, CallbackQueryHandler, Updaterfrom telegram import InlineKeyboardButton, InlineKeyboardMarkup# Функция, которая будет вызываться при нажатии на кнопкуdef button_press(update: Update, context: CallbackContext):# Получаем идентификатор кнопки из callback_databutton_id = update.callback_query.data# Далее можно добавить логику обработки нажатий на разные кнопкиif button_id == 'button1':# Действия при нажатии на первую кнопкуpasselif button_id == 'button2':# Действия при нажатии на вторую кнопкуpasselse:# Действия при нажатии на другую кнопку# Создаем объект Updater для управления ботомupdater = Updater(token='YOUR_TOKEN', use_context=True)dispatcher = updater.dispatcher# Добавляем обработчик нажатий на кнопкиdispatcher.add_handler(CallbackQueryHandler(button_press))# Запускаем ботаupdater.start_polling()