diff --git a/tlapbot/owncast_helpers.py b/tlapbot/owncast_helpers.py index 7ad649f..ff20eb4 100644 --- a/tlapbot/owncast_helpers.py +++ b/tlapbot/owncast_helpers.py @@ -184,27 +184,50 @@ def add_to_redeem_queue(db, user_id, redeem_name, note=None): return False -def add_to_milestone(db, redeem_name, points): +def start_milestone(db, redeem_name): try: cursor = db.execute( "SELECT count, goal FROM milestones WHERE name = ?", (redeem_name,) ) - row = cursor.fetchone() - if row is not None: - count = row[0] - goal = row[1] - result = count + points - if result > goal: - result = goal + milestone = cursor.fetchone() + current_app.logger.error(f"Milestone: {milestone}") + if milestone is None: + current_app.logger.error(f"Adding milestone to db.") cursor = db.execute( - "UPDATE milestones SET count = ? WHERE name = ?", - (result, redeem_name) - ) - db.commit() - return True - except (Error) as e: + "INSERT INTO milestones(name, count, goal) VALUES(?, ?, ?)", + (redeem_name, 0, current_app.config['REDEEMS'][redeem_name]['goal']) + ) + db.commit() + except Error as e: + current_app.logger.error(f"Error occured adding a milestone: {e.args[0]}") + + + +def add_to_milestone(db, redeem_name, points): + try: + start_milestone(db, redeem_name) + + cursor = db.execute( + "SELECT count, goal FROM milestones WHERE name = ?", + (redeem_name,) + ) + row = cursor.fetchone() + count = row[0] + goal = row[1] + result = count + points + if result > goal: + result = goal + current_app.logger.error(f"Doing db operation to add to milestone.") + cursor = db.execute( + "UPDATE milestones SET count = ? WHERE name = ?", + (result, redeem_name) + ) + db.commit() + return True + except Error as e: current_app.logger.error(f"Error occured updating milestone: {e.args[0]}") + current_app.logger.error(f"Milestone add failed.") return False diff --git a/tlapbot/redeems_handler.py b/tlapbot/redeems_handler.py index cdc6421..2d785d2 100644 --- a/tlapbot/redeems_handler.py +++ b/tlapbot/redeems_handler.py @@ -51,8 +51,8 @@ def handle_redeem(message, user_id): send_chat(f"Cannot redeem {redeem}, no amount of points specified.") elif not note.isdigit(): send_chat(f"Cannot redeem {redeem}, amount of points is not an integer.") - elif int(note) < points: - send_chat(f"Can't redeem {redeem}, you don't have enough points.") + elif int(note) > points: + send_chat(f"Can't redeem {redeem}, you don't have enough points.2") else: add_to_milestone(db, redeem, int(note)) else: diff --git a/tlapbot/templates/dashboard.html b/tlapbot/templates/dashboard.html index a501629..69bd3de 100644 --- a/tlapbot/templates/dashboard.html +++ b/tlapbot/templates/dashboard.html @@ -1,15 +1,16 @@ +
Active milestones | ++ | + + {% endfor %} + {% endif %} + {% endif %} |
---|
Recent redeems | +|
---|---|
Time | @@ -86,7 +100,7 @@{{ row[0].replace(tzinfo=utc_timezone).astimezone().strftime("%H:%M") }} | {{ row[1] }} | {{ row[3] }} | @@ -94,10 +108,14 @@{{ row[2] }} | {% endif %} +
Tlap tlap. 6
{% endif %} +Tlap tlap. 7
+Tlap tlap. 8