Skip to content
This repository has been archived by the owner on Sep 20, 2021. It is now read-only.

2.3 todo list #2

Open
7 of 58 tasks
object-Object opened this issue Apr 15, 2020 · 0 comments
Open
7 of 58 tasks

2.3 todo list #2

object-Object opened this issue Apr 15, 2020 · 0 comments
Assignees

Comments

@object-Object
Copy link
Owner

object-Object commented Apr 15, 2020

Commands

  • manual
  • alias: man
  • changelog [version]
  • prefix set [prefix]
  • make the normal prefix command just show prefix and require no permissions
  • history <user>
  • show all (un) warn/mute/ban history for current guild
  • required permission: viewAuditLog
  • needs tables:
    • action_history (action_id INT PRIMARY KEY AUTOINCREMENT, user_id TEXT, responsible_user_id TEXT, guild_id TEXT, action_type TEXT, timestamp REAL, reason TEXT,
  • purge
  • color <code>
    • input color code, get picture of it
  • move quiet

Settings

  • welcome_channel

Features

  • join/leave messages (customizable)
  • ability to customize ban messages

Reaction Menus

  • make this
  • use for settings command

Other

  • strings.en-CA.json
  • store permission names, english enum as key (?)
  • use discordia.storage for:
    • conn
    • options
    • strings table
      • en-CA
  • organize modules in folders by event and event group (e.g. modules/client/messageCreate/warningManager.lua)
  • don't allow people to warn/mute/ban people who are >= them in the role list
  • command.checkRoleOrder
  • false/nil by default
  • table of argument numbers that are members to be checked?
    • or just check all member args
  • check role order if set
  • make this a guildSetting
    • ignore_role_order
    • default false
  • don't allow warning_kick_level and warning_ban_level to be equal
  • is_enabled and is_disabled methods for settings columns
  • rename $settings update to $settings set and make it only work if the setting is enabled
  • make $settings enable only work if the setting is disabled
  • generic functions for testing if Yot can do something
  • argument for required discord permissions?
  • generic functions for testing if a user can do something
  • add reason handling to all the kicks and bans
  • generic function for this?
  • put the responsible user in the audit log reason
  • handle false returns from kick/ban method in $kick/$ban
  • rename command.permissions to command.userPermissions
  • command.botPermissions
  • for perms the bot needs for a command to be runnable
  • check after command.userPermissions
  • make the persistent roles embed mention the roles
  • add arg validation to the command handler, instead of each command
  • commands would have command.arguments table, each entry in table is also table with properties about the argument
    • name, type
    • checkRoleOrder for member args
  • table in command handler with valid types of arguments (e.g. member, user, message)
  • "The command could not be run because the user in argument 1 could not be found."
  • handle reasons here as well
  • respond to DMs containing discord links by giving them the bot invite link
  • new tables: guild_modules, guild_commands
  • column for each module/command, and for guild id (foreign keyed to guild_settings)
  • value between -1 and 1
  • -1: not set, use defaults
  • 0: disabled
  • 1: enabled
  • per-guild language settings (need people to translate everything)
  • put commands in categories / folders
  • get rid of commandHandler.doSubcommands, make commandHandler.doCommands also handle subcommands
  • pcall command:run() so commands don't fail silently
  • Improve error messages shown to users
  • Allow blacklisting users
  • Ratelimit commands
  • Only tell people about DM forwarding once
  • Let users set DM preferences
  • userSettings?
  • Use webhooks for forwarding DMs, sending errors, etc
  • Hourly status refresh
  • Make it possible for subcommands to have different permissions
  • Redo the settings command to use a reaction menu - put the old settings commands under $settings manual
  • In the big unified argument handler, have it show all of the issues, not just one at a time
  • In the big unified argument handler, let permissions be conditional (e.g. only require kickMembers for $warn if the server has enabled kicking members at a level)
  • setting.type to help give better choices in reaction menu
  • Status: Adding reactions... / Status: Ready
  • If a warned user is to be kicked but isn't in the guild, silently ignore the kick; just treat it as a normal warning
  • text fallback if link embeds are disabled?
  • bring back the coloured dots for warning status
  • put embed colours in options.lua
  • require users to have the permissions of a command before being able to change them, in addition to whatever the permissions on the settings command are
  • arguments with spaces (eg. reasons) should be enclosed in quotes
@object-Object object-Object changed the title 2.2 todo list 2.3 todo list Apr 16, 2020
@object-Object object-Object self-assigned this Apr 25, 2020
@object-Object object-Object pinned this issue Apr 28, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant