Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Application Commands Part 4: Stateful Commands #118

Closed
3 tasks done
diewellenlaenge opened this issue Oct 2, 2021 · 2 comments
Closed
3 tasks done

Application Commands Part 4: Stateful Commands #118

diewellenlaenge opened this issue Oct 2, 2021 · 2 comments
Labels
enhancement New feature or request spacktoberfest Label für Hacktoberfest, damit uns keiner auf die Nüsse geht

Comments

@diewellenlaenge
Copy link
Collaborator

diewellenlaenge commented Oct 2, 2021

Bedingungen

Beschreibung

Damit das volle Potential von Application Commands genutzt werden kann, sollten die Module irgendwie mit States umgehen können. Dies ist beispielsweise notwendig für anonyme Polls oder Woisgang-Abfragen. Bisher bastelt jedes Modul sich seinen eigenen temporären Store. Das ist kacke, weil der verloren geht, wenn der Bot neustartet.

Todos

  • Konzept ausarbeiten (bisher existiert dazu noch nichts)
  • Irgendwie versuchen, das mit Sequelize o. ä. zu lösen, damit der State auch einen Restart überlebt
  • Das irgendwie versuchen, generisch zu halten, sodass jedes Modul sich einen eigenen State bauen kann
@diewellenlaenge diewellenlaenge added enhancement New feature or request spacktoberfest Label für Hacktoberfest, damit uns keiner auf die Nüsse geht labels Oct 2, 2021
@twobiers
Copy link
Collaborator

twobiers commented Oct 10, 2021

Spontaner Gedanke den ich eben Festhalten will. Ist nicht durchdacht, kam mir nur spontan in den Sinn:

Möglichkeit eines Key Value Stores jedes Modul hat unter einem eindeutigen Key einen Store, in dem dieses Modul ein Objekt ablegen kann.
Mögliche Problematiken: Migrationen, NoSQL, SQLite

@twobiers
Copy link
Collaborator

Ich hab drüber nachgedacht und nochmal ein wenig rumgespielt. Finde wir sind so wie die Module Sequelize bisher verwenden ist es am sinnvollsten. Wir fahren über die Model-Extension ein schönes Active-Record Pattern und brauchen da eigentlich keine weitere Abstraktion. Die würde alles nur verkomplizieren. Habe überlegt ob es sinnvoll wäre Repository-Pattern zu integrieren, aber das schafft wieder mehr Probleme als es uns nützt. So sind wir schon auf einem guten Weg.

Das einzige was wir mMn. machen sollten ist Punkt 1 auf der Liste. Sprich: Wir definieren wie der Storage verwenden werden sollte.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request spacktoberfest Label für Hacktoberfest, damit uns keiner auf die Nüsse geht
Projects
None yet
Development

No branches or pull requests

2 participants