wie in einem vorherigen Post schonmal erwähnt, wrde ich gerne in keinen Discord Bot einen Counter einbetten.
Dieser soll den Befehlsaufruf "mitzählen" und je nach aufruf die Discord Presence des Bots ändern.
Mir wurde gesagt, dass dies nur mit Klassen möglich sei, also habe ich mich mal ein bisschen mit Klassen auseinander gesetzt, ich kann es halt noch nicht "richtig". Hier ist mein Entwurf für den Code mit einer "Zaehler" Klasse:
Code: Alles auswählen
async def ex(message, client, invoke, args):
class Zaehler(object):
counter = 0
def __init__(self):
type(self).counter += 1
print(type(self).counter)
if type(self).counter == 7:
type(self).counter == 1
Zaehler()
if Zaehler.counter == 1:
await client.change_presence(game=Game(name="Presence1"))
elif Zaehler.counter == 2:
await client.change_presence(game=Game(name="Presence2"))
elif Zaehler.counter == 3:
await client.change_presence(gamne=Game(name="Presence3"))
elif Zaehler.counter == 4:
await client.change_presence(game=Game(name="Presence4"))
elif Zaehler.counter == 5:
await client.change_presence(game=Game(name="Presence5"))
elif Zaehler.counter == 6:
await client.change_presence(game=Game(name="Presence6"))
er schreibt in die Konsole "1" und drunter gleich nommal "1". Dann der fette Error:
1
1
Ignoring exception in on_message
Traceback (most recent call last):
File "/home/phobit/PycharmProjects/DiscordSippenBot/Discord/Main.py", line 140, in on_message
await cmd.ex(args, message, client, invoke)
File "/home/phobit/PycharmProjects/DiscordSippenBot/Discord/commands/cmd_presence.py", line 21, in ex
await client.change_presence(game=Game(name="Lotro"))
AttributeError: 'Message' object has no attribute 'change_presence'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/phobit/PycharmProjects/DiscordSippenBot/venv/lib/python3.6/site-packages/discord/client.py", line 307, in _run_event
yield from getattr(self, event)(*args, **kwargs)
File "/home/phobit/PycharmProjects/DiscordSippenBot/Discord/Main.py", line 142, in on_message
await cmd.ex(args, message, client, invoke)
File "/home/phobit/PycharmProjects/DiscordSippenBot/Discord/commands/cmd_presence.py", line 21, in ex
await client.change_presence(game=Game(name="Lotro"))
AttributeError: 'Message' object has no attribute 'change_presence'
Sobald ich die Klasse ausbaue, erkennt Python change_presence wieder, ich habe auch keine Ahnung wie er da auf "Message" kommt...
Weiß wer weiter?