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

Merge undeployed changes from dev #45

Merged
merged 120 commits into from
Oct 18, 2024
Merged

Merge undeployed changes from dev #45

merged 120 commits into from
Oct 18, 2024

Conversation

MatthewL246 and others added 30 commits June 30, 2024 13:23
This allows the bot to be more resilient to downtime by avoiding closing threads if messages are missed.
@jonbarrow
Copy link
Member

Is it possible to get a list of all the updated config settings I need to set, just to make my life easier before merging this

@MatthewL246
Copy link
Member Author

MatthewL246 commented Oct 9, 2024

Deployment plan

Auto slow mode (#30)

No immediate setting changes are needed, as it won't take effect until it's enabled, but the mods should be notified to set this up.

Mod-Ping auto-assign (#28)

  • Settings
    1. roles.mod-ping: the role ID for @Mod-Ping.
    2. roles.mod-ping-allowed: a comma-separated list of role IDs that should be allowed to assign mod-ping to themselves. Probably recruit mod, moderator, head mod, admin.

Trusted user/leveling system (#25)

  • Server setup
    • Create a "Trusted" role that has image and file upload permissions in the public channels.
    • Create a "No XP" role with no special permissions for those who get their trusted status suspended.
  • Settings (we can discuss the exact values internally)
    1. roles.supporter: the role ID of supporters for XP multiplication.
    2. roles.trusted: the role ID of the Trusted role.
    3. roles.untrusted: the role ID of the No XP role.
    4. leveling.channels-blacklist: channel IDs to block gaining XP from, suggested to set #botspam-and-other-spam.
    5. leveling.xp-required-for-trusted: how much XP is required for a user to gain the trusted role, with 1 message earning 1 XP.
    6. leveling.days-required-for-trusted: how long it must have been since a user's last warning/kick/ban, or otherwise, since they joined the server, before they are eligible to become trusted.
    7. leveling.supporter-xp-multiplier: how much XP supporters get per message, so they can become trusted faster.
    8. leveling.message-timeout-seconds: how long between messages users must wait before their next message is counter for XP, to prevent spam.
  • Potentially an announcement mentioning the new feature.

NSFW image handling updates (#26)

  • Server setup
    • Create a new text channel #notifications in the Pretendo category.
      • Disable send messages, send messages in threads, create public threads, and create private threads permissions for everyone.
      • Go to the Discord onboarding settings and make sure #notifications is not in the default channels or assignable through any onboarding questions. This is so it will stay out of people's ways when it's not necessary and only show up when they get a mention in a notification thread.
  • Settings
    1. channels.notifications: the channel ID of the notifications channel.
    2. nsfw.threshold.high: high-confidence threshold for NSFW detection. Start with 0.9.
    3. nsfw.threshold.low: low-confidence threshold for NSFW detection. Start with 0.7.
    4. nsfw.exemption.distance: how similar images need to be to exemptions to be exempted (start with 1 for max similarity).
    5. nsfw.enabled: true.

Matchmaking threads (#23)

  • Server setup
    • Allow anyone to post new threads in #matchmaking. Probably add a new-thread slowmode of an hour or so too.
    • Add game-specific tags to #matchmaking: image
    • Archive the old matchmaking threads and add them to the "Archive" tag.
  • Settings
    1. channels.matchmaking: the channel ID of #matchmaking.
    2. matchmaking.lock-timeout-seconds: the number of seconds of inactivity that must pass before matchmaking threads get locked. Probably start conservatively with 6 hours (21600 seconds) and reduce if it gets out of hand.
  • Make a short announcement about this.

@jonbarrow jonbarrow merged commit 883c4f8 into master Oct 18, 2024
4 checks passed
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

Successfully merging this pull request may close these issues.

6 participants