Zum Hauptinhalt springen

So verbinden Sie zwei Aiogram-Benutzer: ein einfacher Weg

aiogram ist eine der beliebtesten Bibliotheken für die Entwicklung von Telegrammbots in Python. Eine der häufigsten Aufgaben bei der Entwicklung von Bots ist die Notwendigkeit, zwei oder mehr Benutzer zu verbinden. In diesem Handbuch erfahren Sie, wie Sie zwei Benutzer einfach mit Aiogram verbinden können.

Zuerst müssen Sie die Aiogram-Bibliothek installieren, wenn Sie sie noch nicht auf Ihrem Computer installiert haben. Sie können Aiogram mit dem Pip-Paketmanager installieren:

pip install aiogram

Nach der Installation von aiogram benötigen Sie das Token Ihres Bot, das Sie erhalten können, indem Sie einen Bot in Telegram erstellen und von @BotFather erhalten. Bewahren Sie das Token an einem sicheren Ort auf, da es zur Authentifizierung Ihres Bots verwendet wird.

Nachdem Sie nun die Aiogram-Bibliothek und das Token Ihres Bot installiert haben, können Sie mit dem Erstellen von Code beginnen, um zwei Benutzer zu verbinden. Sie müssen eine Instanz der Klasse erstellen Dispatcher aus der Aiogram-Bibliothek und gib ihm das Token deines Bots:

from aiogram import Bot, Dispatcherbot = Bot(token="YOUR_BOT_TOKEN")dp = Dispatcher(bot)

Jetzt haben Sie eine Dispatcher-Instanz, mit der Sie alle eingehenden Nachrichten verarbeiten können, einschließlich Befehle von Benutzern. Sie benötigen zwei Handlerfunktionen, um eine Verbindung zwischen zwei Benutzern herzustellen: einer für den ersten Benutzer, der andere für den zweiten Benutzer.

In der Handlerfunktion des ersten Benutzers erwarten Sie Nachrichten vom zweiten Benutzer und senden sie an den ersten Benutzer. In der Handlerfunktion des zweiten Benutzers erwarten Sie Nachrichten vom ersten Benutzer und senden sie an den zweiten Benutzer. Sie können die Methode verwenden send_message() aus der Aiogram-Bibliothek, um Nachrichten zwischen Benutzern zu senden.

Was ist Aiogram?

aiogram bietet verschiedene Möglichkeiten für die Arbeit mit Telegrammbots, darunter das Senden und Empfangen von Nachrichten, das Angeben verschiedener Tastaturen und Tasten, das Verwalten von Zuständen und vieles mehr. Es unterstützt auch die Verarbeitung von Befehlen, einschließlich regulärer Ausdrücke, sowie die Interaktion mit der Datenbank.

Das Framework verfügt über eine flexible Architektur, die auf asynchroner Programmierung basiert und es ermöglicht, Bots mit verschiedenen Speichertypen wie Redis oder SQLite zu erstellen. Es unterstützt auch die Verwendung von Webhook, um Updates von der Telegramm-API zu erhalten.

Die wichtigsten Funktionen von aiogram:
Senden und Empfangen von Nachrichten von Benutzern
Erstellen und Verwalten verschiedener Arten von Tastaturen und Schaltflächen
Verwalten von Zuständen, um mehrstufige Dialoge zu erstellen
Verarbeiten von Befehlen mit regulären Ausdrücken
Interaktion mit der Datenbank
Unterstützung für verschiedene Speicher
Verwenden von Webhook zum Abrufen von Updates

Was ist eine Benutzerverbindung in aiogram?

Die Benutzerverbindung kann in verschiedenen Szenarien nützlich sein. Wenn Sie beispielsweise ein Spiel erstellen, in dem Benutzer miteinander spielen können, können Sie die Benutzerverbindung verwenden, um Spielbewegungen oder Statusmeldungen des Spiels auszutauschen. Dies kann auch nützlich sein, wenn Sie Chatbots oder Anwendungen für die Teamarbeit erstellen, in denen Benutzer Informationen austauschen oder Aufgaben gemeinsam lösen können.

Um zwei Benutzer in einem Aiogram zu verbinden, müssen Sie die eindeutigen IDs (user_id) jedes Benutzers erhalten. Mit diesen IDs kann der Bot bestimmen, an wen er eine Nachricht sendet und von wem er eine Antwort erhält. Sie können dann Aiogram-Methoden und -Funktionen verwenden, um Nachrichten zwischen Benutzern zu senden und zu empfangen.

Die Verbindung von Benutzern in Aiogram kann durch verschiedene Mechanismen realisiert werden, einschließlich der Verwendung eines Datenspeichers (z. B. einer Datenbank) zum Speichern von Benutzer-IDs und deren Beziehungen sowie der Verwendung von Callback-Tastaturen oder Inline-Tastaturen zum Messaging. Es ist wichtig, potenzielle Sicherheits- und Datenschutzbedenken bei der Implementierung einer Benutzerverbindung zu berücksichtigen, um persönliche Daten zu schützen und die Kommunikation zu sichern.

Vorteile der Benutzerverbindung in AiogramNachteile der Benutzerverbindung in aiogram
Sofortige Kommunikation zwischen BenutzernPotenzielle Sicherheits- und Datenschutzprobleme
Die Bequemlichkeit und Benutzerfreundlichkeit von aiogramAbrufen und Speichern von Benutzer-IDs erforderlich
Möglichkeit, interaktive Bots und Anwendungen zu erstellenRessourcenaufwand bei einer großen Anzahl von Benutzern
Flexibilität und Anpassbarkeit der VerbindungDie Notwendigkeit, Bots ständig zu aktualisieren und zu unterstützen

Abschnitt 1: Vorbereitung

Bevor Sie zwei Aiogram-Benutzer verbinden können, müssen Sie einige vorbereitende Schritte ausführen. Stellen Sie zunächst sicher, dass Sie die neueste Version von aiogram installiert haben. Sie können es installieren, indem Sie den Befehl ausführen:

pip install aiogram

Außerdem benötigen Sie einen Bot-API-Schlüssel, um mit der Telegramm-API zu arbeiten. Um es zu erhalten, folgen Sie den Anweisungen von Telegram:

  1. Gehe zu Telegram und finde den Bot @BotFather.
  2. Schreiben Sie ihm jede Nachricht.
  3. Befolgen Sie die Anweisungen @BotFather, um einen neuen Bot zu erstellen.
  4. Nachdem der Bot erstellt wurde, @BotFather gibt Ihnen einen API-Schlüssel, den Sie für die spätere Verwendung speichern müssen.

Nachdem Sie den API-Schlüssel erhalten haben, erstellen Sie eine neue Python-Datei und fügen Sie die erforderlichen Module ein:

Erstellen Sie dann eine Instanz der Klasse Bot und übergebe ihm deinen API-Schlüssel:

Jetzt sind Sie bereit, zwei Aiogram-Benutzer zu verbinden!

Installation von Aiogram

pip install aiogram

Dieser Befehl installiert alle erforderlichen Abhängigkeiten und Bibliotheken, die für die Arbeit von aiogram erforderlich sind. Nach erfolgreicher Installation können Sie beginnen, einen Bot zu erstellen und Benutzer zu verbinden.

Einen Bot in Telegram erstellen

Um zu beginnen, müssen Sie die Telegram-Anwendung auf Ihrem mobilen Gerät oder PC installieren und sich registrieren. Danach folgen Sie den Anweisungen, um einen neuen Bot zu erstellen:

Schritt 1:Öffnen Sie die Telegram-App und suchen Sie nach einem Bot namens @BotFather.
Schritt 2:Starten Sie einen Dialog mit @BotFather und folgen Sie den Anweisungen, um einen neuen Bot zu erstellen. Wählen Sie einen eindeutigen Namen für den Bot aus und erhalten Sie ein Zugriffstoken.
Schritt 3:Kopieren Sie das Zugriffstoken und speichern Sie es an einem sicheren Ort. Sie benötigen dieses Token, um mit der Telegram-API zu interagieren.
Schritt 4:Ihr Bot ist jetzt einsatzbereit. Sie können es zu Gruppen oder Chats hinzufügen und seine Funktionalität anpassen.

