Merge branch 'dev' into 'main'
Dev See merge request Omega_Kube/kuby!29
This commit is contained in:
commit
4b2dd28583
4 changed files with 47 additions and 2 deletions
10
bot.py
10
bot.py
|
|
@ -166,6 +166,16 @@ class MyBot(commands.Bot):
|
||||||
kuby_logger.info(f"👋 {member} joined {member.guild.name}")
|
kuby_logger.info(f"👋 {member} joined {member.guild.name}")
|
||||||
if hasattr(self, 'advanced_logger'):
|
if hasattr(self, 'advanced_logger'):
|
||||||
self.advanced_logger.log_member_join(member)
|
self.advanced_logger.log_member_join(member)
|
||||||
|
|
||||||
|
# Vérifier si la restauration des rôles est activée pour ce serveur
|
||||||
|
from commandes.security import load_settings
|
||||||
|
settings = load_settings(member.guild.id)
|
||||||
|
role_restore_enabled = settings.get("role_restore_enabled", True)
|
||||||
|
|
||||||
|
if not role_restore_enabled:
|
||||||
|
kuby_logger.debug(f"Restauration des rôles désactivée pour {member.guild.name}, saut...")
|
||||||
|
return
|
||||||
|
|
||||||
previous_roles = self.advanced_logger.check_previous_roles(member.id)
|
previous_roles = self.advanced_logger.check_previous_roles(member.id)
|
||||||
if previous_roles:
|
if previous_roles:
|
||||||
guild = member.guild
|
guild = member.guild
|
||||||
|
|
|
||||||
|
|
@ -249,6 +249,8 @@ class SecurityView(disnake.ui.View):
|
||||||
self.build_whitelist_view()
|
self.build_whitelist_view()
|
||||||
elif self.category == "rules":
|
elif self.category == "rules":
|
||||||
self.build_rules_view()
|
self.build_rules_view()
|
||||||
|
elif self.category == "membres":
|
||||||
|
self.build_members_view()
|
||||||
|
|
||||||
def build_spam_view(self):
|
def build_spam_view(self):
|
||||||
"""Construit la vue Anti-Spam"""
|
"""Construit la vue Anti-Spam"""
|
||||||
|
|
@ -674,6 +676,27 @@ class SecurityView(disnake.ui.View):
|
||||||
ephemeral=True
|
ephemeral=True
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def build_members_view(self):
|
||||||
|
"""Construit la vue Paramètres Membres"""
|
||||||
|
# Toggle Restauration des rôles
|
||||||
|
role_restore = self.settings.get("role_restore_enabled", True)
|
||||||
|
btn_restore = ToggleButton(
|
||||||
|
label="Restauration des rôles",
|
||||||
|
emoji="🔄",
|
||||||
|
is_enabled=role_restore,
|
||||||
|
custom_id="role_restore_enabled"
|
||||||
|
)
|
||||||
|
self.add_item(btn_restore)
|
||||||
|
|
||||||
|
# Bouton retour
|
||||||
|
btn_back = disnake.ui.Button(
|
||||||
|
label="Retour",
|
||||||
|
style=disnake.ButtonStyle.gray,
|
||||||
|
emoji="⬅️"
|
||||||
|
)
|
||||||
|
btn_back.callback = self.back_to_main
|
||||||
|
self.add_item(btn_back)
|
||||||
|
|
||||||
async def back_to_main(self, interaction: disnake.Interaction):
|
async def back_to_main(self, interaction: disnake.Interaction):
|
||||||
"""Retour au menu principal"""
|
"""Retour au menu principal"""
|
||||||
self.category = None
|
self.category = None
|
||||||
|
|
@ -815,6 +838,12 @@ class MainCategorySelect(disnake.ui.Select):
|
||||||
emoji="👥",
|
emoji="👥",
|
||||||
value="whitelist",
|
value="whitelist",
|
||||||
description="Gérer les utilisateurs immunisés"
|
description="Gérer les utilisateurs immunisés"
|
||||||
|
),
|
||||||
|
disnake.SelectOption(
|
||||||
|
label="Membres",
|
||||||
|
emoji="👤",
|
||||||
|
value="membres",
|
||||||
|
description="Paramètres liés aux membres"
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
super().__init__(
|
super().__init__(
|
||||||
|
|
@ -868,6 +897,11 @@ class MainCategorySelect(disnake.ui.Select):
|
||||||
"Gestion Whitelist",
|
"Gestion Whitelist",
|
||||||
"Gérez les utilisateurs immunisés aux protections.\n\n"
|
"Gérez les utilisateurs immunisés aux protections.\n\n"
|
||||||
"Ces utilisateurs ne seront jamais sanctionnés."
|
"Ces utilisateurs ne seront jamais sanctionnés."
|
||||||
|
),
|
||||||
|
"membres": view.create_category_embed(
|
||||||
|
"Paramètres Membres",
|
||||||
|
"Paramètres liés à la gestion des membres.\n\n"
|
||||||
|
"• **Restauration des rôles** : Restaurer automatiquement les rôles des membres de retour"
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@
|
||||||
"rules_content": "vfkj,oejfrsknezfrijugn,krvjgfinkrze,fgjin,",
|
"rules_content": "vfkj,oejfrsknezfrijugn,krvjgfinkrze,fgjin,",
|
||||||
"rules_channel_id": 1369669999677145101,
|
"rules_channel_id": 1369669999677145101,
|
||||||
"rules_accept_role_id": 1369769836028231730,
|
"rules_accept_role_id": 1369769836028231730,
|
||||||
"rules_message_type": "embed"
|
"rules_message_type": "embed",
|
||||||
|
"role_restore_enabled": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -82,7 +82,7 @@ def run_mep_logic(author, commit_msg, branch="main"):
|
||||||
send_discord_log("VALIDÉ", msg, 3066993, author, commit_msg)
|
send_discord_log("VALIDÉ", msg, 3066993, author, commit_msg)
|
||||||
|
|
||||||
# 3. PM2 (Appelé après le message pour éviter que le kill du serv ne bloque l'envoi)
|
# 3. PM2 (Appelé après le message pour éviter que le kill du serv ne bloque l'envoi)
|
||||||
subprocess.run(f"pm2 restart {PROCESS_NAME}", shell=True, check=True, capture_output=True)
|
subprocess.run(f"/home/discord/.nvm/versions/node/v24.15.0/bin/pm2 {PROCESS_NAME}", shell=True, check=True, capture_output=True)
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
error_msg = f"❌ **ERREUR de déploiement**\n```python\n{str(e)}\n```"
|
error_msg = f"❌ **ERREUR de déploiement**\n```python\n{str(e)}\n```"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue