GithubHelp home page GithubHelp logo

indexbot6's People

Contributors

kacecottam avatar

Watchers

 avatar  avatar

indexbot6's Issues

[Command] /games [user]

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).

[Event] OnRoleDelete

if a role is from the bot, then we need to remove it from our database as well!

[Event] OnMemberLeave

When a member leaves the guild, remove them from all of their roles on the server.
Log this somewhere.

[Discussion] Language of Choice

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

[Discussion] Server Scheduled Events

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?

[Command] /remove <role>

  • Removes a user from the notification list for a role.
  • If the role is now empty (has 0 subscribers), delete the role from the server.
    • Provide a configuration option for this.

[Command] /game <string>

Adds a user to a notification list for a game.

  • If the game does not exist, create the mentionable role for the game in the discord server.
  • If the user is already subscribed to that game, show the user an error message.
  • If the user is successfully added, show an embed with a button that adds clickers to the game as well.
  • When a user clicks join, send a ephemeral message to declare the above error or success.
  • Update the embed with a user's profile picture when a user joins the role with the user's name. Display how many users have clicked the button.
  • If the game does exist, tell the user to use /join instead (see #3)
  • When a new embed is made, disable the buttons on this one.

[Command] /help [command]

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.

[Command] /members <role>

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.

[Discussion] Merge commands into subcommands

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

[Command] /mygames

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

[Command] /join <role>

Adds a user to the existing notification list for a role.
Sends an embed that operates like #2.

[Event] OnGuildLeave

When the bot leaves a guild, remove that guild from the database.
Log this somewhere.

[Event] OnMessage

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.