Skip to content
422 changes: 422 additions & 0 deletions locales/en.json

Large diffs are not rendered by default.

1,169 changes: 1,169 additions & 0 deletions modules/staff-management-system/commands/duty.js

Large diffs are not rendered by default.

717 changes: 717 additions & 0 deletions modules/staff-management-system/commands/staff-management.js

Large diffs are not rendered by default.

989 changes: 989 additions & 0 deletions modules/staff-management-system/commands/status.js

Large diffs are not rendered by default.

316 changes: 316 additions & 0 deletions modules/staff-management-system/configs/activity-checks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,316 @@
{
"filename": "activity-checks.json",
"humanName": {
"en": "Activity Checks"
},
"description": {
"en": "Configure automated staff activity checks and response logging."
},
"categories": [
{
"id": "general",
"icon": "fas fa-clipboard-user",
"displayName": {
"en": "General Settings"
}
},
{
"id": "exceptions",
"icon": "fa-solid fa-badge-check",
"displayName": {
"en": "Exceptions"
}
},
{
"id": "automation",
"icon": "far fa-robot",
"displayName": {
"en": "Automation"
}
},
{
"id": "results",
"icon": "fa-solid fa-check-to-slot",
"displayName": {
"en": "Results & Logging"
}
}
],
"content": [
{
"name": "enableActivityChecks",
"category": "general",
"humanName": {
"en": "Enable Activity Checks"
},
"description": {
"en": "Allows admins to start an activity check to see who is active."
},
"type": "boolean",
"default": {
"en": true
},
"elementToggle": true
},
{
"name": "targetRoles",
"category": "general",
"humanName": {
"en": "Roles to Check"
},
"description": {
"en": "The roles required to respond to the activity check. Anyone with these roles will be expected to click the button. Leave empty to default to the General Staff Roles."
},
"type": "array",
"content": "roleID",
"default": {
"en": []
},
"allowNull": true
},
{
"name": "timeframe",
"category": "general",
"humanName": {
"en": "Check Duration (Hours)"
},
"description": {
"en": "How long staff have to respond to the activity check (Max 168 hours / 1 week)."
},
"type": "integer",
"minValue": 1,
"maxValue": 168,
"default": {
"en": 24
}
},
{
"name": "checkMessage",
"category": "general",
"humanName": {
"en": "Activity Check Embed"
},
"description": {
"en": "The message sent when an activity check starts."
},
"type": "string",
"allowEmbed": true,
"params": [
{
"name": "endtime",
"description": {
"en": "The Discord timestamp when the check ends."
}
},
{
"name": "duration",
"description": {
"en": "The configured duration in hours."
}
}
],
"default": {
"en": {
"title": "📋 Staff Activity Check",
"description": "Please click the button below to confirm your activity before %endtime%.",
"color": "#3498db"
}
}
},
{
"name": "sendingChannel",
"category": "general",
"humanName": {
"en": "Default Sending Channel"
},
"description": {
"en": "The default channel where the activity check message will be posted. This can manually be overridden with the command."
},
"type": "channelID",
"channelTypes": [
"GUILD_TEXT"
],
"default": {
"en": ""
},
"allowNull": true
},
{
"name": "exceptionsType",
"category": "exceptions",
"humanName": {
"en": "Exceptions Rule"
},
"description": {
"en": "Who are excused from the activity checks?"
},
"type": "select",
"content": [
"No exceptions",
"Only LoA",
"Only RA",
"LoA and RA",
"Custom role(s)"
],
"default": {
"en": "LoA and RA"
}
},
{
"name": "customExceptionRoles",
"category": "exceptions",
"humanName": {
"en": "Custom Exception Roles"
},
"description": {
"en": "Only applies if 'Custom role(s)' is selected above."
},
"type": "array",
"content": "roleID",
"default": {
"en": []
},
"allowNull": true
},
{
"name": "automatedChecks",
"category": "automation",
"humanName": {
"en": "Automated Checks"
},
"description": {
"en": "If enabled, the bot will automatically start activity checks at configured intervals."
},
"type": "boolean",
"default": {
"en": false
}
},
{
"name": "automatedCheckInterval",
"category": "automation",
"humanName": {
"en": "Automated Check Interval"
},
"description": {
"en": "On which interval to start automatic checks. Choose cronjob for full customzation."
},
"type": "select",
"content": [
"Weekly",
"Biweekly",
"Monthly",
"Cronjob"
],
"default": {
"en": "Biweekly"
},
"dependsOn": "automatedChecks"
},
{
"name": "automatedCheckCronjob",
"category": "automation",
"humanName": {
"en": "Automated Check Cronjob"
},
"description": {
"en": "The cronjob schedule for automatic checks. Only applies if 'Cronjob' is selected above."
},
"type": "string",
"default": {
"en": ""
},
"dependsOn": "automatedChecks",
"allowNull": true
},
{
"name": "automatedCheckWeekDay",
"category": "automation",
"humanName": {
"en": "Automated Check Week Day"
},
"description": {
"en": "The week day to start automatic checks."
},
"type": "select",
"content": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
],
"default":{
"en": "Monday"
},
"dependsOn": "automatedChecks"
},
{
"name": "automatedCheckMonthWeek",
"category": "automation",
"humanName": {
"en": "Automated Check Month Week"
},
"description": {
"en": "The week of the month to start automatic checks. Only applies if 'Monthly' is selected above."
},
"type": "integer",
"minValue": 1,
"maxValue": 4,
"default": {
"en": 1
},
"dependsOn": "automatedChecks"
},
{
"name": "logChannel",
"category": "results",
"humanName": {
"en": "Results Channel"
},
"description": {
"en": "Where the final results are posted. Leave empty if you want to use the general log channel."
},
"type": "channelID",
"default": {
"en": ""
},
"channelTypes": [
"GUILD_TEXT"
],
"allowNull": true
},
{
"name": "pingResults",
"category": "results",
"humanName": {
"en": "Ping on Results"
},
"description": {
"en": "Ping specific roles when the results are posted."
},
"type": "boolean",
"default": {
"en": false
}
},
{
"name": "pingRoles",
"category": "results",
"humanName": {
"en": "Roles to Ping"
},
"description": {
"en": "The roles to ping with the results message."
},
"type": "array",
"content": "roleID",
"default": {
"en": []
},
"dependsOn": "pingResults"
}
]
}
Loading