Discord Bot mit ZaehlerKlasse

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.
Phobit
User
Beiträge: 185
Registriert: Freitag 4. Mai 2018, 18:13

Und wie bereits oben erwähnt, habe ich scheinbar bisher alles dank eurer Hilfe verstanden, nur so ein Problem kam mir noch nie unter, deswegen schreibe ich ja hier im Forum.


Und anstatt dass ihr hier auf meine angeblichen "Niedlichen Trollversuch" eingeht, könntet ihr mir auch einfach helfen.
Mir egal, ob der Code schön ist oder nicht.
Hauptsache er funkt!
Benutzeravatar
__blackjack__
User
Beiträge: 13004
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Phobit: Also ich kann Dir nicht helfen. Keine Ahnung wie man Dich motivieren kann zu lernen. :-)
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Phobit
User
Beiträge: 185
Registriert: Freitag 4. Mai 2018, 18:13

Das ist doch jetzt wenigstens mal ne Antwort...
Mir egal, ob der Code schön ist oder nicht.
Hauptsache er funkt!
Phobit
User
Beiträge: 185
Registriert: Freitag 4. Mai 2018, 18:13

So,
habe jetzt endlich ne funktionierende Lösung. (Falls noch wer den Thread liest, lol)

Code: Alles auswählen

with open("test.txt", "r+") as f:
            s = f.readlines()
            f.seek(0)
            await client.change_presence(game=Game(name=s[0]))
            Speicher = s[0]
            del s[0]
            f.writelines(s)
            f.writelines(PresenceSave)
Vllt nicht -wie immer- der Schönste Code, aber er läuft unter jeder Bedingung einwandfrei.

(Zum Verständnis: Die verschiedenen Presences sind in einer TXT gespeichert, und bei jedem Befehlsaufruf wird die erste Zeile, also der erste Presence als Presence gewählt, gelöscht und am Ende wieder angehängt. So zykelt es schön und sauber durch :-))
Mir egal, ob der Code schön ist oder nicht.
Hauptsache er funkt!
Benutzeravatar
kbr
User
Beiträge: 1487
Registriert: Mittwoch 15. Oktober 2008, 09:27

Da fällt mir Clementine ein: "sauber ist nicht rein" ...
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

Wie schon oben geschrieben, bei Deinem Code kommt es auch nicht mehr darauf an, ob Du nun mit einer globalen Liste oder einer globalen Text-Datei arbeitest. `Speicher` wird gar nicht benutzt, `PresenceSave` nicht definiert.
Das macht das selbe:

Code: Alles auswählen

name = globale_liste.pop(0)
await client.change_presence(game=Game(name=name))
globale_liste.append(name)
Oder eben, wie schon vor einigen Wochen vorgeschlagen

Code: Alles auswählen

PRESENCES = ["Lotro", "Lotro2", "Lotro3"]

async def ex(args, message, client, invoke, names=itertools.cycle(PRESENCES)):
    await client.change_presence(game=Game(name=next(names)))
Phobit
User
Beiträge: 185
Registriert: Freitag 4. Mai 2018, 18:13

Ja, und damals hatte ich zu dem
PRESENCES = ["Lotro", "Lotro2", "Lotro3"]

async def ex(args, message, client, invoke, names=itertools.cycle(PRESENCES)):
await client.change_presence(game=Game(name=next(names)))
eine Frage, und damals wurde sich strikt geweigert mir zu helfen und später hieß es dass es gar nicht möglich sei, da alle vom Falschen ausgingen...





Ps: Ups, das mit dem PresenceSave ist mir nicht mehr aufgefallen *faceplam* muss natürlich Speicher heissen...
Mir egal, ob der Code schön ist oder nicht.
Hauptsache er funkt!
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

Dir wurde nicht geweigert zu helfen, Du hast nur die Dir angebotene Hilfe nicht angenommen. Dass etwas nicht möglich wäre, wurde nie gesagt, und dass alle vom Falschen ausgingen, lag nur daran, dass Du nichts verraten hast und „ungewöhliche” Konstrukte benutzt.
Phobit
User
Beiträge: 185
Registriert: Freitag 4. Mai 2018, 18:13

Sirius3 hat geschrieben: Samstag 22. September 2018, 15:42
Phobit hat geschrieben: Samstag 22. September 2018, 15:03 ich meine ihr habt mir oben diesen Ansatz gegeben
Da dachte hier auch noch jeder, Du würdest mit irgendeiner Art Callbacks arbeiten und nicht mit Modulen.

Ab einer gewissen Komplexität muß man einfach die Grundlagen kennen, bevor man selbständig eine Lösung finden kann.
Also du persönlich hast geschrieben, dass der Ansatz da oben scheinbar nicht mehr funktioniert, da ich mit Modulen und nicht mit Callbacks arbeite...


Das alle vom falschen ausgingen war meine Schuld, streit ich nicht ab ^^
Mir egal, ob der Code schön ist oder nicht.
Hauptsache er funkt!
Antworten