Как реализовать в анонимном чат боте реализовать систему ответов на сообщения друг друга?
Есть анонимный Echo To All бот, где все сообщения публичны, было бы славно добавть ответы пользователей на сообщения друг друга, чтобы бот это отображал, не понимаю как это сделать
@dp.message_handler(content_types=ContentType.ANY)
async def echo_all(message: types.Message):
users = load_users()
# Проверяем, может ли пользователь отправить сообщение
if message.from_user.id not in users or not can_send_message(message.from_user.id):
# Если сообщение было отправлено до истечения интервала, отправляем сообщение пользователю
if not can_send_message(message.from_user.id):
warning_message = await message.answer(f"Вы отправляете сообщения слишком часто. Попробуйте через {MESSAGE_INTERVAL} секунд.")
await asyncio.sleep(1) # Ждем 5 секунд, чтобы пользователь увидел сообщение
await message.delete() # Удаляем сообщение пользователя
await asyncio.sleep(3) # Ждем еще 5 секунд
await warning_message.delete() # Удаляем предупреждение
return
# Отправляем сообщение всем пользователям, кроме отправителя текущего сообщения
received_by_users = 0
blocked_users = []
for user_id in users:
if user_id != message.from_user.id:
try:
# Попытка отправить сообщение пользователю
if message.text:
await bot.send_message(user_id, message.text)
if message.photo:
await bot.send_photo(user_id, photo=message.photo[-1].file_id)
if message.audio:
await bot.send_audio(user_id, audio=message.audio.file_id)
if message.document:
await bot.send_document(user_id, document=message.document.file_id)
if message.video:
await bot.send_video(user_id, video=message.video.file_id)
if message.voice:
await bot.send_voice(user_id, voice=message.voice.file_id)
if message.sticker:
await bot.send_sticker(user_id, sticker=message.sticker.file_id)
received_by_users += 1
except:
# Если пользователь заблокировал бота, добавляем его в список заблокированных
blocked_users.append(user_id)
# Удаляем заблокированных пользователей из списка разрешенных пользователей
for user_id in blocked_users:
users.remove(user_id)
# Сохраняем время последней отправки сообщения от пользователя
LAST_MESSAGE_TIMES[message.from_user.id] = time.time()
# Добавляем отправителя сообщения в список пользователей, если его там нет
if message.from_user.id not in users:
users.add(message.from_user.id)
save_users(users)
# Отправляем ответ пользователю о количестве получивших сообщение пользователей
done_message = await message.reply(f"Ваше сообщение получили {received_by_users} пользователей.")
await asyncio.sleep(5)
await done_message.delete()`