Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add tag support #48

Open
dawnofmidnight opened this issue Sep 17, 2024 · 2 comments
Open

Add tag support #48

dawnofmidnight opened this issue Sep 17, 2024 · 2 comments

Comments

@dawnofmidnight
Copy link

dawnofmidnight commented Sep 17, 2024

(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?
@ivandardi
Copy link
Member

I am working on this, will push branch soon.

@troiganto
Copy link

I don't think we've ever had need for programmable tags. Cooldowns haven't really been necessary in the past, people are aware enough that spamming a tag tends to have moderation consequences.

User-based restrictions have been relevant in the past, so we probably want the ability to flip these:

  • limiting tag management to mods,
  • banning individual users from creating/deleting tags,
  • locking individual tags.

There's a lot of design space in this and I know the Carl devs put a lot of work in, so mirroring this feature likely won't be easy.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants