Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 12 additions & 12 deletions database/mongo.py
Original file line number Diff line number Diff line change
Expand Up @@ -675,25 +675,25 @@ async def add_hypercharge_to_user(user_id: str, brawler_id: str, hc_name: str):


async def init_default_quests(default_quests_list):
"""Ensures default quests exist in the DB (Run once)."""
"""Upserts default quests into the DB, syncing rewards to code on every startup."""
if db is None:
return
# Check if quests already exist to avoid duplicates
if await db.quests.count_documents({}) == 0:
for q in default_quests_list:
# Matches your screenshot structure
await db.quests.insert_one(
{
"name": q[0],
for q in default_quests_list:
await db.quests.update_one(
{"name": q[0]},
{
"$set": {
"description": q[1],
"reward_tokens": q[2],
"reward_exp": q[3],
"target_count": q[4], # Matches screenshot
"quest_type": q[5], # Matches screenshot
"target_count": q[4],
"quest_type": q[5],
"is_active": True,
}
)
print("✅ Default Quests Initialized in MongoDB")
},
upsert=True,
)
print("✅ Default Quests synced to MongoDB")


async def get_active_quest(user_id: str, q_type: str):
Expand Down
12 changes: 6 additions & 6 deletions features/quests.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,20 +25,20 @@
DEFAULT_QUESTS = [
# Daily Quests
# Name | Desc | Tokens | XP | Target | Type
("Daily Chatter", "Send 80 messages today.", 50, 200, 80, "daily"),
("Quick Convo", "Send 160 messages today.", 75, 250, 160, "daily"),
("Engaged Today", "Send 240 messages today.", 100, 300, 240, "daily"),
("Daily Chatter", "Send 80 messages today.", 50, 100, 80, "daily"),
("Quick Convo", "Send 160 messages today.", 115, 200, 160, "daily"),
("Engaged Today", "Send 240 messages today.", 250, 300, 240, "daily"),
# Weekly Quests
("Weekly Regular", "Send 500 messages this week.", 250, 1000, 500, "weekly"),
("Weekly Regular", "Send 500 messages this week.", 225, 1000, 500, "weekly"),
(
"Consistent Contributor",
"Send 750 messages this week.",
400,
2500,
2000,
750,
"weekly",
),
("Server Pillar", "Send 1000 messages this week.", 600, 3000, 1000, "weekly"),
("Server Pillar", "Send 1000 messages this week.", 640, 3000, 1000, "weekly"),
]


Expand Down
Loading