Commit graph

61 commits

Author SHA1 Message Date
Raphael
d90746b07c style(commands/administration): logs now have only one configuration and not two 2025-12-05 12:25:02 +01:00
Raphael
cabef748b0 refactor(commands/administration): fixing the log extansion in import 2025-12-05 12:25:02 +01:00
Raphael
6b2876e514 fix(commands/administration): now the interaction will not reply if the channel is deleted
The interaction will send a message at the start of the command's
execution and a confirmation message at the end (only if the channel is
still here)
2025-12-05 12:25:02 +01:00
Raphael
d447937c1b feat(lib): adding the getUserRoles function in lib
- Needed by other modules so terminated on the lib
2025-11-25 15:25:44 +01:00
Raphael
5b6f5b2ea9 refactor(commands/modertation): nuke's fetch in a single line 2025-11-25 15:25:44 +01:00
Raphael
e5dda46040 fix(commands/administration): now catching if the modal failed 2025-11-25 15:25:44 +01:00
Raphael
4b9124f562 feat(commands/administration): adding the value of the old value
- Allow to correct only and not re-type everything
2025-11-25 15:25:44 +01:00
Raphael
9d50717163 refactor(commands/administration): adding the function list placeholder
- Permit to change all information in only on function
2025-11-25 15:25:44 +01:00
Raphael
7061a98373 feat(commands/administration): adding the welcome show command 2025-11-25 15:25:44 +01:00
Raphael
0db6014b72 fix(commands/administration): Using the prisma type for prisma call
- changed the User / Guild into UserPrisma / GuildPrisma
2025-11-25 15:25:44 +01:00
Raphael
e32e824c48 fix(commands/administration): using the new prisma field 2025-11-25 15:25:44 +01:00
Raphael
06bd5d5cf3 feat(commands/administration): adding the leave module to welcome command 2025-11-25 15:25:44 +01:00
Raphael
5fde8a07b6 feat(commands/administration): Adding the start of the welcome command 2025-11-25 15:25:44 +01:00
Raphael
009486be98 style(administration/logs): the emoji for the logs configuration 2025-11-25 15:25:44 +01:00
Raphael
e6d1a1406e refactor(commands/utils): now info will use the pwn emoji
Changing the name of the pwn emoji previously dash
2025-11-25 15:25:44 +01:00
Raphael
5f737a2576 style(commands/utils): Translate the role configuration
- Yes maybe one day will do the english and french configuration planed
once the bot will be functionnal
2025-11-25 15:25:44 +01:00
Raphael
e6498ac804 refactor(commands/administration): linting the collector of join's command 2025-11-25 15:25:44 +01:00
Raphaël
4afc86624d feat(commands/administration): Deleting the join command will come back later
- Will focus on event to be logs complient
2025-11-23 00:48:40 +01:00
Raphael
2a0111efea feat(commands/moderation): adding the option to silent notification 2025-11-15 00:41:39 +01:00
Raphael
9b770235f0 refactor(commands/moderation): removing the extansion after @lib/perm 2025-11-15 00:41:39 +01:00
Raphael
240ee7fbdc fix(commands/administration): join command use now the ButtonBuilder like discord v15 2025-11-15 00:41:39 +01:00
Raphael
9e6a4a0993 feat(commmands/custom): Update the set command's permission check to use the isOwner function 2025-11-15 00:41:39 +01:00
Raphael
dde23bf13a feat(commmands/administration): Update the log command's permission check to use the isOwner function 2025-11-15 00:41:39 +01:00
Raphael
0c081a7ace feat(commmands/administration): Update the deletecat command's permission check to use the isOwner function 2025-11-15 00:41:39 +01:00
Raphael
e1abcd5b24 feat(commmands/rank): Update the buyer command's permission check to use the isOwner function 2025-11-15 00:41:39 +01:00
Raphael
5f89afda04 fix(events/client): User -> UserPrima to not confuse w/ discord type 2025-11-15 00:41:39 +01:00
Raphael
87ea1b7f9b feat(commmands/rank): Update the owner command's permission check to use the isOwner function 2025-11-15 00:41:39 +01:00
Raphael
c016fbbb9f feat(commmands/rank): Update the whitelist command's permission check to use the isOwner function 2025-11-15 00:41:39 +01:00
Raphael
f7dbfbd2fa feat(commands/custom): set color is now updated to work in v15 2025-11-15 00:41:39 +01:00
Raphael
da888835ff fix(cmd/utils): adding correct type on info command 2025-10-26 22:35:29 +01:00
Raphael
5db4a7939d refactor(commands/adminstration): now using the new log system 2025-10-26 22:35:29 +01:00
Raphael
491feedfaf refactor(commands/custom): now using the new log system 2025-10-26 22:35:29 +01:00
Raphael
9f545203f3 refactor(commands/moderation): now using the new log system 2025-10-26 22:35:29 +01:00
Raphael
745b7d5690 refactor(commands/rank): now using the new log system 2025-10-26 22:35:29 +01:00
Raphael
bdfa9e1c9b refactor(commands/utils): now using the new log system 2025-10-26 22:35:29 +01:00
Raphael
6884b265c2 refactor(cmd/utils): adding the tsconfig + eslint correction 2025-10-14 00:37:34 +02:00
Raphael
d9b5d3c17c refactor(cmd/rank): adding the tsconfig + eslint correction 2025-10-14 00:37:34 +02:00
Raphael
eece230bab refactor(cmd/moderation): adding the tsconfig + eslint correction 2025-10-14 00:37:34 +02:00
Raphael
a0a9cac16d refactor(cmd/custom): adding the tsconfig + eslint correction 2025-10-14 00:37:34 +02:00
Raphael
8d41ef8f7a refactor(cmd/administration): adding the tsconfig + eslint correction 2025-10-14 00:37:34 +02:00
Raphael
c32436202f feat(cmd/administration): addding the join command to configure the welcome module 2025-10-09 14:49:25 +02:00
Raphaël
610e5ea946
🚀 v0.1.0-alpha – Protection System, Anti-Raid & Core Stability (#39)
* chore(branch/dev): now have a dev branch to test my update

* feat(logs/disable): adding the options to disable the logs
- Adding the option to the logs command

* feat(logs/disable): adding the options to disable the logs
- Adding the option to the logs command

* feat(logs/disable): finishing the disable command for logs
- suppressing all the data stored in database (concerning the logs)
- suppressing all the channels on the logs categories

* feat(logs/bot): Sending a message when ready to all the buyer
- The message is send just the first time after it's just an edit
- The message is an embed

* style(logs/bot): embed for ready updated
- Color is now turned to green (no color saved in database for all the
  bot)

* feat(logs/bot): Sending a message when ready to all the buyer
- The message is send just the first time after it's just an edit
- The message is an embed

* style(logs/bot): embed for ready updated
- Color is now turned to green (no color saved in database for all the
  bot)

* style(ready/msg): now embed use timestamp to give the last restart

* style(ready/msg): norming stuff to be coherent with the code

- Give the backline like the other option

* feat(logs/collect): The collector is now timed out

- If the user pass more than 1 minutes to select the roles the message
will be updated and the collector disable.

* feat(logs/guildCreate): now joining a server is sending a message

- All the buyer will recieve a message when the bot is added to a new
guild.
- The information give by the message is invitation / member count /
owner id

* feat(logs/guildDelete): adding the private message when leaving a server

- An embed with the owner id / guild name / member count

* 🧪 Alpha v0.0.3 – Buyer Logs, Guild Events & UX Polish

💌 Buyer Notifications – Now Real-Time
	•	🟢 On Bot Ready
→ Sends a DM to all buyers when the bot boots up.
→ Reuses the same message for future startups by editing the last one.
→ Includes a timestamp ⏱️ to track the latest restart.
→ Fresh new green embed style for clarity  On Guild Join
→ Buyers are notified when the bot joins a new server.
→ Embed includes:
	•	Server name & ID
	•	Member count 👥
	•	Owner ID 👑
	•	Instant invite link 🔗 On Guild Leave
→ Buyers also receive a DM when the bot is removed from a server.
→ Embed includes:
	•	Guild name
	•	Owner ID
	•	Member count at time of removal

⸻

🔐 Interaction UX Improvements
	•	🕒 Timed Role Collector for /logs
→ The role selection menu now times out after 1 minute.
→ Message is updated to reflect the timeout, and the collector is disabled to avoid confusion.

⸻

🎨 Style & Code Coherence
	•	 Ready embeds now use consistent layout (backline spacing, timestamps).
	•	🎨 Unified color scheme: green embeds for success/startup (no per-bot color in DB yet).
	•	🧼 Normalization pass for embed construction and messaging consistency.

⸻

📌 This alpha lays the foundation for clean bot lifecycle monitoring, robust buyer communication, and better UI behavior for commands.

Next in the pipe? Maybe logging settings persistence or webhook dispatches 👀

* feat(moderation/nuke): adding the command to nuke channel textual

- The command have to goal to delete and recreate a clone of the channel

* fix(moderation/nuke): selecting the people who can nuke channels

- Now only people with the whitelisted status (or more) can renew / nuke
the channel

* fix(moderation/nuke): selecting the people who can nuke channels

- Now only people with the whitelisted status (or more) can renew / nuke
the channel

feat(logs/guildUpdate): now guildUpdate event is catch and send a message to guildlogs

- logging the diff between:
  - premiumTier
  - contentFilter
  - locale
  - name
  - afk

* fix(moderation/nuke): selecting the people who can nuke channels

- Now only people with the whitelisted status (or more) can renew / nuke
the channel

feat(logs/guildUpdate): now guildUpdate event is catch and send a message to guildlogs

- logging the diff between:
  - premiumTier
  - contentFilter
  - locale
  - name
  - afk

* fix(logs/guildCreate): fixing typo on the final console log

- The console logs was pasted from the index.ts and now is updating to
use the interaction.guild instead the counter of the database

* style(logs/guildUpdate): updating the messages instead using integer

- now the verification level will send the same message wrote in the
rules
- the explicit content level will send a message instead just a single
index

* refractor(logs/guildUpdate): adding the subfolder 'guild' in event

* refractor(admin/deletecat): adding the deleteCategories in administration part

* refractor(event/guildUpdate): typing the function parameters

- Adding the update for guild update event, (oldGuild / newGuild)

* refactor(event/guildDelete): typing the parameter of the function

- Typing the execute function of the event guildDelete (in user cat)

* refactor(event/interaction): adding the type on interaction create

* feat(lib/perm): now isWhitelisted can be import on commands

- The command is exportable including the lib/perm.ts. Starting to have
really utils (and so function) on this project

* refactor(client/ready): eslint is now respecting

- The eslint is now respect.

* docs(utils/perm): Adding documentation for utils

- Doxygen will be now required for all the utils

* core(bun/package): update all the package to latest version

- There is now a warning when running the bot cause by an electron
update waiting to discord.js

* refactor(event/ready): format following the eslint

- The code is now setup like the eslint is configurated

* style(event/guildDelete): adding footer to delete guild

- The footer by default for the server is now added when suppressed from
the server

* refactor(commands): starting to adding type on the command

- Now with the lsp configurated is easier to see the type error
(interger instead number) / Guild -> GuildPrisma

* fix(moderation/nuke): correcting the type guildText

- The type was not correct

* fix(client/guildCreate): typing many thing to respect the Type

- The type was not correct

* fix(client/guildUpdate): typing many thing to respect the Type

- The type was not correct

* fix(client/interactino): typing many thing to respect the Type

- The type was not correct

* fix(lib/permission): typing many thing to respect the Type

- The type was not correct

* feat(event/messages): adding the MessageDelete logs

* core: updating packages

* fix(lib/perm): correcting the type integer to number

* fix(internal/deploycommand): adding type to command* variable

* feat(events/messagesDelete): adding type and now sending the log message

* feat(events/messagesBulkDelete): adding the event management

* fix(event/client): adding types on guildCreate

- Adding prisma types

* fix(event/client): adding types on guildDelete

- Adding prisma types

* fix(cmd/administration): adding types on deletecat

- Adding prisma types

* fix(command/rank): adding type on whitelist

* fix(command/rank): import CommandInteraction on whiltelist

* feat(event/messages): adding the MessageCreate event

- No logging stuff but a level system from scratch

* style(event/message): adding the pipe like in other messages.

* style(action/bun): removing the space

* feat(flake/tmux): adding tmux project configuration

- Adding the tmux-setup command how load my own tmux configuration to
work on this project

* fix(flake/tmux): patching the zplug issues when loading to many time

- just adding a exec zsh

* feat(event/messages): adding title on MessageBulkDelete

* feat(event/messages): adding title on MessageDelete

* feat(event/messages): adding logs for MessageUpdate

* fix(event/messages): Fixing the prisma call

- Using the old variable name message become oldMessage / newMessage

* style(event/messages): Adding Italic style if content cannot be load

* feat(cmd/admin): adding protect command

* feat(events/channel): adding channelCreate event

- The event contains:
  - logs for user whitelisted / Owner / Buyer
  - Antiraid for others

* feat(events/channel): adding channelDelete event

- The event contains:
  - logs for user whitelisted / Owner / Buyer
  - Antiraid for others

* feat(events/channel): adding channeUpdate event

- The event contains:
  - logs for users

* feat(src/lib): adding the a function to choose the correction mention
2025-10-01 14:25:03 +02:00
Raphaël
13cb14cba3
📦 Update – Logs System Overhaul (#33)
* chore(branch/dev): now have a dev branch to test my update

* feat(logs/disable): adding the options to disable the logs
- Adding the option to the logs command

* feat(logs/disable): adding the options to disable the logs
- Adding the option to the logs command

* feat(logs/disable): finishing the disable command for logs
- suppressing all the data stored in database (concerning the logs)
- suppressing all the channels on the logs categories
2025-08-18 20:17:36 +02:00
Raphael
39befde9b3 style(logs/show): update the message
- now showing the channels used by wich logs
- update to ephemeral message
2025-08-18 15:56:26 +02:00
Raphael
1c4c0f5872 style(norme/eslint): now edited the husky rules before commiting 2025-08-18 14:57:23 +02:00
Raphael
561d3e92a6 fix(eslint): now is activated and normed using ts comparaison 2025-08-18 14:45:46 +02:00
Raphael
bb46ad3996 style(src/prettier): updating with the prettier 2025-08-18 11:46:10 +02:00
Raphael
0058a17e3e style(utils/deletecat): adding a real reply to the reaction 2025-08-18 10:51:38 +02:00
Raphael
8d7039f714 style(logs/auto): upgrading ui for logs command
- removing the `yes` emoji from the title of last embed of
  auto-configuration
2025-08-18 10:51:38 +02:00
Raphael
bb1e28cf81 feat(utils/deletecat): adding the command to delete a categories 2025-08-16 22:17:25 +02:00