From 4d4125a7f54d4d59021d2bb9c93d37871808d817 Mon Sep 17 00:00:00 2001 From: Linus E <75929322+Rripped@users.noreply.github.com> Date: Mon, 9 May 2022 18:08:31 +0200 Subject: [PATCH 1/5] fixed /me --- source/bot.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/source/bot.py b/source/bot.py index 74fc5e5..4581c93 100644 --- a/source/bot.py +++ b/source/bot.py @@ -147,11 +147,16 @@ def send_user_info(message): user_id = message.from_user.id user = session.query(User).filter_by(telegram_id=user_id).first() scores = session.query(Score).filter_by(telegram_id=user_id).all() + today_score = session.query(Score).filter_by(date=dt.datetime.now(), telegram_id=user_id).first() # get today's score object for user + today_guess = "not guessed today" + + if today_score is not None: + today_guess = str(today_score.guess) if user is not None: user_name = user.username # tbd: get user name by id from db user_score = sum(score for score in scores) # tbd: get user score by adding all scores related to userid - user_guess = session.query(Score).filter_by(date=dt.datetime.now(), telegram_id=user_id).first().guess or "not guessed today" # tbd: display if user has guessed today and how much + user_guess = today_guess # tbd: display if user has guessed today and how much user_info = (f"Your user info:\n" f"User ID: {user_id}\n" f"Username: {user_name}\n" From 753b1a5eb674778acc1275b009fa1bafbb5ff32d Mon Sep 17 00:00:00 2001 From: Linus E <75929322+Rripped@users.noreply.github.com> Date: Mon, 9 May 2022 18:16:48 +0200 Subject: [PATCH 2/5] added /users --- source/bot.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/source/bot.py b/source/bot.py index 4581c93..1e4afb3 100644 --- a/source/bot.py +++ b/source/bot.py @@ -169,6 +169,35 @@ def send_user_info(message): bot.reply_to(message, user_info, parse_mode='MARKDOWN') +@bot.message_handler(commands=['users', 'Users']) +def send_users(message): + """send user info to user + + Args: (Message): Message from telegram user, here /users + + Returns: + None: None + + Raises: + None: None + + """ + users = session.query(User).all() + user_id = message.from_user.id + + # Check if user is admin + if not session.query(User).filter_by(telegram_id=user_id).first().admin: + bot.reply_to(message, "Error: Admin rights are required to see all users.") + return + + for user in users: + user_info = (f"Telegram ID: {user.telegram_id}\n" + f"Username: {user.username}\n" + f"Admin: {user.admin}\n") + bot.reply_to(message, user_info, parse_mode='MARKDOWN') + + + @bot.message_handler(commands=['setAdmin', 'SetAdmin', 'Setadmin', 'setadmin']) def set_admin(message): """set admin status of user From 07369e34e5d56b05d3894a2f4b6dc20576dac4bd Mon Sep 17 00:00:00 2001 From: Linus E <75929322+Rripped@users.noreply.github.com> Date: Mon, 9 May 2022 18:18:14 +0200 Subject: [PATCH 3/5] added no users check --- source/bot.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/bot.py b/source/bot.py index 1e4afb3..fb3f253 100644 --- a/source/bot.py +++ b/source/bot.py @@ -182,7 +182,6 @@ def send_users(message): None: None """ - users = session.query(User).all() user_id = message.from_user.id # Check if user is admin @@ -190,6 +189,11 @@ def send_users(message): bot.reply_to(message, "Error: Admin rights are required to see all users.") return + users = session.query(User).all() + + if len(users) == 0: + bot.reply_to(message, "No users registered.") + for user in users: user_info = (f"Telegram ID: {user.telegram_id}\n" f"Username: {user.username}\n" From 3dbcbf5b64713e156e9015bc8cdcf1b49b06d77d Mon Sep 17 00:00:00 2001 From: Linus E <75929322+Rripped@users.noreply.github.com> Date: Mon, 9 May 2022 18:19:09 +0200 Subject: [PATCH 4/5] added no users check --- source/bot.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/bot.py b/source/bot.py index fb3f253..7625a78 100644 --- a/source/bot.py +++ b/source/bot.py @@ -190,7 +190,7 @@ def send_users(message): return users = session.query(User).all() - + if len(users) == 0: bot.reply_to(message, "No users registered.") From 175cd96498817b21c501460155b1f2b5ca6416d9 Mon Sep 17 00:00:00 2001 From: Linus E <75929322+Rripped@users.noreply.github.com> Date: Mon, 9 May 2022 18:30:33 +0200 Subject: [PATCH 5/5] removed unused --- source/bot.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/source/bot.py b/source/bot.py index 7625a78..b4a4533 100644 --- a/source/bot.py +++ b/source/bot.py @@ -17,10 +17,9 @@ import datetime as dt import sqlalchemy import telebot +import pandas as pd from dotenv import load_dotenv -from sqlalchemy.exc import IntegrityError from telebot import types -from random import randrange from db import User, session, Product from fetcher import * @@ -284,7 +283,7 @@ def send_scoreboard(message): None: None """ - bot.reply_to(message, "Scoreboard not implemented yet") + dict @bot.message_handler(commands=['challenge', 'Challenge'])