Glückwunsch! Jetzt haben Sie Ihren eigenen Bot in Telegram. Sie können verschiedene Werkzeuge und Bibliotheken verwenden, wie zum Beispiel aiogram. um interessante und nützliche Funktionen für Ihren Bot zu erstellen.

Abschnitt 2: Senden von Nachrichten

Wenn Sie eine einfache Textnachricht senden möchten, können Sie die Methode send_message verwenden. Sie müssen die Benutzer- oder Gruppen-ID sowie den Nachrichtentext angeben. Zum Beispiel:

await bot.send_message(chat_id=user_id, text='Привет! Как дела?')

Sie können dem Benutzer auch ein Foto mit der Methode send_photo senden. Dazu müssen Sie die Benutzer- oder Gruppen-ID sowie den Pfad zum Foto angeben. Zum Beispiel:

await bot.send_photo(chat_id=user_id, photo=open('photo.jpg', 'rb'))

Wenn Sie dem Benutzer ein Dokument senden möchten, können Sie die Methode send_document verwenden. Dazu müssen Sie die Benutzer- oder Gruppen-ID sowie den Pfad zum Dokument angeben. Zum Beispiel:

await bot.send_document(chat_id=user_id, document=open('document.pdf', 'rb'))

Denken Sie daran, dass Sie über Berechtigungen für den Zugriff auf die Datei verfügen müssen, die Sie senden möchten, andernfalls kann die Methode einen Fehler verursachen.

Neben Klartext und Mediendateien können Sie komplexere Nachrichten wie Nachrichten mit Schaltflächen oder Inline-Tastaturen senden. Um dies zu tun, müssen Sie die entsprechenden Methoden und Objekte im aiogram verwenden.

Hier sind einige von ihnen:

  • send_poll : Sendet eine Umfrage mit Antwortmöglichkeiten
  • send_location : Sendet einen Standort auf der Karte
  • send_video : Sendet ein Video
  • send_audio : Sendet eine Audiodatei

Mit diesen Methoden können Sie interaktive und faszinierende Bots erstellen, die mit Benutzern interagieren und ihnen eine Vielzahl von Funktionen bieten.

Senden einer Nachricht an einen Benutzer

Um eine Nachricht an einen Benutzer im Bot zu senden, müssen Sie seine eindeutige ID kennen, die so genannte chat_id.

Um es herauszufinden chat_id sie können den Befehl /start verwenden. Sie können diesen Befehl im Handler abrufen chat_id verwenden Sie das message-Argument.

from aiogram import types from aiogram.dispatcher import filters @dp.message_handler(filters.CommandStart()) async def start_command_handler(message: types.Message): chat_id = message.chat.id await message.reply(f"Ihre chat_id: ")

Erhieltest chat_id sie können eine Nachricht an den gewünschten Benutzer senden, indem Sie die send_message() -Methode verwenden :

await bot.send_message(chat_id=chat_id, text="Hallo!")

In diesem Beispiel akzeptiert die send_message() -Methode zwei erforderliche Argumente - chat_id und der Text der Nachricht text.

Auf diese Weise können Sie eine Nachricht an einen Benutzer in Ihrem Bot senden, indem Sie ihn verwenden chat_id und die Methode send_message() .

Viel Glück bei der Entwicklung!

Erstellen eines Befehls zum Senden einer Nachricht

Damit ein Benutzer eine Nachricht an einen Chat senden kann, müssen Sie einen Befehl erstellen, der diese Aktion verarbeitet.

SchrittHandlungDie Beschreibung
1Erstellen einer FunktionErstellen Sie eine Funktion, die den Befehl zum Senden einer Nachricht verarbeitet. Diese Funktion akzeptiert zwei Argumente: ein Nachrichtenobjekt und einen Kontext. Innerhalb dieser Funktion können Sie den Text der Nachricht, den Absender der Nachricht und andere nützliche Informationen abrufen.
2Befehl einrichtenFügen Sie Ihrem Bot einen Befehl hinzu, indem Sie ein Zeichen oder eine Phrase angeben, mit der die Funktion zum Senden der Nachricht aufgerufen wird. Zum Beispiel können Sie den Befehl "/send" auswählen.
3Erstellen einer AntwortErstellen Sie innerhalb der Funktion zum Senden einer Nachricht eine Textnachricht, die als Antwort auf einen Befehl angezeigt wird. Sie können HTML-Markup verwenden, wenn Sie die Antwort stilisieren möchten.
4Senden einer NachrichtVerwenden Sie die Bot-Methode.send_message(), um die Nachricht an den Chat zu senden. Geben Sie die Chat-ID an, an die Sie die Nachricht senden möchten, und den Text der Nachricht an.

Nachdem Sie diese Schritte ausgeführt haben, ist Ihr Bot bereit, Nachrichten zu senden. Benutzer können den Sendebefehl aufrufen und den Text der Nachricht eingeben, die Ihr Bot empfängt und verarbeitet. Sie können die Funktionalität zum Senden einer Nachricht erweitern, indem Sie die Verarbeitung von Bildern, Dateien und anderen Inhaltstypen hinzufügen.

Abschnitt 3: Empfangen von Nachrichten

Nachdem Sie eine Verbindung zwischen zwei Benutzern in aiogram eingerichtet haben, können Sie mit dem Empfangen von Nachrichten von ihnen beginnen. Dazu müssen Sie den Ereignisbehandlungsmechanismus in aiogram verwenden.

1. Erstellen Sie eine Handlerfunktion, die aufgerufen wird, wenn eine Nachricht von Benutzern empfangen wird. Diese Funktion kann einen beliebigen Namen haben, wir empfehlen jedoch, sie "handle_message" zu nennen.

2. Innerhalb der Handlerfunktion können Sie Informationen über die Nachricht mit einem "message" -Objekt abrufen, das als Parameter übergeben wird. Zum Beispiel können Sie den Nachrichtentext mit "message.text".

3. Nachdem Sie eine Nachricht erhalten haben, können Sie die erforderlichen Aktionen ausführen, z. B. auf eine Nachricht antworten oder deren Inhalt verarbeiten.

4. Um eine Handlerfunktion an das Empfangsereignis einer neuen Nachricht zu binden, müssen Sie genau angeben, welche Nachrichtentypen Sie verarbeiten möchten. Sie können beispielsweise den Typ "messageType" angeben.TEXT" nur für die Verarbeitung von Textnachrichten.

5. Um mit dem Empfangen von Nachrichten zu beginnen, müssen Sie die Methode "start_polling" des Objekts "dp" (dispatcher) aufrufen. Diese Methode löst eine Endlosschleife aus, die auf neue Nachrichten von Benutzern wartet.

async def handle_message(message: types.Message):text = message.text # Получаем текст сообщения# . Дополнительные действия с сообщением . if __name__ == '__main__':# Инициализация бота и диспетчераbot = Bot(token=TOKEN)dp = Dispatcher(bot)# Привязка функции-обработчика к событию получения нового сообщенияdp.register_message_handler(handle_message, content_types=types.MessageType.TEXT)# Запуск приема сообщенийdp.start_polling()

Nach dem Start hört der Bot aktiv auf neue Nachrichten von Benutzern und ruft die Handlerfunktion "handle_message" für jede empfangene Nachricht auf.

Beachten Sie, dass Sie in einem echten Bot auch andere Arten von Nachrichten verarbeiten müssen, z. B. Bilder, Dokumente und andere Mediendateien. Dazu können Sie zusätzliche Handlerfunktionen hinzufügen und die entsprechenden Nachrichtentypen angeben, wenn Sie sie registrieren.