@@ -71,7 +71,6 @@ def award_xp(user_id, xp):
7171
7272 # Level up if XP exceeds the threshold
7373 while user_data ["xp" ] >= get_xp_needed (user_data ["level" ]):
74- # user_data["xp"] -= get_xp_needed(user_data["level"])
7574 user_data ["level" ] += 1
7675
7776 print (f"User { user_id } leveled up to { user_data ['level' ]} !, with { user_data ['xp' ]} XPs. \n \n " )
@@ -97,8 +96,10 @@ async def on_ready():
9796 print (e )
9897
9998def get_xp_needed (level ):
100- # Example formula: Quadratic scaling for XP
101- return 5 * (level ** 2 ) + 50 * level + 100
99+ # XP needed for next level should be more than the previous level and have a gap of 1000
100+ # return 5 * (level ** 2) + 50 * level + 100
101+ return 1000 + (level - 1 ) ** 2 * 1000
102+
102103
103104# Function to deduct XP
104105async def apply_penalty (user ):
@@ -144,12 +145,12 @@ async def on_message(message):
144145 if badge in current_nick :
145146 print (f"Badge: { badge } is already in the nickname" )
146147 current_nick = current_nick .replace (badge , "" )
148+ print (f"replace badge: { badge } with empty string" )
147149
148150 intermediate_badge = "🔥"
149151 new_nick = current_nick + intermediate_badge
150-
151- # new_nick = get_special_role_badge(member, role)
152152 await member .edit (nick = new_nick )
153+
153154 except discord .Forbidden :
154155 print (f"Failed to update nickname for { member .name } (insufficient permissions)." )
155156 except discord .HTTPException as e :
@@ -176,7 +177,6 @@ async def on_message(message):
176177
177178 novice_badge = "🌟"
178179 new_nick = current_nick + novice_badge
179-
180180 await member .edit (nick = new_nick )
181181
182182 except discord .Forbidden :
@@ -205,7 +205,6 @@ async def on_message(message):
205205
206206 techie_badge = "👨💻"
207207 new_nick = current_nick + techie_badge
208-
209208 await member .edit (nick = new_nick )
210209
211210 except discord .Forbidden :
@@ -235,10 +234,8 @@ async def on_message(message):
235234
236235 geek_badge = "🤓"
237236 new_nick = current_nick + geek_badge
238-
239237 await member .edit (nick = new_nick )
240238
241- await member .edit (nick = new_nick )
242239 print (f"Updated nickname for { member .name } to '{ new_nick } '" )
243240 except discord .Forbidden :
244241 print (f"Failed to update nickname for { member .name } (insufficient permissions)." )
@@ -266,10 +263,8 @@ async def on_message(message):
266263
267264 hacker_badge = "👾"
268265 new_nick = current_nick + hacker_badge
269-
270266 await member .edit (nick = new_nick )
271267
272- await member .edit (nick = new_nick )
273268 print (f"Updated nickname for { member .name } to '{ new_nick } '" )
274269 except discord .Forbidden :
275270 print (f"Failed to update nickname for { member .name } (insufficient permissions)." )
@@ -326,7 +321,6 @@ async def on_message(message):
326321
327322 godlike_badge = "🔱"
328323 new_nick = current_nick + godlike_badge
329-
330324 await member .edit (nick = new_nick )
331325
332326 except discord .Forbidden :
@@ -355,7 +349,6 @@ async def on_message(message):
355349
356350 wizard_badge = "🧙♂️"
357351 new_nick = current_nick + wizard_badge
358-
359352 await member .edit (nick = new_nick )
360353
361354 except discord .Forbidden :
@@ -1205,7 +1198,7 @@ async def claim_hourly(interaction: discord.Interaction):
12051198#command to reset user level
12061199@bot .tree .command (name = "reset_level" , description = "Reset the level of a user." )
12071200async def reset_level (interaction : discord .Interaction , member : discord .Member ):
1208- user_id = str (interaction . user .id )
1201+ user_id = str (member .id )
12091202 user_data = get_user_data (user_id )
12101203
12111204 user_data ["level" ] = 0
@@ -1215,11 +1208,12 @@ async def reset_level(interaction: discord.Interaction, member: discord.Member):
12151208#command to reset user XP
12161209@bot .tree .command (name = "reset_xp" , description = "Reset the XP of a user." )
12171210async def reset_xp (interaction : discord .Interaction , member : discord .Member ):
1218- user_id = str (interaction . user .id )
1211+ user_id = str (member .id )
12191212 user_data = get_user_data (user_id )
12201213
12211214 user_data ["xp" ] = 0
12221215 save_user_data (user_id , user_data )
1216+ await interaction .response .send (f"✅ { member .mention } 's XP has been reset." )
12231217
12241218
12251219bot .run (os .getenv ('DISCORD_TOKEN' ))
0 commit comments