kacecottam / indexbot6 Goto Github PK
View Code? Open in Web Editor NEWIndex Bot 6
Index Bot 6
Show a publicly-visible list of games that a user has, or that the server has if the user is empty.
Use EmbedBuilder.
Provide buttons next to each item to allow users to click to join a role (if possible).
if a role is from the bot, then we need to remove it from our database as well!
When a member leaves the guild, remove them from all of their roles on the server.
Log this somewhere.
We have done a lot in python
already, but it looks like almost all of the python libraries are not covering the full discord api.
Disnake, the current discord api we are using is, frankly, unappealing to write in and forked from discord.py which has been deprecated and will be nonfunctional in April.
I like the idea of moving to rust
since it is a cool language, but this should be discussed more.
The most up to date library I have seen is discord.js, but even that does not yet have scheduled events.
6 days ago, the rust library created an issue for interacting with scheduled events which will be needed if we want to use that feature (mentioned in #12). The library looks promising, and rust seems like a reliable language
We can allow our bot to have the capability of creating scheduled server events for a certain channel.
We could possibly have a command like:
/event <@role> <#channel> [title]
(following the syntax of #11 it would be /game event <@role> <#channel> [title]
)
Which when used, responds with a message where we can select the time using a dropdown that has options like so:
Option |
---|
Now |
30 minutes |
1 hour |
2 hours |
1 day |
Do these options sound reasonable?
We can recreate the python one into rust
Adds a user to a notification list for a game.
/join
instead (see #3)Shows help for all available commands. Use EmbedBuilder.
If provided with an argument, shows help for the command matching that argument.
If there are no commands matching that argument, show an error.
nicer logging messages
Display a list of members that are subscribed to the notification list to a role.
Provide an error message if there are none.
Use EmbedBuilder.
Possibility of merging commands into subcommands?
command | subcommand | parameter 1 | parameter 2 | description |
---|---|---|---|---|
/game |
[join] |
<@role> |
joins a role | |
/game |
create |
<string> |
creates a new role | |
/game |
members |
<@role> |
see the members of a game with no ping | |
/game |
leave |
<@role> |
exit a role | |
/game |
list |
<@user> |
list the roles for a user | |
/admin |
forcejoin |
<@user> |
<@role> |
force a user to join a role |
/admin |
forceleave |
<@user> |
<@role> |
force a user to leave a role |
/deals |
<string> |
show deals for a game | ||
/help |
show the help menu |
We would do this to allow better organization of commands
readme was previously written with python version in mind.
Shows the user a list of all the games they are being notified for.
Provide a checklist with an update button so users can unsubscribe from multiple roles at once. May need EmbedBuilder
Adds a user to the existing notification list for a role.
Sends an embed that operates like #2.
When the bot leaves a guild, remove that guild from the database.
Log this somewhere.
If a message mentions a role and that role exists in the database, create a thread for that role with the title [%m-%d-%y] %r discussion
where %m
%d
%y
are month, day, year respectively and %r
is the name of the role. In the thread, @ everyone who is in the role.
Discussion is open to creating events as well from a user input of some kind.
Possibly parsing strings with a library to find a time, or having a dropdown menu where the user can select a time.
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.