добавил мут систему, обновил api, сделал запоминание контекста.

This commit is contained in:
2023-03-27 19:52:18 +07:00
parent ce558a0ff8
commit 41e4fd4e2e
5 changed files with 101 additions and 46 deletions
Regular → Executable
+21 -22
View File
@@ -2,6 +2,7 @@ from aiogram.utils import executor
from loguru import logger
from aiogram import Bot, Dispatcher, types
from functions import get_audio_messages_func, create_statistic, openai_answer
import json
bot = Bot(token="5941118321:AAG0g0keLrlnuH_9U9X6ehpFFAdOX38qeXI") # создаю объект бота
dp = Dispatcher(bot) # создаю объект слушателя
@@ -31,29 +32,26 @@ async def statistic(message: types.Message):
await bot.send_message(message.chat.id, "У вас нет прав на просмотр статистики")
@dp.message_handler(commands=['response'])
async def answer(message: types.Message):
openai_answer.get_response(message)
await message.answer_document(open("response_ru.txt", "rb"), reply=True)
await message.answer_document(open("resource_ru_not_translate.txt", "rb"), reply=True)
@dp.message_handler(commands=['r'])
async def r(message: types.Message):
import openai
openai.api_key = "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"
response = openai.Completion.create(
model="text-davinci-003",
prompt=' '.join(message.text.split()[1:]),
temperature=0.5,
max_tokens=1000,
top_p=1.0,
frequency_penalty=0.5,
presence_penalty=0.0
)
for i in response['choices']:
await bot.send_message(message.chat.id, f"ChatGPT\n{i['text']}",
parse_mode=None, reply_to_message_id=message.message_id)
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']) # обрабатываю голосовые сообщения, кружки, видео
@@ -63,4 +61,5 @@ async def get_audio_messages(message: types.Message):
def start_work_bot(): # функция запуска бота
logger.info("Бот запустился") # записываю логи
executor.start_polling(dp, skip_updates=False) # запускаю pooling без пропуска пропущенных сообщений
executor.start_polling(dp, skip_updates=True) # запускаю pooling без пропуска пропущенных сообщений