from aiogram.utils import executor from loguru import logger from aiogram import Bot, Dispatcher, types from functions import get_audio_messages_func, openai_answer, yandex import json bot = Bot(token="5941118321:AAG0g0keLrlnuH_9U9X6ehpFFAdOX38qeXI") # создаю объект бота dp = Dispatcher(bot) # создаю объект слушателя logger.remove() # удаляю стандартный логер logger.add("logs/logging_log.log", level="INFO") # создаю логер @dp.message_handler(commands=['start']) # обрабатываю команду start async def start(message: types.Message): # получаю имя отправителя if message.chat.first_name: name = message.chat.first_name else: name = message.chat.title logger.info(f"Группа {name} (ID: {message.chat.id}) запустил бота") # записываю в логи await bot.send_message(message.chat.id, 'Привет! Отправляй голосовое, я расшифрую!') # отправляю ответное сообщение @dp.message_handler(commands=['statistic']) async def statistic(message: types.Message): await yandex.statistic(message) @dp.message_handler(commands=['create_yandex']) async def create_yandex(message: types.Message): await yandex.create_yandex(message) @dp.message_handler(commands=['r']) async def r(message: types.Message): await openai_answer.get_response_to_openai(message, bot) @dp.message_handler(commands=['r_clear']) async def r_clear(message: types.Message): await openai_answer.clear_db(message) @dp.message_handler(content_types=['text']) async def not_work_user(message: types.Message): if str(message.from_user.id) == "620318992" and message.text == "Гена, бань его нахуй" and message.reply_to_message: with open('not_work_user.json', 'r') as f: data = json.load(f) data['chat_gpt'].append(message.reply_to_message.from_user.id) with open('not_work_user.json', 'w') as f: json.dump(data, f, indent=4) await message.reply(f"@{message.reply_to_message.from_user.username} " f"вы больше не можете со мной разговаривать") @dp.message_handler(content_types=['voice', 'video_note', 'video']) # обрабатываю голосовые сообщения, кружки, видео async def get_audio_messages(message: types.Message): await get_audio_messages_func.get_audio_messages_func(message, logger, bot) # вызываю функцию def start_work_bot(): # функция запуска бота logger.info("Бот запустился") # записываю логи executor.start_polling(dp, skip_updates=True) # запускаю pooling без пропуска пропущенных сообщений