New changes
This commit is contained in:
commit
3d4db8a817
@ -18,8 +18,8 @@ import time
|
|||||||
|
|
||||||
import sqlalchemy
|
import sqlalchemy
|
||||||
import telebot
|
import telebot
|
||||||
|
import pandas as pd
|
||||||
from dotenv import load_dotenv
|
from dotenv import load_dotenv
|
||||||
from sqlalchemy.exc import IntegrityError
|
|
||||||
from telebot import types
|
from telebot import types
|
||||||
from random import randrange
|
from random import randrange
|
||||||
from apscheduler.schedulers.background import BackgroundScheduler
|
from apscheduler.schedulers.background import BackgroundScheduler
|
||||||
@ -151,11 +151,16 @@ def send_user_info(message):
|
|||||||
user_id = message.from_user.id
|
user_id = message.from_user.id
|
||||||
user = session.query(User).filter_by(telegram_id=user_id).first()
|
user = session.query(User).filter_by(telegram_id=user_id).first()
|
||||||
scores = session.query(Score).filter_by(telegram_id=user_id).all()
|
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:
|
if user is not None:
|
||||||
user_name = user.username # tbd: get user name by id from db
|
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_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"
|
user_info = (f"Your user info:\n"
|
||||||
f"User ID: {user_id}\n"
|
f"User ID: {user_id}\n"
|
||||||
f"Username: {user_name}\n"
|
f"Username: {user_name}\n"
|
||||||
@ -168,6 +173,39 @@ def send_user_info(message):
|
|||||||
bot.reply_to(message, user_info, parse_mode='MARKDOWN')
|
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
|
||||||
|
|
||||||
|
"""
|
||||||
|
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
|
||||||
|
|
||||||
|
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"
|
||||||
|
f"Admin: {user.admin}\n")
|
||||||
|
bot.reply_to(message, user_info, parse_mode='MARKDOWN')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@bot.message_handler(commands=['setAdmin', 'SetAdmin', 'Setadmin', 'setadmin'])
|
@bot.message_handler(commands=['setAdmin', 'SetAdmin', 'Setadmin', 'setadmin'])
|
||||||
def set_admin(message):
|
def set_admin(message):
|
||||||
"""set admin status of user
|
"""set admin status of user
|
||||||
@ -250,7 +288,7 @@ def send_scoreboard(message):
|
|||||||
None: None
|
None: None
|
||||||
|
|
||||||
"""
|
"""
|
||||||
bot.reply_to(message, "Scoreboard not implemented yet")
|
dict
|
||||||
|
|
||||||
|
|
||||||
@bot.message_handler(commands=['challenge', 'Challenge'])
|
@bot.message_handler(commands=['challenge', 'Challenge'])
|
||||||
|
Loading…
Reference in New Issue
Block a user