From 326fd071230aa6ddc9a26b1ec3592f9837773ba9 Mon Sep 17 00:00:00 2001 From: "serafim.urukov" Date: Wed, 18 Aug 2021 00:37:10 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=B4=D0=B5=D0=BB=D0=B0=D0=BB=20=D1=80?= =?UTF-8?q?=D0=B0=D1=81=D1=81=D1=8B=D0=BB=D0=BA=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TelegramBot/bot.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/TelegramBot/bot.py b/TelegramBot/bot.py index 4c925c0..488379c 100644 --- a/TelegramBot/bot.py +++ b/TelegramBot/bot.py @@ -206,15 +206,18 @@ def publish_message(update: Update, context: CallbackContext): def publish_done(update: Update, context: CallbackContext): """Рассылка выполняется здесь.""" - # TODO: код работает с диктом, а не с классом. Переделать. - message = update.message.text + message = f"📣 {update.message.text}\n— {update.message.from_user.name}" group = context.user_data["broadcast_to"] - LOG.info(f"send {group} a message {message}") - - for student in context.bot_data["groups"][group]: - LOG.info(f"{student} send message: {message}") - if student.tg_id: - context.bot.send_message(chat_id=student.tg_id, text=message) + send_status = update.message.reply_text("0%") + students = context.bot_data["groups"][group]["students"] + for i, student in enumerate(students): + progress = i / len(students) * 100 + if student["tg_id"]: + context.bot.send_message( + chat_id=student["tg_id"], text=message, parse_mode="HTML" + ) + send_status.edit_text(f"{progress:.1f}% 🏃‍♂️ Рассылка") + send_status.edit_text("100% 👍 Все сообщения разосланы") return ConversationHandler.END