From 8ef05c33dbaf0a30e408965ee884a728305c5381 Mon Sep 17 00:00:00 2001 From: Rykov7 Date: Mon, 6 Feb 2023 19:45:41 +0300 Subject: [PATCH] amend report.py --- app/commands/donation.py | 19 +++++++++++++++++++ app/config.py | 4 +++- app/report.py | 10 +++++----- 3 files changed, 27 insertions(+), 6 deletions(-) create mode 100644 app/commands/donation.py diff --git a/app/commands/donation.py b/app/commands/donation.py new file mode 100644 index 0000000..f90181f --- /dev/null +++ b/app/commands/donation.py @@ -0,0 +1,19 @@ +from telebot.types import LabeledPrice, Message, PreCheckoutQuery +from ..config import YOOPAY, bot + +prices = [LabeledPrice('Сумма', 100_00)] + + +@bot.message_handler(commands=['donate']) +def request_invoice(message: Message): + bot.send_invoice(message.chat.id, 'Поддержать проект', 'Stan', 'donate_stan', provider_token=YOOPAY, + currency='RUB', prices=prices, + provider_data='{"capture": true}', + max_tip_amount=500_000_00, + suggested_tip_amounts=[150_00, 300_00, 500_00, 1_000_00], capture=True, + ) + + +@bot.pre_checkout_query_handler(func=lambda a: True) +def process_pre_checkout(q: PreCheckoutQuery): + bot.answer_pre_checkout_query(q.id, True, 'Извините, пожертвования больше не принимаем!') diff --git a/app/config.py b/app/config.py index b01244b..ae1151a 100644 --- a/app/config.py +++ b/app/config.py @@ -6,12 +6,14 @@ from telebot import TeleBot, logger, types from dotenv import load_dotenv logging.basicConfig(level=logging.INFO, format='%(asctime)s %(message)s', datefmt='%Y.%m.%d %H:%M:%S') +logger.setLevel(logging.INFO) + logging.critical('STAN STARTED!') -logger.setLevel(logging.INFO) load_dotenv() TOKEN = os.environ.get('LUTZPYBOT', 'Token not in ENVIRON') +YOOPAY = os.environ.get('YOOKASSA') bot = TeleBot(TOKEN, 'HTML', disable_web_page_preview=True, allow_sending_without_reply=True, colorful_logs=True) diff --git a/app/report.py b/app/report.py index 4cbee06..642a9f3 100644 --- a/app/report.py +++ b/app/report.py @@ -4,13 +4,13 @@ from .config import DATA def create_report_text(chat_id): - report = '' top_users = '' flooders = [] if os.path.exists(f'{DATA}{chat_id}.db'): with shelve.open(f'{DATA}{chat_id}') as s: for n in range(min(3, len(s['Messages']))): - top_user = s['Messages'][sorted(s['Messages'], key=lambda a: s['Messages'][a]['Count'], reverse=True)[n]] + top_user = s['Messages'][ + sorted(s['Messages'], key=lambda a: s['Messages'][a]['Count'], reverse=True)[n]] if top_user['Count'] >= 10: flooders.append(top_user) @@ -19,10 +19,10 @@ def create_report_text(chat_id): name = f"{user.first_name} {user.last_name}" if user.last_name else user.first_name top_users += f'\n {i + 1}. {name} ({flooder["Count"]})' + if len(flooders) >= 3 or s['Banned'] or s['Deleted']: + report = f"Hello, World! 🌍\n" if len(flooders) >= 3: - report += f"Hello, World! 🌍" - report += f"\nТоп 🗣{top_users}" - + report += f"\nТоп 🗣{top_users}\n" if s['Banned'] or s['Deleted']: report += f""" Заблокировано ⛔