Discord Bot erstellen?
Moin, ich wollte mir mal für Discord einen Bot erstellen, der immer eine Nachricht sendet, wenn ein User joint (ich weiß dass das auch über die Einstellungen geht, aber mir gehts halt um den Bot). Ich habe mal bisschen nachgeschaut, man macht das bspw. mit Python, habe ich mir auf meinem Ubuntu geladen, und dann? Ich denke mal das Nachrichten schreiben kann der Bot mit print(), aber wie erkennt der Bot wenn ein User joint?
Danke für eure Antworten.
Und welchen Python Editor würdet ihr für Ubuntu empfehlen?
5 Antworten
Und welchen Python Editor würdet ihr für Ubuntu empfehlen?
Visual Studio Code! Der Editor für alle Betriebssysteme schlecht hin.
Ich denke mal das Nachrichten schreiben kann der Bot mit print(), aber wie erkennt der Bot wenn ein User joint?
Ich persönlich mache das über C#, kann dir deshalb nicht den Python Code geben. Generell ist es so, dass du die API von Discord als Library laden musst und dieser dann die Daten deines Bots übergibst.
Es gibt dann Events, die von der Library getriggered werden, die man über eigene Events konsumieren kann. In C# gibt's da zum Beispiel OnGuildUserJoined. Die Methode wird dann automatisch ausgeführt.
Jedoch ist das nicht einfach so "ich schreibe da irgendwas hin und gut". Da muss man sich schon einarbeiten.
Hier ist das OnJoin Event beschrieben;
How do I make my Python discord bot give roles on join? - Stack Overflow
und hier ein sehr kurzes Tutorial;
How to make a simple Discord bot in Python | by mupster | Medium
Aber nein, es ist kein einfaches Print und gut - es gibt dafür eigene Methoden. Print ist nur für die Pythonkonsole.
Alternativ gibt es aber auch Bots, die das bereits können.
Arcane, Carl-Bot, Mee6 usw. Die Nachrichten sind anpassbar.
LG
Beim 2. Befehl
py -3 -m pip install -U discord.py
gibt mir der Terminal eine Fehlermeldung:
/usr/bin/py:16: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working
from collections import Iterable
usage: py [-x] [-l] [-c PRE_CMD] [-C POST_CMD] [-V] [-h] [expression]
py: error: unrecognized arguments: -m pip install -U discord.py
Weißt du was damit gemeint ist?
Ups, sorry für den unbedachten Kommentar. Ich hätte mir den Text über dem Befehl durchlesen sollen, dort steht dass der Befehl für Windows ist...und ich benutze Linux^^
Und benötige ich auch die "virtuelle Umgebung" oder kann ich die lassen?
Ok, danke.
Eine letzte Sache noch dann hast du erstmal Ruhe vor mir^^: Kann ich dem Script dann einfach die Dateiendung .py geben? Und soll ich im gedit python oder python3 nehmen?
Kannst du. Aber bzgl. Gedit keine Ahnung. Bin halt kein Python Dev. :-)
Damit du einen Bot Programmieren kannst musst du erst einmal das Konzept der Programmiersprache verstehen. Ohne Know-How in der Programmiersprache wirst du auch keinen Bot schreiben können. Um z.B. mit Python anzufangen empfehle ich dir entweder ein paar Tutorials auf YouTube anzuschauen oder z.B. den kostenlosen Python-Kurs von openHPI (https://open.hpi.de/courses/pythonjunior2020). Nachdem du die Grundlagen gelernt hast, kannst du auch anfangen einen Bot zu schreiben.
Für den Editor kannst du an sich jeden Texteditor benutzen. Wenn du mehr Features haben möchtest, als ein simpler Texteditor bietet, empfehle ich Notepad++ (müsste unter Linux notepadqq heißen), Visual Studio Code oder Pycharm. Diese bringen einige Features wie Syntax-Highlighting, Shortcuts für Kommentieren, ausführen etc. mit.
Ich kenne mich nicht wirklich mit python aus, also könnte das hier gefährliches Halbwissen sein.
Ich habe es so verstanden, dass print() in py dasselbe ist wie console.log() in js. Es gibt zb in visual studio code über Terminal < neues Terminal eine Console. Wenn du in python print("Hallo") schreibst, sendet es eine Nachricht in die Console. Das ist sehr hilfreich, um Probleme zu lösen, sendet aber keine Nachricht in Discord.
Einfach mal diese deutsche Playlist durchgucken, dort findest Du alles, was Du brauchst!
https://www.youtube.com/watch?v=4TSBD53e5No&list=PLNmsVeXQZj7rI3usLYlWhsjdFJ-MER_pU
Als Editor würde ich dir Visual Studio Code empfehlen. Such einfach mal nach Discord.py JoinEvent, dann findest du bestimmt einige Hilfen.
Sind die Bibliotheken für die Python Events bei Discord zum downloaden oder werden die dann dort einfach ausgeführt?