Skip to content

Add tag support #48

Open
Open
@dawnofmidnight

Description

@dawnofmidnight

(part of the Carl ⇒ Ferris migration)

We'd like support for tags in Ferris. These are, similar to Carl, pre-programmed messages that Ferris would send upon the invocation of a particular command in a channel. These should support at least the following commands:

  • ?tag create <name> <contents>: create a new tag named <name>, errors if already exists
  • ?tag edit <name> <contents>: change the tag named <name>, error if not found
  • ?tag delete <name>: remove the tag named <name>, error if not found
  • ?tag <name>: prints the contents of the tag (with allowed_mentions set to nothing, preferably)

Open questions:

  • Do we want top level command access, i.e. ?code instead of [?/]tag code?
  • Should we have a cooldown on specific tags? That is, if someone sends ?tag code, should we limit another user being able to send it in that channel for the next X seconds to make sure that there're not several invocations of the long embed in quick succession.
  • How do we remove a useless tag invocation? Detect deletion of the invocation message (for non-slash commands)? Use a context menu only usable by the invoker? Have a "Delete" button/reaction limited to the invoker?
  • Should any of these commands be restricted to moderators?
  • Should they be programmable? Carl has special metavariables to reference the current channel or the user sending the message. Do we need this?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions