🚦 ​​​​​​​​​​​​​Subreddit Status | Reddit for Developers
close

Readme

Subreddit Status

A Devvit application to help moderation teams monitor their subreddit modqueue, modmail, community stats, etc. Set upcoming subscriber milestones, configure alerts for when your modqueue gets too high, and keep tabs on various modmail folders.

Updates and alerts are posted to Discord or Slack.

SubredditStatus

Installation

  1. On the app's directory page, click the + Add to community button.
  2. Accept app permissions, and select the subreddit/community you wish to use the app with.
  3. Once installed, you will be automatically taken to the app's settings page.

Setup

Discord

You will need a Webhook for the channel in your Discord server that you would like updates/alerts to be posted in. If you are unfamiliar with Discord Webhooks, you can refer to this Discord support page for help.

  1. Create the Webhook: Choose the channel in your server you want connected to Subreddit Status. An Administrator of the server will need to do this, as they will have the necessary permissions to create a webhook. It is strongly recommended that you create a dedicated channel for this Devvit application and restrict messaging permissions so that only messages from the application are posted, to help ensure everything remains visible.
  2. Copy Webhook URL: When viewing the webhook in the channel's integrations page, click the Copy Webhook URL button to copy the URL.
  3. Update App Settings: Insert the copied webhook URL into the Subreddit Status app settings page, in the Discord Webhook URL field. Additionally, you can set a custom color for the Discord embeds to use (in either hexadecimal or decimal form). Default value is Reddit orangered.

Please Note: After updating the app with a Discord Webhook URL, please allow up to 10 minutes for it to initialize. If after 10 minutes there are still no embeds in the Discord channel you created the webhook for, verify that your webhook is correct.

Slack

You will need the Slack channel ID in the Slack workspace you would like updates/alerts to be posted in, as well as the Bot User OAuth Token for the workspace app. If you are unfamiliar with Slack Apps, you can refer to this Slack support page for help.

  1. Create the App: An Administrator of the workspace will need to do this, as they will have the necessary permissions to create an app. Use this Slack Manifest to create a new app for the workspace. This manifest configures the app name as "Subreddit Status" and grants chat:write, chat:write:customize, incoming-webhook, and usergroup:read Bot Token Scopes. You can also choose to create the app from scratch if preferred. It is strongly recommended that you create a dedicated channel for this Devvit application and restrict messaging permissions so that only messages from the application are posted, to help ensure everything remains visible.
  2. Generate OAuth Tokens: Navigate to https://api.slack.com/apps/ if needed, and select the newly created app. Select OAuth & Permissions under Features on the left, and click [Install] under OAuth Tokens.
  3. Install App to Channel: Look for the "added an integration to this channel" message in the intended channel for Subreddit Status. Click the hyperlink in the message, choose add this app to a channel, then select the channel. If successful, you will see a "was added to #channel-name" message in the channel.
  4. Update App Settings: Right click Slack channel, choose copy, then copy link. Retrive the ID from the last part of the URL and add it to the "Slack Channel ID" field in the Subreddit Status app settings. Copy the Bot User Token and add it to the "Slack Bot Token" field in the Subreddit Status app settings.

Please Note: After updating the app with a Slack token and channel ID, please allow up to 10 minutes for it to initialize. If after 10 minutes there are still no messages in the channel you set up, verify that the app is added to the channel and that is has the appropriate scopes.

App Settings

Notification Platform

Choose where Subreddit Status sends its updates.

Notification Platform

  • Choose whether to send updates to Discord or Slack. Default is Discord.

Please Note: If changing platforms, it is recommended to keep the information for the previous platform in app settings for a few update cycles. This will allow Subreddit Status to automatically purge data from the previous platform before reinitializing on the new platform.

Discord Configuration

  • Specify the Discord webhook to be used for posting updates. Refer to Installation section above for help locating webhook.
  • Specify color to be used with embed messages. Can be hex or decimal format.

Slack Configuration

  • Specify the Slack Bot Token to be used for posting updates. Refer to Installation section above for help locating token.
  • Specify the Slack Channel ID for the channel where updates will be posted. Refer to Installation section above for help locating ID.

Subscriber Statistics

Contains all settings/options related to your community's subscriber count and milestones.

