Open
Description
(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 (withallowed_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
Labels
No labels