Ajout d'un système de suggestion via intégration gitlab + correction de /setgoodbye et DM arrivée
This commit is contained in:
parent
50a1936b89
commit
997b897b28
20 changed files with 43667 additions and 204 deletions
|
|
@ -8,6 +8,8 @@ import os
|
|||
import logging
|
||||
from PIL import Image, ImageDraw, ImageFont
|
||||
|
||||
kuby_logger = logging.getLogger("KubyBot")
|
||||
|
||||
class Welcome(commands.Cog):
|
||||
def __init__(self, bot):
|
||||
self.bot = bot
|
||||
|
|
@ -89,30 +91,47 @@ class Welcome(commands.Cog):
|
|||
|
||||
@commands.Cog.listener()
|
||||
async def on_member_join(self, member):
|
||||
conn = sqlite3.connect(self.db_path)
|
||||
cursor = conn.cursor()
|
||||
cursor.execute('SELECT welcome_channel, welcome_dm_message, welcome_server_name, welcome_banner_background, welcome_channel_message FROM server_configs WHERE server_id = ?', (member.guild.id,))
|
||||
result = cursor.fetchone()
|
||||
conn.close()
|
||||
|
||||
welcome_channel = result[0] if result else None
|
||||
welcome_dm_text = result[1] if result and result[1] else None
|
||||
server_name = result[2] if result and result[2] else None
|
||||
banner_background = result[3] if result and result[3] else None
|
||||
welcome_channel_message = result[4] if result and result[4] else None
|
||||
kuby_logger.info(f"📥 [Welcome] Événement on_member_join reçu pour {member.name} (ID: {member.id}) sur {member.guild.name}")
|
||||
|
||||
# 1. Gestion du DM
|
||||
if welcome_dm_text:
|
||||
try:
|
||||
formatted_message = welcome_dm_text.format(
|
||||
username=member.name,
|
||||
servername=member.guild.name,
|
||||
member_count=member.guild.member_count
|
||||
)
|
||||
await member.send(formatted_message)
|
||||
await member.send("https://i.giphy.com/media/v1.Y2lkPTc5MGI3NjExNXV1NW02NTk0bGF2ZHcyMGFna2F6amRrbGpobGpsMHowOW5xa2E5eCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/ZtFuW4rsUbfrRzPauJ/giphy.gif")
|
||||
except Exception as e:
|
||||
logging.warning(f"Impossible d'envoyer le DM à {member.name}: {e}")
|
||||
try:
|
||||
conn = sqlite3.connect(self.db_path)
|
||||
cursor = conn.cursor()
|
||||
cursor.execute('SELECT welcome_channel, welcome_dm_message, welcome_server_name, welcome_banner_background, welcome_channel_message FROM server_configs WHERE server_id = ?', (member.guild.id,))
|
||||
result = cursor.fetchone()
|
||||
conn.close()
|
||||
|
||||
if not result:
|
||||
kuby_logger.warning(f"⚠️ [Welcome] Aucune configuration trouvée dans la base de données pour le serveur {member.guild.id}")
|
||||
return
|
||||
|
||||
welcome_channel = result[0]
|
||||
welcome_dm_text = result[1]
|
||||
server_name = result[2]
|
||||
banner_background = result[3]
|
||||
welcome_channel_message = result[4]
|
||||
|
||||
kuby_logger.debug(f"🔍 [Welcome] Config récupérée: DM={bool(welcome_dm_text)}, Channel={welcome_channel}")
|
||||
|
||||
# 1. Gestion du DM
|
||||
if welcome_dm_text:
|
||||
kuby_logger.info(f"✉️ [Welcome] Tentative d'envoi de DM à {member.name}")
|
||||
try:
|
||||
formatted_message = welcome_dm_text.format(
|
||||
username=member.name,
|
||||
servername=member.guild.name,
|
||||
member_count=member.guild.member_count
|
||||
)
|
||||
await member.send(formatted_message)
|
||||
await member.send("https://i.giphy.com/media/v1.Y2lkPTc5MGI3NjExNXV1NW02NTk0bGF2ZHcyMGFna2F6amRrbGpobGpsMHowOW5xa2E5eCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/ZtFuW4rsUbfrRzPauJ/giphy.gif")
|
||||
kuby_logger.info(f"✅ [Welcome] DM envoyé avec succès à {member.name}")
|
||||
except discord.Forbidden:
|
||||
kuby_logger.warning(f"🚫 [Welcome] Impossible d'envoyer le DM à {member.name} (DMs fermés)")
|
||||
except Exception as e:
|
||||
kuby_logger.error(f"❌ [Welcome] Erreur lors de l'envoi du DM à {member.name}: {e}", exc_info=True)
|
||||
else:
|
||||
kuby_logger.info(f"ℹ️ [Welcome] Aucun message de DM configuré pour le serveur {member.guild.id}")
|
||||
except Exception as e:
|
||||
kuby_logger.error(f"❌ [Welcome] Erreur critique dans on_member_join: {e}", exc_info=True)
|
||||
|
||||
# 2. Gestion du salon de bienvenue
|
||||
if welcome_channel:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue