
Dieser multifunktionale Bot kann von allem ein wenig tun! Es ist ein Pooked, URL verkürzt und gelangweilt sogar zu Ihnen, wenn Sie keine Ahnung haben, was zu tun ist. Es wurde auf meinem Twitch Channel Live mit dem Ziel entwickelt, verschiedene Techniken, Funktionen und Implementierung von Ideen in nur einem Projekt zu erlernen. Darüber hinaus sammelt es keine Daten vom Benutzer, der mit ihm im Telegramm interagiert, und antwortet nur mit Anfragen.
Im Folgenden können Sie sehen, welche APIs und Technologien im Projekt verwendet wurden, Anweisungen zur Installation der erforderlichen Pakete und die Verwendung der Anwendung. Das Projekt wurde abgeschlossen und platziert, um in der Cloud zu arbeiten, um sicherzustellen, dass jeder jederzeit uurfrfr. Fügen Sie einfach @billtoinLiveBot zum Telegramm hinzu und haben Sie Spaß!
Die Plattform, mit der der Bot in der Cloud ausgeführt wurde, war Heroku, da er schnell, einfach und effizient ist. Die Verwendung dieser Plattform ist für Bot Bot und Cloud -Ausführung nicht obligatorisch, da sie unter anderem lokal auf Ihrem Computer oder anderen Plattformen wie AWS verwendet werden können.
Liste der APIs, die bei der Entwicklung des Bots verwendet werden:
Quelle: Öffentliche API -Liste bei GitHub
Hauptpython -Packs, die bei der Entwicklung des Bots verwendet werden
Python -Version, die im Projekt verwendet wird: Python 3.8
Um die in diesem Projekt verwendeten Pakete zu installieren und auf Ihrem Computer zu replizieren oder eine andere basierend darauf zu erstellen, sind einige Informationen erforderlich, um zu trainieren! Erstens, wenn Sie in seinem eigenen Bot replizieren möchten, müssen Sie Ihren Bot im Telegramm im Chat @BotFather erstellen. In diesem Chat können Sie einen Bot erstellen, Befehle bearbeiten, Beschreibung hinzufügen usw., aber vor allem, um das Projekt zu replizieren, soll die in seiner Erstellung generierte Token -API speichern. Dieses Token kann in der bot.py -Datei im Projekt in der Variablen bot_token platziert werden, sodass alle Funktionen direkt zu Ihrem Bot laufen.
Es gibt zwei Möglichkeiten, alles zu installieren, was zum Ausführen des Codes erforderlich ist. Sie müssen die auswählen, die Sie am besten finden. Durch requirements.txt oder Pipenv . Die BOT -Konfiguration in der Cloud wird hier nicht behandelt, da die Plattform -Dokumentation selbst (Heroku) den Schritt für Schritt hat, den Code dort auszuführen. Es ist jedoch erwähnenswert, dass mindestens eine dieser Paketinstallationsmethoden für die Konfiguration der Umgebung in der Cloud sowie auf Ihrem Computer erforderlich ist.
Die Installation durch Anforderungen.txt ist einfach, da Sie nur die PIP auf dem Computer installieren und den folgenden Befehl ausführen müssen:
pip install requirments.txt
Der Vorteil der Installation auf diese Weise ist schnell, einfach und einfach. Es ist jedoch zu beachten, dass diese Methode nur sicherstellt, dass die im Projekt verwendeten Hauptbibliotheken in ihren richtigen Versionen installiert sind, jedoch nicht in ihren Tochterunternehmen. Von jetzt an ein paar Jahre gehen Sie vielleicht schief, aber Sie müssen sich keine Sorgen machen.
Um die Pakete mit PipEnV zu installieren, stellen Sie zunächst sicher, dass PipeNV auf Ihrem Computer mit dem folgenden Befehl installiert ist:
pip install pipenv
Installieren Sie dann die Pakete über die Datei pipFile.lock -Datei mit dem Befehl:
pipenv install --ignore-pipfile
Mit allem, was installiert ist, müssen Sie den Befehl pipenv Shell im Projektordner nur ausführen. Sobald er sich in der virtuellen Umgebung befindet und alles installiert ist, wird der Code normal ausgeführt.
pipenv shell
python main.py

In diesem Thema wird erklärt, wie das Projekt strukturiert ist, zwischen den Dateien und wie sich die Codes verbinden, damit jeder die erforderliche Art und Weise versteht und ändern kann. Die Art und Weise der Implementierung wird bereits in der Dokumentation von Bibliotheken selbst erläutert, sodass der Schwerpunkt auf der Art und Weise liegt, wie sie in diesem Projekt organisiert wurde. In der folgenden Abbildung ist es möglich zu beobachten, wie die Dateien strukturiert sind, und wir werden die Verbindungen zwischen ihnen eingeben (IMG -IMG -Ordner ignoriert, da sie nur die in diesem Readme verwendeten Bilder enthält).

Das Projekt kann in drei Abschnitte unterteilt werden:
Die gesamten Bot -Organisation und Funktionscodes befinden sich innerhalb der funcs/ . Die Python main.py -Datei enthält nur die Erstellung des Bot -Klassenobjekts, das sich in bot.py befindet, um die Bot -Ausführung mit der run() auszuführen.
Jede für dieses Projekt erstellte Funktionen haben eine eigene Klasse, class Pokedex() , class Bored() und class Urlshort() . Um den Code organisiert und für die Wartung zu halten, ist jeder im Bot vorhandene Befehl in den Klassenmethoden überfüllt. Im Abschnitt BOT -Gebrauch sollten Sie beachten, dass die Namen der Methoden mit den Namen der eigenen Befehle des Bots übereinstimmen, sodass die Implementierung der einzelnen Sache nicht verwirrt ist. Da einige APIs für die Sammlung von Bot -Daten verwendet wurden, hat jede Klasse auch ihre Basis -URL, um jede API gut zu trennen und ihre jeweiligen Anforderungen und Besonderheiten zu organisieren. Ein Beispiel für die Befehlsimplementierung ist unten mit dem grundlegendsten Befehl des Bots mit der Funktion send_message() mit dem geschriebenen Text für die eigene Person zu sehen, die den Befehl angerufen hat.
def start ( self , update , context ):
context . bot . send_message ( chat_id = update . effective_chat . id , text = "Bem vindo ao bot da transmissão (Ao vivo, não de covid) n Acesse twitch.tv/bittoin para mais informações!" ) Zuletzt haben wir die Hauptklasse des Bots in der bot.py -Datei, in der alle zuvor erwähnten Funktionen der Funktionalität von Bedeutung sind, ihre jeweiligen Klassenobjekte erstellt und die Methoden zum Verwalten der implementierten und verwendeten Befehle im Online -Bot -Chat verwendet. Nachdem wir ein Objekt der Klasse unserer Funktionalität haben, erstellen wir einen Handler, bei dem die Methode, die vom Bot und dessen Befehl aufgerufen wird, übergeben wird, wie unten zu sehen ist:
pokedex_handler = CommandHandler ( 'pokedex' , self . pokedex . pokedex ) Das erste Argument ist der Name des Befehls, der im Chat aufgerufen wird, und das zweite die Methode, die beim Betrieb aufgerufen wird. Danach verwenden wir dispatcher von Bot, der für die Verwaltung und Funktionsweise aller erstellten Handler verantwortlich ist, um auf alle Benutzeranfragen zu reagieren und die interne Organisation von Anrufen zu verwalten.
self . dispatcher . add_handler ( pokedex_handler ) Am Ende des Prozesses haben wir die Ausführung des Bots selbst, wobei alle Funktionen dem dispatcher hinzugefügt werden und auf die Fertigstellung warten.
# Inicia a execução do bot
self . updater . start_polling ()
# Roda o bot até apertar CTRL + C ou receber um SIGNAL
self . updater . idle ()Wenn in der Projektausführung ein Fehler in Bezug auf Anfragen bei der Übersetzung in Bezug auf Fehler vorliegt, greifen Sie mit der Lösung auf diesen Link zu.
Das sample/ hat die Dateien von Beispiele.py und InlineKeyboard.Py . Sample.Py verfügt über die ersten Tests am Bot zu Beginn von Live, um zu testen, wie die Funktionen der Telegrammbibliothek für Python arbeiten, um einige Eigenschaften zu entdecken und zu validieren. Sie können feststellen, dass es unordentlich und schwer zu trennen ist, da sich alles in einer Datei befindet, sodass die Organisation von funcs/ übernommen wurde. In InlineKeyboard.py wurde das Beispiel direkt aus der Bibliotheksdokumentation mit dem Ziel genommen, Schlüssel/Tasten im Telegramm -Chat zu testen, um die Funktion der gelangten API zu implementieren.
Die Paketinstallation wurde bereits bereits im Abschnitt "Installation" erläutert, sodass sich der Schwerpunkt auf der Procfile -Datei befindet. ProcFile ist das, was in der Cloud über die Heroku -Plattform ausgeführt wird. Es ist eine einfache Datei und enthält den einfachen Befehl:
Arbeiter: Python main.py
Dieser Befehl verteilt lediglich eine Instanz des Servers in der Cloud (Worker), um unseren Bot über die main.py -Datei auszuführen, die die Ausführung aktiviert.

Hier sind alle Funktionen aufgeführt, die während des geschriebenen und gefüllten Lebenes besprochen wurden. Jedes dieser Themen wurde live implementiert und getestet. Die Idee ist, dass die Öffentlichkeit während des Lebens dazu beiträgt, die Merkmale zu schaffen, die Anforderungen zu ermitteln und wie sie am Ende sein wird.

In diesem Abschnitt wird die mit dem Bot- und Anwendungsfälle für jede Funktionalität erhaltenen Ergebnisse gezeigt. Genießen Sie und fügen Sie den Bot zum Telegramm hinzu und testen Sie es auch! Suchen Sie einfach nach @BittoinLiveBot und tippen Sie die Befehle im Chat ein.
Wenn Sie eine vollständige und mehr erklärte Demonstration darüber sehen möchten, wie alles funktioniert, besuchen Sie mein Instagram oder meinen YouTube -Kanal mit Videos auf IGTV/Kanal mit allem und ein bisschen mehr!
/start Der Befehl /start zeigt nur eine willkommene Nachricht an.


Hier werden alle Befehle der Pokédex -Funktionalität vorgestellt.
/pokedex nome_pokemon 
/pokedex numero_pokemon 
/habilidades nome_num_pokemon 
/moves nome_num_pokemon 

Hier werden alle Befehle der URL reduzierte Funktionalität präsentiert.
/url link 

Hier werden alle Befehle des Tools, mit dem Sie aus Langeweile gelangen, hier präsentiert.
/bored 
/participantes num_participantes 