Subscriber Statistics

  • Choose whether or not you want to ping a specific role whenever a subscriber milestone is reached.
  • Provide the ID for the role you want to ping. You can also choose to use @here or @everyone for Discord or @here or @channel for Slack.
    • To obtain the Discord ID, enable Developer Mode in Discord by going to User Settings → Advanced then go to Server Settings → Roles and right click on a role for the option to copy its ID.
    • To obtain the Slack ID, navigate to Directories → User Groups → Select User Group → 3 Dot Menu → Copy Group ID.
    • If no ID is provided, alerts will be posted without role pings.
  • Configure the subscriber milestone you want to be alerted for. Disabled by default. Set milestone to 0 to disable alerts.
  • When triggered, milestone alerts will persist for 24 hours before deleting themselves.

Modqueue Monitoring

Contains all settings/options related to your community's modqueue.

Warning Alert Settings

Critical Alert Settings

Minimum Required Actions

Priority Report Alerts

Warning Alert Settings

  • Choose whether or not you want to ping a specific role whenever the number of items in modqueue reaches the specified threshold.
  • Provide the ID for the role you want to ping. You can also choose to use @here or @everyone.
    • To obtain the ID, enable Developer Mode in Discord by going to User Settings → Advanced then go to Server Settings → Roles and right click on a role for the option to copy its ID.
    • To obtain the Slack ID, navigate to Directories → User Groups → Select User Group → 3 Dot Menu → Copy Group ID.
    • If no ID is provided, alerts will be posted without role pings.
  • Configure the warning threshold for when to trigger modqueue warnings. Set to 50 by default. Set threshold to 0 to disable alerts.
  • When triggered, alerts will persist until the number of items in the modqueue is less than half of the threshold. Warning alerts will not trigger within 1 hour of a critical alert being rescinded.

Critical Alert Settings

  • Choose whether or not you want to ping a specific role whenever the number of items in modqueue reaches the specified threshold.
  • Provide the ID for the role you want to ping. You can also choose to use @here or @everyone.
    • To obtain the ID, enable Developer Mode in Discord by going to User Settings → Advanced then go to Server Settings → Roles and right click on a role for the option to copy its ID.
    • To obtain the Slack ID, navigate to Directories → User Groups → Select User Group → 3 Dot Menu → Copy Group ID.
    • If no ID is provided, alerts will be posted without role pings.
  • Configure the critical threshold for when to trigger modqueue critical alerts. Set to 100 by default. Set threshold to 0 to disable alerts.
  • When triggered, alerts will persist until the number of items in the modqueue is less than half of the threshold.

Please Note: The Warning Alert threshold should always be less than the Critical Alert threshold. If the Warning Alert threshold is greater than or equal to the Critical Alert threshold, the Critical Alert settings will be ignored and only the Warning Alert will function.

Minimum Required Actions

  • Specify the minimum number of moderator actions required to show in the list of recently active moderators. This helps you see who is actively working in the subreddit at a glance. Set to 15 by default.
  • Exclude usernames from the list of recently active moderators. Includes the Subreddit Status bot account username and AutoModerator by default. Add additional usernames (without the u/) by separating them with commas.

Priority Report Alerts

  • Choose whether or not you want to ping a specific role whenever a report on a post or comment contains a specified keyword or phrase.
  • Provide the ID for the role you want to ping. You can also choose to use @here or @everyone.
    • To obtain the ID, enable Developer Mode in Discord by going to User Settings → Advanced then go to Server Settings → Roles and right click on a role for the option to copy its ID.
    • To obtain the Slack ID, navigate to Directories → User Groups → Select User Group → 3 Dot Menu → Copy Group ID.
    • If no ID is provided, alerts will be posted without role pings.
  • Specify the keyword(s) or phrases you want to monitor for. If adding multiple keywords or phrases, separate each one with a comma. Disabled by default.
  • Choose whether to display report alerts combined in one embed or individually as their own messages. Set to combined by default.
    • When triggered, alerts will persist until content is removed from the ModQueue.

Modmail Monitoring

Contains all settings/options related to your community's modmail.

Modmail Folders

Stale Modmail Settings

