3030nbprime : int = 0
3131tgFile .close ()
3232
33+ # Load server names from file
34+ def load_server_names ():
35+ try :
36+ with open ("txt/server_names.txt" , "r" ) as f :
37+ lines = f .readlines ()
38+ names = {}
39+ for line in lines :
40+ if ":" in line :
41+ server_id , name = line .strip ().split (":" , 1 )
42+ names [server_id ] = name
43+ return names
44+ except FileNotFoundError :
45+ return {}
46+
47+ # Save server names to file
48+ def save_server_names (server_names ):
49+ with open ("txt/server_names.txt" , "w" ) as f :
50+ for server_id , name in server_names .items ():
51+ f .write (f"{ server_id } :{ name } \n " )
52+
53+ server_names = load_server_names ()
54+
3355GUILD_IDS = [
3456 410766134569074691 ,
3557 1193546302970146846 ,
@@ -53,6 +75,15 @@ async def on_ready():
5375 except Exception as e :
5476 print (f"\t - Failed for { guild_id } , reason : { e } " )
5577 print ("------" )
78+
79+ # Apply saved names to servers
80+ for guild in bot .guilds :
81+ if str (guild .id ) in server_names :
82+ try :
83+ await guild .me .edit (nick = server_names [str (guild .id )])
84+ print (f"Applied saved name '{ server_names [str (guild .id )]} ' to server { guild .name } " )
85+ except discord .Forbidden :
86+ print (f"No permission to change nickname in server { guild .name } " )
5687
5788
5889# Get every message sent, stocked in 'message'
@@ -259,6 +290,50 @@ async def on_message(message):
259290 text = f"J'ai actuellement { str (len (dicoLines ))} mots enregistrés, nickel"
260291 await channel .send (text )
261292
293+ # rename bot command (admin only)
294+ if MESSAGE .startswith ("--rename " ):
295+ if not message .author .guild_permissions .administrator :
296+ await channel .send ("❌ Seuls les administrateurs peuvent utiliser cette commande." )
297+ return
298+
299+ new_name = message .content [9 :] # Remove "--rename "
300+ if len (new_name ) > 32 :
301+ await channel .send ("❌ Le nom ne peut pas dépasser 32 caractères." )
302+ return
303+
304+ if len (new_name ) == 0 :
305+ await channel .send ("❌ Veuillez spécifier un nom. Usage: `--rename NouveauNom`" )
306+ return
307+
308+ try :
309+ await message .guild .me .edit (nick = new_name )
310+ server_names [str (message .guild .id )] = new_name
311+ save_server_names (server_names )
312+ await channel .send (f"✅ Mon nom a été changé en '{ new_name } ' sur ce serveur." )
313+ print (f">>({ user .name } { time .asctime ()} ) - A renommé le bot en '{ new_name } ' sur { message .guild .name } " )
314+ except discord .Forbidden :
315+ await channel .send ("❌ Je n'ai pas la permission de changer mon pseudo sur ce serveur." )
316+ except discord .HTTPException as e :
317+ await channel .send (f"❌ Erreur lors du changement de nom: { e } " )
318+
319+ # reset bot name to default (admin only)
320+ if MESSAGE == "--resetname" :
321+ if not message .author .guild_permissions .administrator :
322+ await channel .send ("❌ Seuls les administrateurs peuvent utiliser cette commande." )
323+ return
324+
325+ try :
326+ await message .guild .me .edit (nick = None )
327+ if str (message .guild .id ) in server_names :
328+ del server_names [str (message .guild .id )]
329+ save_server_names (server_names )
330+ await channel .send ("✅ Mon nom a été remis par défaut sur ce serveur." )
331+ print (f">>({ user .name } { time .asctime ()} ) - A remis le nom par défaut sur { message .guild .name } " )
332+ except discord .Forbidden :
333+ await channel .send ("❌ Je n'ai pas la permission de changer mon pseudo sur ce serveur." )
334+ except discord .HTTPException as e :
335+ await channel .send (f"❌ Erreur lors du reset du nom: { e } " )
336+
262337 # begginning of reaction programs, get inspired
263338 if not MESSAGE .startswith ("--" ):
264339
@@ -270,6 +345,10 @@ async def on_message(message):
270345 print (f">>({ user .name } { time .asctime ()} ) - A balancé la table" )
271346 await channel .send ("┬─┬ ノ( ゜-゜ノ)" )
272347
348+ if MESSAGE .strip (".;,?! \" ')" ).endswith ("lucas" ):
349+ print (f">>({ user .name } { time .asctime ()} ) - A dit Lucas (goubet)" )
350+ await channel .send ("goubet" )
351+
273352 if (MESSAGE .startswith ("tu sais" ) or MESSAGE .startswith ("vous savez" )
274353 or MESSAGE .startswith ("savez vous" )
275354 or MESSAGE .startswith ("savez-vous" )
@@ -1181,6 +1260,8 @@ def check(m):
11811260 " **--isPrime** *nb* pour tester si *nb* est premier\n "
11821261 " **--prime** *nb* pour avoir la liste de tous les nombres premiers jusqu'a *nb* au minimum\n "
11831262 " **--poll** ***question***, *prop1*, *prop2*,..., *prop10* pour avoir un sondage de max 10 propositions\n "
1263+ " **--rename** *nouveau_nom* pour changer mon nom sur ce serveur (admin only)\n "
1264+ " **--resetname** pour remettre mon nom par défaut (admin only)\n "
11841265 " **--invite** pour savoir comment m'inviter\n "
11851266 "Et je risque de réagir à tes messages, parfois de manière... **Inattendue** 😈"
11861267 )
0 commit comments