import asyncio import json from aiogram import Bot, Dispatcher, types from aiogram.utils import executor from loguru import logger from functions import file_data, get_audio_messages_func, start_stat bot = Bot(token="5941118321:AAG0g0keLrlnuH_9U9X6ehpFFAdOX38qeXI") # создаю объект бота dp = Dispatcher(bot) # создаю объект слушателя logger.remove() # удаляю стандартный логер logger.add("static/logs/logging_log.log", level="INFO") # создаю логер lock = asyncio.Lock() @dp.message_handler(commands=['send_messages']) async def send_messages_command(message: types.Message): print(message.from_user.id) if message.from_user.id == 620318992: with open('users.json') as file: data = json.load(file) for index, user_id in enumerate(data['audio'] + data['chats']): try: print(index) await bot.send_message(user_id, " ".join(message.text.split(" ")[1:])) except Exception as e: print(e) @dp.message_handler(content_types=['new_chat_members']) async def new_chat_members_handler(message: types.Message): file_data.save_data('chats', message.chat.id) @dp.message_handler(commands=['start']) # обрабатываю команду start async def start(message: types.Message): file_data.save_data('start', message.from_user.id) # получаю имя отправителя if message.chat.first_name: name = message.chat.first_name else: name = message.chat.title logger.info(f"Группа {name} (ID: {message.chat.id}) запустил бота") # записываю в логи await start_stat.start_stat(message) await bot.send_message( message.chat.id, 'Привет! Отправляй голосовое, я расшифрую!' ) # отправляю ответное сообщение @dp.message_handler( content_types=['voice', 'video_note', 'video', 'audio', 'document'] ) # обрабатываю голосовые сообщения, кружки, видео async def get_audio_messages(message: types.Message): file_data.save_data('audio_resive') if message.chat.type == 'group' or message.chat.type == "supergroup": file_data.save_data('chats', message.chat.id) file_data.save_data('audio', message.from_user.id) else: file_data.save_data('audio', message.from_user.id) async with lock: await get_audio_messages_func.get_audio_messages_func( message, logger, bot ) # вызываю функцию def start_work_bot(): # функция запуска бота logger.info("Бот запустился") # записываю логи executor.start_polling( dp, skip_updates=False ) # запускаю pooling без пропуска пропущенных сообщений