add computing connect
This commit is contained in:
+21
-38
@@ -1,64 +1,47 @@
|
||||
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
|
||||
from functions import get_audio_messages_func, file_data, start_stat
|
||||
import asyncio
|
||||
import whisper
|
||||
|
||||
bot = Bot(token="5941118321:AAG0g0keLrlnuH_9U9X6ehpFFAdOX38qeXI") # создаю объект бота
|
||||
dp = Dispatcher(bot) # создаю объект слушателя
|
||||
logger.remove() # удаляю стандартный логер
|
||||
logger.add("static/logs/logging_log.log", level="INFO") # создаю логер
|
||||
model = whisper.load_model("tiny")
|
||||
lock = asyncio.Lock()
|
||||
|
||||
|
||||
@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 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"вы больше не можете со мной разговаривать")
|
||||
await start_stat.start_stat(message)
|
||||
|
||||
|
||||
@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) # вызываю функцию
|
||||
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, model) # вызываю функцию
|
||||
|
||||
|
||||
def start_work_bot(): # функция запуска бота
|
||||
logger.info("Бот запустился") # записываю логи
|
||||
executor.start_polling(dp, skip_updates=True) # запускаю pooling без пропуска пропущенных сообщений
|
||||
|
||||
executor.start_polling(dp, skip_updates=False) # запускаю pooling без пропуска пропущенных сообщений
|
||||
|
||||
Regular → Executable
+3
@@ -2,6 +2,7 @@ from fastapi import FastAPI, Request, Form, Depends, Cookie, responses, templati
|
||||
from functions.admin import is_logged_in
|
||||
from functions.admin.models import database
|
||||
from functions.admin.templates import logins, refresh, logs, log
|
||||
import uvicorn
|
||||
|
||||
def Site():
|
||||
app = FastAPI()
|
||||
@@ -31,3 +32,5 @@ def Site():
|
||||
@app.get("/logs/{log_id}", response_class=responses.HTMLResponse)
|
||||
async def log_response(request: Request, log_id: int, logged_in: bool = Depends(is_logged_in.is_logged_in)):
|
||||
return await log.log(templates, request, log_id, logged_in)
|
||||
|
||||
uvicorn.run(app)
|
||||
|
||||
Reference in New Issue
Block a user