Modmail Folders

  • Select the modmail folders you would like to monitor. Set to monitor "In Progress" by default.
    • Folders will display in the Discord message in the order that they are selected. This allows you to group folders together based on preference.

Modmail Alert Settings

  • Choose whether or not you want to ping a specific role whenever the total number of items from selected folders reach the specified threshold.
  • Provide the ID for the role you want to ping. You can also choose to use @here or @everyone.
    • To obtain the ID, enable Developer Mode in Discord by going to User Settings → Advanced then go to Server Settings → Roles and right click on a role for the option to copy its ID.
    • To obtain the Slack ID, navigate to Directories → User Groups → Select User Group → 3 Dot Menu → Copy Group ID.
    • If no ID is provided, alerts will be posted without role pings.
  • Configure the threshold for when to trigger Modmail alerts. Set threshold to 0 to disable alerts. Disabled by default.
  • When triggered, alerts will persist until the number of items in Modmail is less than half of the threshold.

Stale Modmail Settings

  • Configure alerts for stale modmail conversations, so you can be alerted when a conversation goes without any moderator action for too long.
  • This applies to non-internal conversations only.
  • Choose whether or not you want to ping a specific role whenever there are stale Modmail conversations.
  • Provide the ID for the role you want to ping. You can also choose to use @here or @everyone.
    • To obtain the ID, enable Developer Mode in Discord by going to User Settings → Advanced then go to Server Settings → Roles and right click on a role for the option to copy its ID.
    • To obtain the Slack ID, navigate to Directories → User Groups → Select User Group → 3 Dot Menu → Copy Group ID.
    • If no ID is provided, alerts will be posted without role pings.
  • Configure the threshold for when to trigger an alert. Set threshold to 0 to disable alerts. Disabled by default.
  • Choose whether to display report alerts combined in one embed or individually as their own messages. Set to combined by default.
    • When triggered, alerts will persist until there are no more stale conversations.

Please Note: Messages can exist in more than one folder. A message can be both "highlighted" and "in progress" for example. Only messages that can be archived are monitored, since unread/read status for mod discussions and notifications can be different for each moderator.


Changelog

v2.0

ADDED
  • Slack support
  • Option to split Priority Report Alerts and Stale Modmail Alerts into individual messages
FIXED
  • General performance issues
  • Ban Appeals not being counted for Stale Modmail Alerts
  • Some mod actions in Modmail not being counted when checking for stale Modmails
  • Warning Alerts occasionally overriding Critical Alerts
  • Message embed formatting
  • Server errors causing some alerts/messages to regenerate unnecessarily
  • Deleted messages in Discord/Slack causing a full reboot instead of recreating deleted messages
  • Threshold alert calculations
  • Reboot task order

v1.2

ADDED
  • Improved failure logic to help identify issues when alerts don't automatically delete themselves
  • Reboot Function - Restart Subreddit Status to fix stuck messages via subreddit three dot menu
FIXED
  • Webhook name not updating when initially configuring Subreddit Status
  • Alerts trying to delete only once before failing (will now attempt to delete 5 times before throwing an error)
  • Errors sometimes generating for failed delete attempts despite alerts deleting successfully
REMOVED
  • Online users metric (API endpoint no longer supported by Reddit)

v1.1

ADDED
  • Configurable Modmail alerts for when number of conversations for selected folders reaches a given threshold
  • Configurable Modmail alerts for when conversations become stale (no moderator activity for given timeframe)
  • Configurable Modqueue alerts for when a reported post/comment contains a specified keyword/phrase in the report reason
FIXED
  • Alerts containing role pings would not properly handle role IDs
  • Modqueue alert messages remaining after modqueue was cleared
  • Embed color hexadecimal conversion to decimal
  • Settings defaults
  • Settings validation

v1.0

  • Initial Release

Help & Support

Contact WolfXemo with any questions, suggestions, or issues

Terms & Conditions / Privacy Policy

Restart Subreddit Status

For situations where updates appear to be failing, alerts don't seem to be deleting themselves, or there are general issues with the app, you can force a reboot by navigating to your subreddit's three dot menu (top right when viewing subreddit front page in Shreddit or the Reddit app) and selecting the "Restart Subreddit Status" option.

Restart Subreddit Status

About this app