Refactor bot server setup to use Waitress for production; fallback to Flask dev server for local development. Added timeout to HTTP requests in Fun and Test cogs. Improved error handling for missing environment variables. Enhanced secret key management in Flask app. Added request timeout configuration. Introduced new experimental features including user profile and balance cards, and a Tic-Tac-Toe game with Minimax AI. Addressed various database and security issues, and improved code quality across multiple files.

This commit is contained in:
2026-05-31 12:01:12 +00:00
parent be89cc3acd
commit 1b91cbcb2f
17 changed files with 284 additions and 61 deletions
+62
View File
@@ -0,0 +1,62 @@
import random
class User:
def __init__(self, xp_formula, level_formula):
self.level = 1
self.xp = 0
self.xp_to_next_level = xp_formula(
self.level
) # XP needed to reach the next level
self.xp_formula = xp_formula
self.level_formula = level_formula
def earn_xp(self, amount):
self.xp += amount
print(f"You earned {amount} XP! Total XP: {self.xp}")
# Check for level up
while self.xp >= self.xp_to_next_level:
self.level_up()
def level_up(self):
self.xp -= self.xp_to_next_level
self.level += 1
self.xp_to_next_level = self.xp_formula(
self.level
) # Calculate next level requirement
print(
f"Congratulations! You've reached Level {self.level}! XP to next level: {self.xp_to_next_level}"
)
def simulate_xp_gain(user, num_messages, xp_per_message):
for _ in range(num_messages):
user.earn_xp(xp_per_message())
def main():
# Define your formulas here
def xp_formula(level):
return int(100 * (1.5 ** (level - 1))) # Example: 100, 150, 225, 338, ...
def random_xp_per_message():
return random.randint(1, 5) # Random XP between 1 and 10
user = User(xp_formula, random_xp_per_message)
while True:
num_messages = input("Enter the number of messages (or 'quit' to exit): ")
if num_messages.lower() == "quit":
break
if num_messages.isdigit():
num_messages = int(num_messages)
simulate_xp_gain(user, num_messages, random_xp_per_message)
else:
print("Please enter a valid number.")
if __name__ == "__main__":
main()