Zum Hauptinhalt springen

Wie man Inline-Buttons zu einem Telegramm-Bot in Python hinzufügt

Im Python-Telegramm-Bot gibt es die Möglichkeit, interaktive Inline-Schaltflächen zu erstellen, mit denen der Benutzer Optionen auswählen und verschiedene Aktionen ausführen kann. Dies ist eine sehr praktische Funktion, die die Benutzerfreundlichkeit des Bots erheblich verbessert und dazu beiträgt, ihn intuitiver zu gestalten.

Inline-Schaltflächen sind kleine Schaltflächen, die sich direkt im Nachrichtentext befinden. Wenn Sie auf eine Schaltfläche klicken, kann der Bot eine bestimmte Aktion ausführen oder ein bestimmtes Ergebnis zurückgeben. Dies kann beispielsweise zum Erstellen von Umfragen, zum Auswählen von Antwortoptionen oder zum Anzeigen zusätzlicher Informationen nützlich sein.

Um Inline-Schaltflächen zu einem Python-Telegramm-Bot hinzuzufügen, müssen Sie die Python-Telegramm-Bot-Bibliothek verwenden. Diese Bibliothek macht es einfach, Inline-Schaltflächen in Ihrem Bot zu erstellen und zu verarbeiten. Damit können Sie Schaltflächen mit Text, Links, Untermenüs und mehr erstellen.

Um eine Inline-Schaltfläche zu einem Bot hinzuzufügen, müssen Sie ein InlineKeyboardMarkup-Objekt erstellen und es als Parameter der Bot-Methode übergeben.send_message(). In diesem Objekt können Sie Schaltflächen mit Text, Links und anderen Parametern angeben und benutzerdefinierte Schaltflächen definieren, die beim Klicken auf die Schaltfläche aufgerufen werden.

Wie Inline-Schaltflächen hinzufügen

Inline-Schaltflächen im Telegramm-Bot ermöglichen es dem Benutzer, Aktionen direkt aus dem Chat durchzuführen, ohne dass er manuell Text eingeben muss. Es ist sehr praktisch und spart Zeit. In diesem Artikel werden wir untersuchen, wie Inline-Buttons zu Ihrem Telegramm-Bot in der Programmiersprache Python hinzugefügt werden.

Zuerst müssen Sie die Python-Telegramm-bot-Bibliothek installieren, mit der Sie mit der Telegramm-API arbeiten können. Nachdem Sie die Bibliothek installiert haben, können Sie mit der Codierung beginnen.

Erstellen Sie eine Funktion, die aufgerufen wird, wenn eine Nachricht vom Benutzer empfangen wird:

from telegram import InlineKeyboardButton, InlineKeyboardMarkupdef handle_message(update, context):user = update.message.from_usertext = update.message.text# Код обработки сообщения от пользователяreply_markup = create_inline_keyboard()context.bot.send_message(chat_id=user.id, text='Выберите действие:', reply_markup=reply_markup)

Die Funktion erstellt eine Inline-Tastatur mit der InlineKeyboardMarkup-Klasse. Es wird dann mit der send_message-Methode des Bot an den Benutzer gesendet.

Erstellen Sie die Funktion create_inline_keyboard, die eine fertige Inline-Tastatur zurückgibt:

def create_inline_keyboard():keyboard = [[InlineKeyboardButton('Кнопка 1', callback_data='button1')],[InlineKeyboardButton('Кнопка 2', callback_data='button2')],[InlineKeyboardButton('Кнопка 3', callback_data='button3')]]return InlineKeyboardMarkup(keyboard)

In diesem Beispiel haben wir eine Tastatur mit drei Tasten erstellt. Jede Schaltfläche hat ihren eigenen Text und callback_data, der beim Klicken auf die Schaltfläche übergeben wird.

Jetzt erstellen wir eine Funktion, die aufgerufen wird, wenn Sie auf die Schaltfläche klicken:

def handle_button(update, context):query = update.callback_querydata = query.data# Код обработки нажатия кнопкиquery.answer()

In der Funktion handle_button erhalten wir die Schaltflächendaten mithilfe des callback_query-Attributs des update-Objekts.

Also haben wir uns die grundlegenden Schritte zum Hinzufügen von Inline-Buttons zu einem Python-Bot-Telegramm angesehen. Jetzt können Sie beliebige Schaltflächen hinzufügen und mit ihren Klicks in Ihrem Bot umgehen.

Der Telegramm-Bot in Python

Inline-Schaltflächen sind interaktive Elemente, die zu Bot-Nachrichten hinzugefügt werden können. Sie ermöglichen es Benutzern, mit dem Bot zu interagieren, indem sie auf Schaltflächen klicken und bestimmte Aktionen ausführen. Inline-Schaltflächen werden unter Bot-Nachrichten angezeigt und können zum Übertragen von Daten, zum Öffnen von Links und mehr verwendet werden.

Sie müssen die Python-Bibliothek-telegram-bot verwenden, um Schaltflächen inline zu einem Python-Bot hinzuzufügen. Diese Bibliothek bietet eine benutzerfreundliche Schnittstelle zum Erstellen und Senden von Nachrichten mit Inline-Schaltflächen.

Hier ist ein Beispielcode, der zeigt, wie Inline-Schaltflächen zu einem Telegramm-Bot in Python hinzugefügt werden:

from telegram import InlineKeyboardButton, InlineKeyboardMarkupfrom telegram.ext import Updater, InlineQueryHandler, CommandHandler, CallbackQueryHandler# Функция для обработки команды /startdef start(update, context):# Создание списка кнопокkeyboard = [[InlineKeyboardButton("Кнопка 1", callback_data='btn1'),InlineKeyboardButton("Кнопка 2", callback_data='btn2')],[InlineKeyboardButton("Кнопка 3", callback_data='btn3')]]# Создание объекта InlineKeyboardMarkupreply_markup = InlineKeyboardMarkup(keyboard)# Отправка сообщения с кнопкамиupdate.message.reply_text('Выберите кнопку:', reply_markup=reply_markup)# Функция для обработки нажатия на кнопкуdef button(update, context):query = update.callback_queryquery.answer()query.edit_message_text(text=f"Вы нажали на кнопку ")# Создание объекта Updater и добавление обработчиковupdater = Updater('YOUR_TOKEN', use_context=True)updater.dispatcher.add_handler(CommandHandler('start', start))updater.dispatcher.add_handler(CallbackQueryHandler(button))updater.start_polling()

Im obigen Code erstellen wir die Funktion `start', die mit dem Befehl /start aufgerufen wird. In dieser Funktion erstellen wir eine Liste von Schaltflächen und ein InlineKeyboardMarkup-Objekt, mit dem eine Tastatur mit Schaltflächen erstellt wird. Dann senden wir eine Nachricht mit den Schaltflächen mit der `update'-Methode.message.reply_text`.

Wir erstellen auch eine `button`-Funktion, die aufgerufen wird, wenn auf eine Schaltfläche geklickt wird. In dieser Funktion erhalten wir Informationen über die gedrückte Schaltfläche mithilfe des CallbackQuery-Objekts und senden die Nachricht mit der `query-Methode.edit_message_text`.

Um mit Inline-Schaltflächen im Bot zu arbeiten, müssen Sie beim Initialisieren des Updater-Objekts Handler für den Befehl /start hinzufügen und auf die Schaltfläche klicken. Handler werden mit der `dispatcher'-Methode hinzugefügt.add_handler`.

Damit der Bot Nachrichten empfängt und verarbeitet, müssen Sie die `start_polling`-Methode des Updater-Objekts aufrufen. Der Bot ist dann bereit, auf Befehle und Tastenanschläge zu reagieren.

Daher ist das Hinzufügen von Inline-Schaltflächen zu einem Python-Bot-Telegramm nicht schwierig und ermöglicht es Ihnen, den Bot interaktiver und benutzerfreundlicher zu gestalten.

Arbeitsbeginn

Um Inline-Schaltflächen zu einem Python-Telegramm-Bot hinzuzufügen, müssen Sie einige Schritte ausführen:

    Installieren Sie die benötigten Bibliotheken mit pip:

pip install python-telegram-bot
from telegram import InlineKeyboardButton, InlineKeyboardMarkup
button1 = InlineKeyboardButton("Кнопка 1", callback_data="button1")button2 = InlineKeyboardButton("Кнопка 2", callback_data="button2")button3 = InlineKeyboardButton("Кнопка 3", callback_data="button3")button4 = InlineKeyboardButton("Кнопка 4", callback_data="button4")keyboard = [[button1, button2], [button3, button4]]
reply_markup = InlineKeyboardMarkup(keyboard)
update.message.reply_text("Выберите действие:", reply_markup=reply_markup)

Das ist alles! Jetzt haben Sie eine Inline-Taste in Ihrem Telegramm-Bot.

Installieren der benötigten Bibliotheken

1. Öffnen Sie eine Eingabeaufforderung oder ein Terminal auf Ihrem Computer.

2. Installieren Sie die erforderliche Python-telegram-bot-Bibliothek, indem Sie den folgenden Befehl ausführen:

pip install python-telegram-bot

Diese Bibliothek ermöglicht es Ihnen, mit der Telegramm-API zu interagieren und Ihren Bot zu verwalten.

3. Wenn Sie die Bibliothek noch nicht für das Arbeiten mit HTML-Markup installiert haben, führen Sie zusätzlich den folgenden Befehl aus, um die beautifulsoup4-Bibliothek zu installieren :

pip install beautifulsoup4

Mit der beautifulsoup4-Bibliothek können Sie HTML parsen und für verschiedene Zwecke verwenden, einschließlich der Arbeit mit Schaltflächen.

Nach der Installation dieser Bibliotheken sind Sie bereit, die Inline-Schaltflächen in Ihrem Python-Telegramm-Bot zu verwenden.

Erstellen von Schaltflächen

Um Inline-Schaltflächen zu einem Python-Telegramm-Bot hinzuzufügen, müssen Sie die Python-Telegramm-Bot-Bibliothek verwenden. Sie müssen diese Bibliothek zuerst installieren, indem Sie dazu den Befehl ausführen:

pip install python-telegram-bot

Nach erfolgreicher Installation können wir mit der Erstellung von Schaltflächen beginnen. Zum Erstellen einer Schaltfläche wird die InlineKeyboardButton–Klasse verwendet, die zwei Parameter akzeptiert - den Text auf der Schaltfläche und das Wurst-Datum.

Das Colback-Datum ist eine Information, die beim Drücken einer Taste an den Bot weitergegeben wird. Zum Beispiel kann ein Wurst-Datum die ID eines bestimmten Vorgangs enthalten, den Sie ausführen möchten.

Nachdem die Schaltfläche erstellt wurde, können wir sie der Inline-Tastatur hinzufügen. In der Inline-Tastatur werden die Tasten als Matrix angeordnet. Sie müssen die InlineKeyboardMarkup-Klasse verwenden, um eine Inline-Tastatur zu erstellen.

Nachdem Sie eine Schaltfläche und eine Tastatur erstellt haben, können wir der Nachricht, die an den Empfänger gesendet wird, eine Tastatur hinzufügen. Dazu übergeben Sie die Tastatur an den Parameter reply_markup des Aufrufs der bot-Methode.send_message() .

Jede Taste kann ihren eigenen eindeutigen Text und ein eigenes Datum haben, sodass Sie verschiedene Aktionen für verschiedene Tasten definieren können.

Hinzufügen von Schaltflächen zu einer Nachricht

Um Schaltflächen zu einer Nachricht hinzuzufügen, müssen Sie Folgendes verwenden InlineKeyboardMarkup - spezielle Klasse aus der Bibliothek python-telegram-bot.

aus Telegramm importieren InlineKeyboardMarkup, InlineKeyboardButton Tastatur = [[InlineKeyboardButton("Кнопка 1", Rückrufdaten='button1'), InlineKeyboardButton("Кнопка 2", Rückrufdaten='button2')], [InlineKeyboardButton("Кнопка 3", Rückrufdaten='button3')]] reply_markup = InlineKeyboardMarkup(Tastatur) aktualisieren.Nachricht.antworttext('Выберите кнопку:', antwortmarkup=antwortmarkup)

Im Beispiel wird eine zweidimensionale Liste von Schaltflächen erstellt, wobei jede Schaltfläche ein Objekt darstellt InlineKeyboardButton. Diese Schaltflächen werden dann dem Objekt hinzugefügt InlineKeyboardMarkup, die in einem Parameter übergeben wird reply_markup Methode reply_text.

Dadurch wird dem Benutzer eine Nachricht mit den hinzugefügten Schaltflächen angezeigt, und das entsprechende Ereignis wird ausgelöst, wenn Sie auf die Schaltfläche klicken.

Umgang mit einem Knopfdruck

Nachdem Sie Inline-Schaltflächen in einem Python-Telegramm-Bot erstellt haben, müssen Sie die Verarbeitung der Klicks auf diese Schaltflächen konfigurieren. Dazu können Sie verschiedene Methoden und Funktionen verwenden, um zu bestimmen, welches Element vom Benutzer ausgewählt wurde.

Eine beliebte Methode ist die Verwendung eines CallbackQueryHandler aus der Python-Bibliothek-telegram-bot . Mit diesem Handler können Sie die Funktion angeben, die beim Klicken auf die Schaltfläche aufgerufen wird.

Hier ist ein Codebeispiel, das die Verwendung von CallbackQueryHandler veranschaulicht :

from telegram.ext import CallbackQueryHandlerdef button_click(update, context):query = update.callback_queryquery.answer()# Получить данные, связанные с кнопкойdata = query.data# Обработать нажатие на кнопкуif data == 'button1':context.bot.send_message(chat_id=query.message.chat_id, text='Вы нажали кнопку 1')elif data == 'button2':context.bot.send_message(chat_id=query.message.chat_id, text='Вы нажали кнопку 2')else:context.bot.send_message(chat_id=query.message.chat_id, text='Неизвестная кнопка')# Создать обработчик нажатий на кнопкиbutton_handler = CallbackQueryHandler(button_click)# Добавить обработчик в диспетчер обновленийdispatcher.add_handler(button_handler)

Im obigen Code behandelt die button_click-Funktion Schaltflächenklicks. Wenn wir eine Funktion über CallbackQueryHandler aufrufen, erhalten wir ein update-Objekt, das Informationen zum Klicken auf die Schaltfläche enthält. Wir können dann die mit der Schaltfläche verknüpften Daten mit einer Abfrage abrufen.data .

Je nachdem, auf welche Schaltfläche der Benutzer geklickt hat, können wir bestimmte Aktionen ausführen. In diesem Beispiel senden wir eine Nachricht mit dem Text, der der gedrückten Schaltfläche entspricht.

Jetzt wissen Sie, wie Sie Tastenanschläge in einem Telegramm-Bot in Python verarbeiten. Auf diese Weise können Sie interaktive und reaktionsfähige Bots erstellen, die je nach Wahl des Benutzers verschiedene Aktionen ausführen können.