Skip to main content

Staff-Goals

Set weekly messages-goals for your staff-members.

Staff-Goals
Set weekly message-goals for staff-members
This module is open-source.
This module is storing data in your bot's database.
This module creates one top-level Slash-Command on your server.
This module has one configuration file.
This module is being actively used on over 2K other servers on SCNX.
This module is included for free in every plan. Learn more about prices.

Features

  • Set a message goal for your staff members.
  • Every week, the bot will check if the staff members sent enough messages to meet the goal.
  • Check your current progress and your past achievements using commands.
  • Send results every week via DMs to the users or to a configured channel.
  • Optionally, ignore channels from goals.

Setup

  1. Select (or create) a role. The activity of users with this role will get evaluated.
  2. Configure the module.
  3. Please set up permissions for Slash-Commands to avoid unauthorized usage of them.
  4. Assign the role to members whose activity should get evaluated every week.

Usage

Commands

Understand the documentation
In these docs, name:<Type> is an option of a slash-command with name name and the type Type. Options that not required, are described as [name:<Type>]. If the action of a command is vastly different between required and not-required options, we might list them separately.
Examples
  • /moderate ban user:<Member>: This command (/moderate ban) has an required option with the name "user" that only accepts one member as a value.
  • /moderate ban victim:<Member> reason:<Text>: This command (/moderate ban) has an required option with the name "victim" that only accepts one member as a value and another required option with the name "reason" that accepts any text as an value.
  • /moderate ban victim:<Member> reason:<Text> [proof:<Attachment>]: This command (/moderate ban) has an required option with the name "victim" that only accepts one member as a value, another required option with the name "reason" that accepts any text as an value and a not-required option with the name "proof" which allows one attachment as its value.
CommandDescription
/team-goals progress [user:<User>]Shows the progress (amount of messages left to reach the goal, time left, …) towards the goal of the current evaluation period (if empty, your progress will be shown).
/team-goals history [user:<User>]Shows the goal-history (amount of messages, goal reached or not, percentage of goals reached) in the last 10 weeks of the specified user (if empty, your progress will be shown).

Definition of module-specific terms

  • An evaluation is the time when a user gets evaluated. This happens once a week. The actual time is dependent on the time the module got first enabled - the first evaluation will happen exactly one week after that. In an evaluation, the bot will compare the amount messages sent in the current evaluation period to the configured goal, triggering the configured failed / archived message to be sent. Once all users got evaluated, the next evaluation period starts.
  • An evaluation period is the time between the last and the next evaluation and is exactly one week long.

Configuration

This configuration file allows you to configure how this module will behave and the goal itself. Open it in your dashboard.

FieldDescription
Staff-RolesThese roles will get evaluated every week regarding their progress towards the goal. Only messages from users with these roles will get tracked.
Weekly Message GoalThe amount of messages staff members need to send in each evaluation period to archive the goal.
Goal-Archived-MessageThis is the message sent (either via DM or in the configured channel) every evaluation for every user tracked (every user with a configured Staff-Role) if they reach their goals.
Goal-Failed-MessageThis is the message sent (either via DM or in the configured channel) every evaluation for every user tracked (every user with a configured Staff-Role) if they fail to reach their goals.
Send messages in channels instead of DMsIf enabled, staff members will receive their goal evaluation in a channel instead via DMs.
Channel to send messages inOnly visible if "Send messages in channels instead of DMs" is enabled.
Every evaluation, the goal message will get sent into this channel instead via DMs.
Users can see each others statisticsIf enabled, users will be able to add the [user:<User>] to their command and will be able to see each others statistics.
Ignored channelsMessages sent by users with at least one of the Staff-Roles in these channels won't get counted towards their goals.

Troubleshooting

Messages sent by my staff members are not counted correctly

Please make sure that

  • the bot has access to every channel that messages from staff members should be counted in and that the channel is not in the blacklist.
  • the user has at least one of the Configured Staff-Roles. Only message sent while they have the rolle will get counted - messages sent before the user had the role are never counted.
How can I change the time when users get evaluated?

There's no easy way to do this. The evaluation time is based on the exact time you first enabled the module (evaluation will always happen every week that day at that time). If you really need another evaluation time, you could disable the module, purge the module database and wait until the exact time when you want evaluations to happen and enable the module then.

Evaluation isn't working correctly (e.g. evaluation messages aren't send)

Please make sure that

Even if no evaluation messages get sent, you can always view the goal history using the /team-goals history slash command.

Can I use this module to evaluate the message activity of my members? / SCNX is adding a "Report Abuse" button below my DM messages

Such usage would violate our Terms of Service as you are using our software to spam your users. You may only use this module to evaluate activity of your staff members and only with their consent. If you are using the DM feature of this module, SCNX might automatically add a "Report abuse" button below your message if you are messaging an unusually high amount of members of your server. You can learn more about this behavior on sc-net.work/report-mass-dm (this is also the URL linked in the button). Most of our users never fit this category, and you usually do not need to worry about this if you are using this module as intended.

Stored data

The following data is being stored about every user with a configured Staff-Role once they send a message ("User Entry"):

  • Their unique Discord User-ID
  • The amount of messages they sent in the current evaluation period
  • Metadata about the entry (date when created and last updated)

The following is stored at every evaluation about every user that has one of the configured Staff-Roles ("Goal History Entry"):

  • An unique integer identifying the database entry
  • Their unique Discord User-ID
  • The amount of messages they sent in the evaluation period
  • The configured goal in the current evaluation period
  • Metadata about the entry (date when created and last updated)

There is no way to remove the user entry or the goal history entry from the database. Messages sent by users without any configured Staff-Roles will never be counted and will not create a User entry.

To remove all data, purge the module database.