Seite 1 von 1

Python Discord Bot Status

Verfasst: Samstag 15. Mai 2021, 20:56
von AGW2021
Hallo,

ich habe meinen Python Discord Bot einen Status geben, der sich alle 20 Sekunden ändert, nur wenn er beim letzten Status angekommen ist bleibt der für immer, aber ich möchte wenn er unten angekommen ist, dass es von oben wieder weiter macht, nur wie mache ich das?

Hier der Code:

Code: Alles auswählen

async def on_ready(self):
    print("Ich habe mich eingeloggt. Beep bop. bot.py")
    await client.change_presence(status=discord.Status.online)
    await client.change_presence(activity=discord.Game('/help'))
    await asyncio.sleep(20)
    await client.change_presence(activity=discord.Game('Beispiel'))
    await asyncio.sleep(20)
    await client.change_presence(activity=discord.Activity(type=discord.ActivityType.watching, name='Beispiel'))
    await asyncio.sleep(20)
    await client.change_presence(activity=discord.Activity(type=discord.ActivityType.watching, name='Beispiel'))
    await asyncio.sleep(20)
    await client.change_presence(activity=discord.Activity(type=discord.ActivityType.watching, name='Beispiel'))
    await asyncio.sleep(20)
    await client.change_presence(activity=discord.Game('Beispiel'))
    await asyncio.sleep(20)
    await client.change_presence(activity=discord.Game('Beispiel'))
    await asyncio.sleep(20)
Danke im Voraus.

Gruß
AGW2021

Re: Python Discord Bot Status

Verfasst: Samstag 15. Mai 2021, 21:37
von sparrow
Wenn man etwas in der Programmierung wiederholen möchte, tut man das in der Regel mit Schleifen.

Re: Python Discord Bot Status

Verfasst: Sonntag 16. Mai 2021, 15:09
von __blackjack__
Wobei da ja auch jetzt schon Codewiederholungen drin sind, die man durch eine Schleife ausdrücken könnte.

Code: Alles auswählen

    async def on_ready(self):
        print("Ich habe mich eingeloggt. Beep bop. bot.py")
        await client.change_presence(status=discord.Status.online)
        for activity in [
            discord.Game("/help"),
            discord.Game("Beispiel"),
            discord.Activity(
                type=discord.ActivityType.watching, name="Beispiel"
            ),
            discord.Activity(
                type=discord.ActivityType.watching, name="Beispiel"
            ),
            discord.Activity(
                type=discord.ActivityType.watching, name="Beispiel"
            ),
            discord.Game("Beispiel"),
            discord.Game("Beispiel"),
        ]:
            await client.change_presence(activity=activity)
            await asyncio.sleep(20)

Re: Python Discord Bot Status

Verfasst: Sonntag 16. Mai 2021, 15:30
von AGW2021
__blackjack__ hat geschrieben: Sonntag 16. Mai 2021, 15:09 Wobei da ja auch jetzt schon Codewiederholungen drin sind, die man durch eine Schleife ausdrücken könnte.

Code: Alles auswählen

    async def on_ready(self):
        print("Ich habe mich eingeloggt. Beep bop. bot.py")
        await client.change_presence(status=discord.Status.online)
        for activity in [
            discord.Game("/help"),
            discord.Game("Beispiel"),
            discord.Activity(
                type=discord.ActivityType.watching, name="Beispiel"
            ),
            discord.Activity(
                type=discord.ActivityType.watching, name="Beispiel"
            ),
            discord.Activity(
                type=discord.ActivityType.watching, name="Beispiel"
            ),
            discord.Game("Beispiel"),
            discord.Game("Beispiel"),
        ]:
            await client.change_presence(activity=activity)
            await asyncio.sleep(20)
Danke, aber beim letzten Beispiel bleibt er stehen und fängt nicht von oben wieder an.

Gruß
AGW2021

Re: Python Discord Bot Status

Verfasst: Sonntag 16. Mai 2021, 16:03
von __blackjack__
Ja weiss ich. Das war ja jetzt auch nur der vorhandene Code mit einer Schleife.

Re: Python Discord Bot Status

Verfasst: Sonntag 16. Mai 2021, 16:20
von AGW2021
__blackjack__ hat geschrieben: Sonntag 16. Mai 2021, 16:03 Ja weiss ich. Das war ja jetzt auch nur der vorhandene Code mit einer Schleife.
Achso