wolfiabot / wolfia Goto Github PK
View Code? Open in Web Editor NEWDiscord bot for Mafia / Werewolf and similar games
Home Page: https://bot.wolfia.party
License: GNU Affero General Public License v3.0
Discord bot for Mafia / Werewolf and similar games
Home Page: https://bot.wolfia.party
License: GNU Affero General Public License v3.0
If we detect a disconnect, we could pause the game to avoid processing timed events like day-night-cycles while the players cannot provide input. Upon the shard reconnecting and becoming ready, any ongoing paused games should be informed in the main game channel about the pause and its reason + length for maximum transparency to the players.
In the second I was declared dead, I received my cop information. I should not, because the only way to use it is to send someone a PM, which circumvents the channel access controls that are meant to keep me silent.
After most of the issues for the dashboard are done, we need to do a thorough pass through all of the subpages and dropdown menus to confirm everything displays correctly.
Bots can add users to guilds.
Implement adding users to the baddie guilds to avoid ppl missing the invites.
This requires implementing an oauth2 grant.
Read up on some basics, maybe add some meta tags, to the upcoming dashboard.
Interactive tutorial for users completely new to the game.
Possibly tying completion of the tutorial with a level system / unlocking of more complicated game modes.
Investigate and implement what kind of legal crap we need on the website - cookie notices, imprint etc
With the recent influx of a bunch of small contributions, the copyright headers should probably be reworded. I don't have plans to relicense so we don't need to collect any CLA agreements, and can have an inclusive Copyright holder formulation such as "The Wolfia Bot contributors".
Instead of hardcoding the owner ID, we could fetch it from Discord at runtime (and mock during tests).
This would be handy for contributors running copies of the bot to do and see all the stuff I can usually do.
It is probably a good idea and would be pretty cool to make (some of) the Wolfia Grafana dashboards public. For that we would need to create a new Grafana team with publicly visible graphs, and create new or move the existing dashboards over.
The upcoming dashboard needs a footer.
Take a look at the one from the existing page.
The upcoming dashboard lacks the general kind of documentation for game modes that is present on the existing site.
The feature flag servlet at /api/togglz
looks a bit lonely. Why not try to integrate it into the dashboard? Maybe an iframe can be used?
The user from the user endpoint contains spring roles so it can be shown to users conditionally on them having the required role (OWNER for now).
Users will be invited to the Wolfia Lounge for these games.
Notes:
Let's try adding some E2E tests.
To be able to get into the parts behind the login we will probably need access to the java code so set up some mocks, so we would need a web ui testing library for Java. Seems like there aren't many around as I've only found https://github.com/selenide/selenide so far.
Let's give it a spin, write a few tests, and evaluate if it's worth it.
The upcoming dashboard website should have a part that documents the commands. Use stuff from the existing website to populate it.
Process events one after another by a single processor, not wildly concurrent as they are now. The current behaviour requires a lot of synchronization and locking which is very hard to maintain.
Abstract away JDA's overloaded implementations.
Displaying the status of the shards, connected users, guilds etc on the dashboard would be cool
Instead of showing a rather ugly button we can incorporate the modal into the upcoming dashboard, see https://helpdesk.userreport.com/hc/en-us/articles/360037891331-Get-direct-link-to-the-Feedback-Forum-or-manually-display-it
When clicking on invite in the dashboard, it should open a discord page that has the guild preselected (via &guild_id=123..." and the redirect should be back to the dashboard, not the Wolfia Lounge invite. Seems something is off with the InviteEndpoint returning a wrong redirect.
There needs to be a way to deal with recorded games that turned out to be invalid.
As part of #78 some recorded games have been discovered that ended more than once. In that case, those with two recorded ending events are the invalid ones, but in other cases other rules might apply, so an automatic rule is hard to come up with. Rather they should be dealt with manually on a case-by-case basis.
Deleting them might be also be too destructive of an operation. I'd rather see them marked as invalid with a flag in the db, but that will also make any statistical queries rather complicated.
How can I stop the game while playing?
The upcoming dashboard website lack a landing page that showcases the bot.
Nothing too fancy for the start
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.