Discord Bot reagiert nicht/macht ungewollten loop

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Bumblebee38
User
Beiträge: 13
Registriert: Mittwoch 23. Mai 2018, 20:26

Mittwoch 23. Mai 2018, 20:52

Hallo,

Ich versuche mich mit einem Discord Bot an Python heranzutasten (Ich habe sonst nie mit Programmieren gearbeitet).

Ich möchte einen Discord Bot erstellen, welcher bei bestimmten Benutzern eine Reaktion verursacht als bei anderen Nutzern. Die Bestimmung der Nutzer soll durch einen eindeutigen User Code erfolgen. Die Reaktion soll eine Antwort auf einen Befehl vom Nutzer sein.

z.B. Admin = Gewünschter User, Gast = Anderer User

Wenn der Admin schreibt "!amiadmin" dann antwortet der Bot mit "Ja". Wenn der Gast "!amidamin" schreibt dann antwortet der Bot mit "Nein".


Der Bot ist schon hinzugefügt worden. Jedoch hat er erst ständig einen Loop verursacht, obwohl dies nicht passieren sollte und nach herumexperimentieren hat der gar nicht mehr reagiert.

Code: Alles auswählen

import discord
from discord.ext.commands import Bot
from discord.ext import commands
import asyncio
import time

Client = discord.Client()
client = commands.Bot(command_prefix = "/")

@client.event
async def on_ready():
    print("Ist es ein Vogel? Ist es ein Flugzeug? Oh. Es ist nur Bumblebee38s Bot.")

    @client.event
    async def on_message(message):
        userID = message.author.id
        if message.content == "/amiadmin":
            if message.author.id == "#User ID von gewünschter Person":
                 client.send_message(message.channel, "<@%s> Nein" % (userID))
            else:
                await client.send_message (message.channel, "Bist du dir sicher, dass du Bumblebee38 bist?")
          


client.run("#Bot-token")
Ich möchte nur, dass beim schreiben des Befehls eine Antwort vom Bot kommt, welche auch auf die jeweiligen Verfasser zutreffen.
Was muss ich denn verändern, damit der Bot richtig handelt?
Antworten