Skip to content

Deprecate and remove % commands #65

@SquidDev

Description

@SquidDev

Discord have recently announced some changes Discord bot permissions, which affects this bot.

The FAQ bot requires access to the "message content" permission/privileged intent, in order for %-commands to work. Historically, bots in fewer than 100 guilds could access this permission without verification. This limit has been changed to bots with fewer than 10k users, which now affects us. As a result, we need need to remove support for % commands within 90 days.

Migration

Most commands already have an migration path, using existing slash commands:

  • %faq/faq
  • %docs/docs
  • %source/source
  • %about/ccfaq

The exception here is %eval. This does not have an existing replacement, as not all use-cases can be replaced by a single command. Instead, we will need to add the following:

  • %eval 2+2 → Single-line bits of code (e.g. %eval 2+2) can be replaced by an /eval command. We might also want to support file attachments here, but not sure what the UI for this looks like.
  • %eval with code blocks: Tagging the bot at the start of a message will also evaluate the message as before. For example, @CC: Aide ```lua print("hello")```.
  • %eval in a reply → This will be replaced with a "message command", accessible in the context menu.

The UX here is definitely not as nice as I'd like (this is why I've not swapped already). Definitely open to suggestions on how to make this nicer.

Timeline

I don't have a strict timeline/exact dates here, but we will need to make the following changes in the next 90 days:

  1. ☑️ Soft-deprecate % commands: These display a warning but retain existing functionality.
  2. 🚧 Introduce the new /eval commands.
  3. 🚧 Hard-deprecate % commands: These display an error and do nothing.
  4. 🚧 Remove % commands entirely. Remove message content intent.

I definitely want some delay between rolling out 3) and 4), so that things don't silently fail immediately.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions