Maybe it's far from working Tetris, but to keep log of the progress I have got dynamic level generation working instead of hard-coded ones:
sprig.hackclub.com/share/bfW3SQc27KelhSCTS0WB
After three days of fighting and learning TypeScript, abstract classes, and interfaces, I've created a simple cross-platform bot framework. Currently, it's quite buggy; for instance, Discord commands don't register automatically. However, it serves as a solid foundation for future updates.
In summary, this library enables writing single commands and event logic that can be utilized with Discord, Slack, or a REST API. There's a simple example in the repository and brief documentation for those interested.
GitHub: github.com/Frankoslaw/InterCord
NPM: www.npmjs.com/package/@frankoslaw/intercord
docs: frankoslaw.github.io/InterCord/#
random testing: github.com/Frankoslaw/ArcadeProjects/tree/main/slack_test
To keep track of progress. I have discord events and commands working in discord.js. It is time to utilize abstract classes to decouple logic from event triggers 😄. I will post a link to the repo after I clean this up in a moment, with a few new changes like support for Slack: