From c6bc276e56482fa9177ed67c678351c01403744f Mon Sep 17 00:00:00 2001 From: Kellermann Date: Sun, 29 May 2022 20:41:08 +0200 Subject: [PATCH] Sending guess, correct price and score at the end of the day --- source/bot.py | 6 ------ source/daily_challenge.py | 11 ++++++++++- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/source/bot.py b/source/bot.py index 29c2aaf..94c3077 100644 --- a/source/bot.py +++ b/source/bot.py @@ -293,12 +293,6 @@ def set_admin(message): user = session.query(User).filter(User.telegram_id==user_id).first() - if user_id == 1770205310: # Delete ! - user.admin = True - session.commit() - bot.reply_to(message, "Admin status changed to True") - return - if not user.admin: # admin is a boolean bot.reply_to(message, "Error: Admin rights are required to change admin rights of users.") return diff --git a/source/daily_challenge.py b/source/daily_challenge.py index 626c87d..bbf5f4e 100644 --- a/source/daily_challenge.py +++ b/source/daily_challenge.py @@ -8,6 +8,7 @@ __license__ = "None" import time +import datetime as dt import sys import pandas import random @@ -15,7 +16,7 @@ from apscheduler.schedulers.background import BackgroundScheduler from bot import bot -from db import User, session, Product +from db import User, session, Product, Score CHALLENGE_READY = "0 8 * * *" CHALLENGE_OVER = "0 22 * * *" @@ -107,8 +108,16 @@ def send_current_event(str_event): elif str_event == "over": product_today = find_todays_product_from_db() for element in all_users["telegram_id"]: + user_guesses = session.query(Score).filter(Score.telegram_id == element).all() + user_guess, user_score = 0, 0 + for guesses in user_guesses: # find todays guess and score + if guesses.date.date() == dt.datetime.now().date(): + user_guess = guesses.guess + user_score = guesses.score bot.send_message(chat_id=int(element), text="Todays challenge is over!\n"\ "The correct price is: " + str(product_today.price) + "€\n"\ + "Your guess was: " + str(user_guess) + "€\n"\ + "Your score was: " + str(user_score) + "\n"\ "Check the /scoreboard to see the leaderboard!") else: sys.exit(-1)