Discord Bot erstellen?

5 Antworten

Vom Fragesteller als hilfreich ausgezeichnet
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

Woher ich das weiß:eigene Erfahrung – 💻 Moderator bei Nightingale & Century + Botentwickler
FrozenArmy 
Fragesteller
 18.03.2022, 14:08

Sind die Bibliotheken für die Python Events bei Discord zum downloaden oder werden die dann dort einfach ausgeführt?

0
FrozenArmy 
Fragesteller
 18.03.2022, 14:28
@Dultus, UserMod Light

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?

0
FrozenArmy 
Fragesteller
 18.03.2022, 16:53
@Dultus, UserMod Light

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^^

1
FrozenArmy 
Fragesteller
 18.03.2022, 16:59
@Dultus, UserMod Light

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?

0

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.

Als Editor würde ich dir Visual Studio Code empfehlen. Such einfach mal nach Discord.py JoinEvent, dann findest du bestimmt einige Hilfen.

Woher ich das weiß:eigene Erfahrung