Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
3502113
Added the base module folders and module.json
Dec 11, 2025
9bd863d
Added all folders necessary and the configuration files for each folder
Dec 11, 2025
804ceed
Added a test command
Dec 12, 2025
13733f7
removed the manage file
Dec 12, 2025
88322e3
Added, renamed and deleted some files as necessary and coded the models.
Dec 13, 2025
843ebbd
Renamed action.js to moderation.js, coded multiple things, added a ne…
Dec 13, 2025
225abb7
Forgot to update module.json, now updated aswell
Dec 13, 2025
1602a16
Added additional information in ping-protection.js
Kevinking500 Dec 13, 2025
d285aee
Disabled allowing reply pings, added the enable moderation and enable…
Dec 13, 2025
cdf6f70
Added support for actually correct parameters and those parameters ad…
Dec 13, 2025
0e4cafb
Added proper support for localization, and coded the events
Dec 13, 2025
24dc3b2
Completed the full module and fixed some critical bugs that caused th…
Dec 14, 2025
01660ad
Cleaned up some code notes I used for debugging
Dec 14, 2025
93eb5a3
Completely finished the module and worked tirelessly for many hours t…
Dec 14, 2025
f464555
Debugged absolutely everything, removed like 300 lines of code for po…
Dec 15, 2025
35afa5a
Added the option to lower mod actions history
Dec 15, 2025
9cf2c36
Made the deault value of pings to trigger action 10 instead of 5 in b…
Dec 15, 2025
b5ca02f
Added the commands warnings for most commands
Kevinking500 Dec 15, 2025
edaa5d1
Almost completely rewrote the module to make sure the modules works a…
Dec 17, 2025
84c2634
Merge branch 'main' of github.com:Kevinking500/CustomDCBot
Dec 17, 2025
0b4d87b
Added "automod" abilities - Will now delete the original message by d…
Dec 17, 2025
347b674
(not working correctly) added automod integration and some small changes
Dec 18, 2025
bc3737a
Fixed the
Dec 18, 2025
d1d0271
Removed the feature that didn't work (reposting), adds a custom messa…
Dec 18, 2025
aa79dd4
Fixed the bug of the bot still sending the warning and punishing if l…
Dec 20, 2025
3244371
Added a funny easter egg
Dec 28, 2025
7267711
Added a funny easter egg
Kevinking500 Dec 28, 2025
e310ac8
Some QOL improvements, including merging the list commands
Jan 2, 2026
9e83962
Some QOL improvements, including merging list commands and allowing …
Kevinking500 Jan 2, 2026
b61c31b
Added some new options in the config
Jan 8, 2026
84a1bbc
Added some new options in the config
Kevinking500 Jan 8, 2026
34f3459
Update configuration.json
Kevinking500 Jan 8, 2026
f8427da
Fix self-ping condition to allow self-pinging
Kevinking500 Jan 8, 2026
9e6af40
Update to Discord.js V14 from ScootKit BETA
Kevinking500 Jan 9, 2026
b75f228
New updates from BETA fixes
Kevinking500 Jan 9, 2026
c2d3cad
Ping protection V1, in Discord.JS V14
Jan 10, 2026
fecf2e4
Ping Protection V1
Jan 19, 2026
0bda86d
Changed code to the requested changes, and adjusted code logic to act…
Jan 23, 2026
5011b6a
Made adjustments to code as requested, and added an intent to main.js…
Jan 25, 2026
1e4609d
Fixed the missing footer on embeds. Fixed a small typo in the default…
Jan 25, 2026
d89f212
Ping Protection V1.1
Jan 30, 2026
e8dfc14
Merge branch 'beta-discordjs14' into main
Kevinking500 Jan 30, 2026
04c4bd8
Quickly updated locales for better explanation about exceptions for w…
Kevinking500 Jan 30, 2026
611fa87
Ping Protection V1.1 remastered
Feb 2, 2026
7430835
Ping Protection V1.1 remastered
Kevinking500 Feb 2, 2026
c6e04b4
Another remastered version
Feb 2, 2026
a23a319
Added categories in 2 configs
Feb 4, 2026
9d259fe
Used proper emoji's that SCNX supports
Feb 4, 2026
e0e00f9
Used the new updated ones I suggested that were added (and hopefully …
Feb 4, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 13 additions & 13 deletions locales/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -935,8 +935,7 @@
"log-mute-error": "[Ping Protection] Punishment failed: I cannot mute %tag: %e",
"log-kick-error": "[Ping Protection] Punishment failed: I cannot kick %tag: %e",
"log-action-log-failed": "[Ping Protection] Punishment logging failed: %e",
"log-manual-delete": "All data for <@%u> (%u) has been deleted successfully.",
"log-manual-delete-logs": "[Ping Protection] All data for user with ID %u has been deleted successfully.",
"log-data-deletion": "[Ping Protection] All data for the user with ID %u has been deleted successfully.",
"log-automod-keyword-limit": "[Ping Protection] Automod keywords exceed 1000 characters limit. Keywords were truncated.",
"punish-log-failed-title": "Punishment failed for user %u",
"punish-log-failed-desc": "An error occured while trying to punish the user %m. Please check the bot's permissions and role hierarchy. See the message below for the error.",
Expand All @@ -951,10 +950,9 @@
"cmd-desc-actions": "View the moderation action history of a user",
"cmd-desc-panel": "Admin: Open the user management panel",
"cmd-desc-group-list": "Lists protected or whitelisted entities",
"cmd-desc-list-protected": "List all protected users and roles",
"cmd-desc-list-wl": "List all whitelisted roles and channels",
"cmd-desc-list-protected": "List of all the protected users and roles",
"cmd-desc-list-wl": "List of all the whitelisted roles, channels and users",
"embed-history-title": "Ping history of %u",
"embed-leaver-warning": "This user left the server at %t. These logs will stay until automatic deletion.",
"no-data-found": "No logs found for this user.",
"embed-actions-title": "Moderation history of %u",
"label-reason": "Reason",
Expand All @@ -966,23 +964,25 @@
"btn-actions": "Actions history",
"btn-delete": "Delete all data (Risky)",
"list-protected-title": "Protected Users and Roles",
"list-protected-desc": "View all protected users and roles here. When someone pings one of these protected user(s)/role(s), a warning will be sent. Exceptions are whitelisted roles, and when sent in a whitelisted channel.",
"field-prot-users": "Protected Users",
"field-prot-roles": "Protected Roles",
"list-whitelist-title": "Whitelisted Roles and Channels",
"list-protected-desc": "View all protected users and roles here. When someone pings one of these protected user(s)/role(s), a warning will be sent. Exceptions are when pinged by someone with a whitelisted role/as a whitelisted user or when it's sent in a whitelisted channel.",
"field-protected-users": "Protected Users",
"field-protected-roles": "Protected Roles",
"list-whitelist-title": "Whitelisted Roles, Users and Channels",
"list-whitelist-desc": "View all whitelisted roles and channels here. Whitelisted roles will not get a warning for pinging a protected entity, and pings will be ignored in whitelisted channels.",
"field-wl-roles": "Whitelisted Roles",
"field-wl-channels": "Whitelisted Channels",
"field-wl-users": "Whitelisted Users",
"list-none": "None are configured.",
"modal-title": "Confirm data deletion for this user",
"modal-label": "Confirm data deletion by typing this phrase:",
"modal-phrase": "I understand that all data of this user will be deleted and that this action cannot be undone.",
"modal-failed": "The phrase you entered is incorrect. Data deletion cancelled.",
"modal-success-data-deletion": "All data for the user <@%u> (%u) has been deleted successfully",
"field-quick-history": "Quick history view (Last %w weeks)",
"field-quick-desc": "Pings history amount: %p\nModeration actions amount: %m",
"history-disabled": "History logging has been disabled by a bot-configurator.\nAre you (one of) the bot-configurators? You can enable history logging in the \"storage\" tab in the 'ping-protection' module ^^",
"leaver-warning-long": "User left at %d. These logs will stay until automatic deletion.",
"leaver-warning-short": "User left at %d.",
"history-disabled": "History logging has been disabled by a bot-configurator.\nAre you (one of) the bot-configurators? You can enable history logging in the \"Data Storage\" tab in the 'ping-protection' module ^^",
"leaver-warning-long": "This user left the server at %d. These logs will stay until automatic deletion.",
"leaver-warning-short": "This user left the server at %d.",
"meme-why": "😐 [Why are you the way that you are?](<https://www.youtube.com/watch?v=NY9UZI1OUMI>) - You just pinged yourself..",
"meme-played": "🔑 [Congratulations, you played yourself.](<https://www.youtube.com/watch?v=Lr7CKWxqhtw>)",
"meme-spider": "🕷️ [Is this you?](<https://i.kym-cdn.com/entries/icons/original/000/023/397/C-658VsXoAo3ovC.jpg>) - You just pinged yourself.",
Expand All @@ -992,4 +992,4 @@
"no-message-link": "This ping was blocked by AutoMod",
"list-entry-text": "%index. **Pinged %target** at %time\n%link"
}
}
}
15 changes: 12 additions & 3 deletions modules/ping-protection/commands/ping-protection.js
Original file line number Diff line number Diff line change
Expand Up @@ -117,12 +117,12 @@ async function listHandler(interaction, type) {

embed.addFields([
{
name: localize('ping-protection', 'field-prot-users'),
name: localize('ping-protection', 'field-protected-users'),
value: truncate(usersList, 1024),
inline: true
},
{
name: localize('ping-protection', 'field-prot-roles'),
name: localize('ping-protection', 'field-protected-roles'),
value: truncate(rolesList, 1024),
inline: true
}
Expand All @@ -140,6 +140,10 @@ async function listHandler(interaction, type) {
? config.ignoredChannels.map(id => `<#${id}>`).join('\n')
: localize('ping-protection', 'list-none');

const usersList = config.ignoredUsers.length > 0
? config.ignoredUsers.map(id => `<@${id}>`).join('\n')
: localize('ping-protection', 'list-none');

embed.addFields([
{
name: localize('ping-protection', 'field-wl-roles'),
Expand All @@ -148,7 +152,12 @@ async function listHandler(interaction, type) {
{
name: localize('ping-protection', 'field-wl-channels'),
value: truncate(channelsList, 1024),
inline: true }
inline: true },
{
name: localize('ping-protection', 'field-wl-users'),
value: truncate(usersList, 1024),
inline: true
}
]);
}

Expand Down
66 changes: 58 additions & 8 deletions modules/ping-protection/configs/configuration.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,57 @@
},
"commandsWarnings": {
"normal": [
"/ping-protection user history",
"/ping-protection user actions-history",
"/ping-protection list roles",
"/ping-protection list users",
"/ping-protection list whitelisted"
"/ping-protection user history",
"/ping-protection user actions-history",
"/ping-protection list roles",
"/ping-protection list users",
"/ping-protection list whitelisted"
]
},
"description": {
"en": "Configure protected users/roles, whitelisted roles/members, ignored channels and the notification message."
},
"categories": [
{
"id": "protection",
"icon": "fa-solid fa-shield",
"displayName": {
"en": "Protected"
}
},
{
"id": "whitelisted",
"icon": "fa-solid fa-badge-check",
"displayName": {
"en": "Whitelists"
}
},
{
"id": "rules",
"icon": "fas fa-gears",
"displayName": {
"en": "Ping rules"
}
},
{
"id": "automod",
"icon": "far fa-robot",
"displayName": {
"en": "AutoMod settings"
}
},
{
"id": "messages",
"icon": "fa-duotone fa-regular fa-triangle-exclamation",
"displayName": {
"en": "Warning message"
}
}
],
"content": [
{
"name": "protectedRoles",
"category": "protection",
"humanName": {
"en": "Protected Roles"
},
Expand All @@ -32,6 +70,7 @@
},
{
"name": "protectAllUsersWithProtectedRole",
"category": "protection",
"humanName": {
"en": "Protect all users with a protected role"
},
Expand All @@ -45,6 +84,7 @@
},
{
"name": "protectedUsers",
"category": "protection",
"humanName": {
"en": "Protected Users"
},
Expand All @@ -59,6 +99,7 @@
},
{
"name": "ignoredRoles",
"category": "whitelisted",
"humanName": {
"en": "Whitelisted Roles"
},
Expand All @@ -73,6 +114,7 @@
},
{
"name": "ignoredChannels",
"category": "whitelisted",
"humanName": {
"en": "Whitelisted Channels"
},
Expand All @@ -87,6 +129,7 @@
},
{
"name": "ignoredUsers",
"category": "whitelisted",
"humanName": {
"en": "Whitelisted Users"
},
Expand All @@ -101,6 +144,7 @@
},
{
"name": "allowReplyPings",
"category": "rules",
"humanName": {
"en": "Allow Reply Pings"
},
Expand All @@ -114,6 +158,7 @@
},
{
"name": "selfPingConfiguration",
"category": "rules",
"humanName": {
"en": "Self-Ping configuration"
},
Expand All @@ -132,6 +177,7 @@
},
{
"name": "enableAutomod",
"category": "automod",
"humanName": {
"en": "Enable automod"
},
Expand All @@ -145,6 +191,7 @@
},
{
"name": "autoModLogChannel",
"category": "automod",
"humanName": {
"en": "AutoMod Log Channel"
},
Expand All @@ -162,20 +209,23 @@
},
{
"name": "autoModBlockMessage",
"category": "automod",
"humanName": {
"en": "AutoMod custom message for message block" },
"en": "AutoMod custom message for message block"
},
"description": {
"en": "Custom text shown to the user when blocked (Max 150 characters)."
},
"type": "string",
"maxLength": 150,
"default": {
"en": "Protected User Ping: Your message was blocked because you are trying to ping a protected user/role. The content of your message might be sent to a log channel depending on the configuration."
"en": "Your message was blocked because you are trying to ping a protected user/role. The message content might be logged depending on the configuration."
},
"dependsOn": "enableAutomod"
},
{
"name": "pingWarningMessage",
"category": "messages",
"humanName": {
"en": "Warning Message"
},
Expand Down Expand Up @@ -220,4 +270,4 @@
}
}
]
}
}
20 changes: 3 additions & 17 deletions modules/ping-protection/configs/moderation.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@
"configElements": true,
"content": [
{
"name": "pingsCountBasic",
"name": "pingsCount",
"humanName": {
"en": "Pings to trigger moderation"
},
"description": {
"en": "The amount of pings required to trigger a moderation action (Uses 'Ping History Retention' timeframe)."
"en": "The amount of pings required to trigger a moderation action."
},
"type": "integer",
"default": {
Expand All @@ -33,27 +33,13 @@
"en": "Use a custom timeframe"
},
"description": {
"en": "If enabled, you can choose your own custom timeframe and the basic configuration will be ignored."
"en": "If enabled, you can choose your own custom timeframe of days in which the pings must occur to trigger the moderation action."
},
"type": "boolean",
"default": {
"en": false
}
},
{
"name": "pingsCountAdvanced",
"humanName": {
"en": "Pings to trigger (Custom Timeframe)"
},
"description": {
"en": "The amount of pings required in the custom timeframe below."
},
"type": "integer",
"default": {
"en": 5
},
"dependsOn": "useCustomTimeframe"
},
{
"name": "timeframeDays",
"humanName": {
Expand Down
Loading