wie kann ich mit dem Modul discord einen Bot in einem bestimmten Channel zu bekommen? Bisher kann der Bot nur in allen Channels lesen. Ich habe Commands, die in allen Channels lesbar sind, und bestimmtee Commands, die nur in einem speiellem Channel abhörbar sein sollen. Wie macht man das? Danke für Antworten
Discord Python Bot in Channel
-
PythonProgrammer2.0
- User
- Beiträge: 13
- Registriert: Montag 8. Juli 2019, 15:58
Hallo,
wie kann ich mit dem Modul discord einen Bot in einem bestimmten Channel zu bekommen? Bisher kann der Bot nur in allen Channels lesen. Ich habe Commands, die in allen Channels lesbar sind, und bestimmtee Commands, die nur in einem speiellem Channel abhörbar sein sollen. Wie macht man das? Danke für Antworten
wie kann ich mit dem Modul discord einen Bot in einem bestimmten Channel zu bekommen? Bisher kann der Bot nur in allen Channels lesen. Ich habe Commands, die in allen Channels lesbar sind, und bestimmtee Commands, die nur in einem speiellem Channel abhörbar sein sollen. Wie macht man das? Danke für Antworten
Grundsätzlich gibt es da mehrere Möglichkeiten, wenn ich dich richtig verstanden habe
Möglichkeit 1:
Du vergibst Rollen, die nur in den speziellen Channels agieren dürfen, sonst niemand, also @everyone nullen.
Du machst nach dem Start des Commands eine "has role" Abfrage der von Dir gemachten Rolle, somit ist niemand außer der Rolle in der Lage den Befehl zu nutzen, egal in welchem Channel
Möglichkeit 2:
Du machst nach dem Starten des Commands eine "wenn channel ist 'spezial channel'" Anweisung, damit der Code danach nur ausgeführt wird, wenn der Schreiber auch in dem speziellen Channel ist.
Möglichkeit 3:
Sollten vom Bot Ausgaben gemacht werden, kann man auch den Bot, bzw die Rolle des Bots so anpassen, dass er in einigen Channel keine schreib Berechtigung hat, falls das von Nöten ist.
Ich mache grundsätzlich alles über rollen und Berechtigungen, ist für mich übersichtlicher und bequemer
Möglichkeit 1:
Du vergibst Rollen, die nur in den speziellen Channels agieren dürfen, sonst niemand, also @everyone nullen.
Du machst nach dem Start des Commands eine "has role" Abfrage der von Dir gemachten Rolle, somit ist niemand außer der Rolle in der Lage den Befehl zu nutzen, egal in welchem Channel
Möglichkeit 2:
Du machst nach dem Starten des Commands eine "wenn channel ist 'spezial channel'" Anweisung, damit der Code danach nur ausgeführt wird, wenn der Schreiber auch in dem speziellen Channel ist.
Möglichkeit 3:
Sollten vom Bot Ausgaben gemacht werden, kann man auch den Bot, bzw die Rolle des Bots so anpassen, dass er in einigen Channel keine schreib Berechtigung hat, falls das von Nöten ist.
Ich mache grundsätzlich alles über rollen und Berechtigungen, ist für mich übersichtlicher und bequemer
Danke für Eure Zeit und Antworten
mfG Big Sanch
mfG Big Sanch
@BigSanch: Das geht am Thema des Threaderstellers vorbei. Sein Bot liest alle Nachrichten auf einem Discord-Server. Commands kann er erkennen. Nun soll er aber auf bestimmte Commands reagieren, wenn sie in bestimmte Channeln abgesetzt werden.
Er muss also anhand der Nachricht erkennen, in welchem Channel sie abgesetzt wurde.
Er muss also anhand der Nachricht erkennen, in welchem Channel sie abgesetzt wurde.
Finde ich nicht, das beantworte ich denk ich sehr gut damit. Dem Bot ist es egal wo er was liest. Man kann dem Bot sagen er muss reagieren, wenn jemand xxx eingibt, ob nun als Nachricht oder Befehl. Man kann den Bot auf Channel begrenzen beim Command abhören, was ich schlecht finde. Ich finde man sollte Befehle user, channel, role bezogen machen, das ist einfacher. Beispiel:und bestimmtee Commands, die nur in einem speiellem Channel abhörbar sein sollen. Wie macht man das?
- Channel a
- alle user erlaubt
- standart rollen erlaubt
- alles vom bot erlaubt
- Channel b
- alle user erlaubt
- standart rollen erlaubt
- extra rolle "cmd" erlaubt
- alles vom bot erlaubt
- Channel c
- nur user der rolle admin erlaubt
- keine standart rollen erlaubt
- alles vom bot erlaubt
- Channel d
- nur user der rolle admin erlaubt
- keine standart rollen erlaubt
- extra rolle "cmd" erlaubt
- alles vom bot erlaubt
Aber gerne nochmal ausführlicher:
wie kann ich mit dem Modul discord einen Bot in einem bestimmten Channel zu bekommen?
- Mit der Rollenvergabe
- Geb dem Bot eine Rolle
- sag dass im Channel x die rolle nicht erlaubt ist, also schreib und lese verbot
- Bei der Bot Befehl Programmierung
- gib dem Bot den Befehl "!test" und eine Aufgabe dazu
- sag dem Befehl, dass er nur in Channel x funktionieren darf
- Bei der Bot Rollen Programmierung
- gib dem Bot den Befehl "!test" und eine Aufgabe dazu
- sag dem Befehl, dass er nur Role x funktionieren darf
- sag dem Channel x dass dort nur Rolle x shreiben darf
Wenn gewollt ok, wenn nicht:Bisher kann der Bot nur in allen Channels lesen.
- Mit der Rollenvergabe
- Geb dem Bot eine Rolle
- sag dass im Channel x die rolle nicht erlaubt ist, also schreib und lese verbot
- Bei der Bot Befehl Programmierung
- gib dem Bot den Befehl "!test" und eine Aufgabe dazu
- sag dem Befehl, dass er nur in Channel x funktionieren darf
und bestimmtee Commands, die nur in einem speiellem Channel abhörbar sein sollen. Wie macht man das?
- Mit der Rollenvergabe
- Geb dem Bot eine Rolle
- sag dass im Channel x die rolle nicht erlaubt ist, also schreib und lese verbot
- Bei der Bot Befehl Programmierung
- gib dem Bot den Befehl "!test" und eine Aufgabe dazu
- sag dem Befehl, dass er nur in Channel x funktionieren darf
- Bei der Bot Rollen Programmierung
- gib dem Bot den Befehl "!test" und eine Aufgabe dazu
- sag dem Befehl, dass er nur Role x funktionieren darf
- sag dem Channel x dass dort nur Rolle x shreiben darf
Dann wäre nett wenn man mir sagte was daran falsch sein soll. Ich will ja auch was lernen
Danke für Eure Zeit und Antworten
mfG Big Sanch
mfG Big Sanch
Wenn du es etwas komplizierter, aber sicherer machen willst, kannst auch folgendes beim Schreiben des Bot Befehls integrieren:
- schreibe im Bot Befehl, dass der nur im Channel X funktionieren darf
- schreibe im Bot Befehl, dass der nur mit Rolle x funktionieren darf
Danke für Eure Zeit und Antworten
mfG Big Sanch
mfG Big Sanch
