From 84a43deb3ac4331385140754fcbd21c4d3fa65d0 Mon Sep 17 00:00:00 2001 From: QshaD0 <137990984+H1size@users.noreply.github.com> Date: Wed, 1 Jan 2025 18:07:06 +0300 Subject: [PATCH] Add files via upload --- gigagpt.py | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 gigagpt.py diff --git a/gigagpt.py b/gigagpt.py new file mode 100644 index 0000000..0f6ce2e --- /dev/null +++ b/gigagpt.py @@ -0,0 +1,91 @@ +version = (1, 0, 0) + +# meta developer: @RUIS_VlP, @matubuntu + +import random +from datetime import timedelta +from telethon import events +from telethon import functions +from telethon.tl.types import Message +from .. import loader, utils + +bot = ["@GPTChatRBot", 5989217330] +bot1 = ["@gigachat_bot", 6218783903] +@loader.tds +class RUISChatGPTMod(loader.Module): + """ChatGPT 3, Gigachat без API ключа и с контекстом. Бот, который используется для запросов: @Gigachat_bot и @GPTChatRBot. Модуль распространяется по лицензии MIT.""" + + strings = { + "name": "RUIS-GigaGpt", + } + + @loader.command() + async def gptdelcmd(self, message): + """- очищает историю переписки с нейросетью(контекст)""" + chat = bot[1] + text = "/clear" + async with message.client.conversation(bot[0]) as conv: + response = await conv.send_message(text) + response1 = await conv.wait_event(events.NewMessage(incoming=True, from_users=chat)) + await utils.answer(message, "✅Контекст успешно очищен!") + await response.delete() + await response1.delete() + + @loader.command() + async def giga(self, message): + """<текст> - запрос к нейросети GigaChat""" + chat = bot1[1] + reply = await message.get_reply_message() + text = reply.raw_text if reply else message.text[5:] + if len(text) < 3: + await utils.answer(message, "🚫Ошибка!\nСлишком маленький запрос.") + return + await utils.answer(message, "🤖Нейросеть обрабатывает ваш запрос...") + async with message.client.conversation(bot1[0]) as conv: + + response = await conv.send_message(text) + + response1 = await conv.wait_event(events.NewMessage(incoming=True, from_users=chat)) + + if "💭Ещё чуть-чуть, готовлю ответ" in response1.text: + response2 = await conv.wait_event(events.NewMessage(incoming=True, from_users=chat)) + await utils.answer(message, f"❓Вопрос: \n{text}\n\n🤖 Ответ нейросети:\n{response2.text}") + await response.delete() + await response1.delete() + await response2.delete() + return + else: + await utils.answer(message, f"❓Вопрос: \n{text}\n\n🤖 Ответ нейросети:\n{response1.text}") + await response.delete() + await response1.delete() + + + + @loader.command() + async def gigadelcmd(self, message): + """- очищает историю переписки с нейросетью(контекст)""" + chat = bot1[1] + text = "🆕 Перезапустить диалог" + async with message.client.conversation(bot1[0]) as conv: + response = await conv.send_message(text) + response1 = await conv.wait_event(events.NewMessage(incoming=True, from_users=chat)) + await utils.answer(message, "✅Контекст успешно очищен!") + await response.delete() + await response1.delete() + + @loader.command() + async def gptcmd(self, message): + """<текст> - запрос к нейросети ChatGPT""" + chat = bot[1] + reply = await message.get_reply_message() + text = reply.raw_text if reply else message.text[5:] + if len(text) < 3: + await utils.answer(message, "🚫Ошибка!\nСлишком маленький запрос.") + return + await utils.answer(message, "🤖Нейросеть обрабатывает ваш запрос...") + async with message.client.conversation(bot[0]) as conv: + response = await conv.send_message(text) + response1 = await conv.wait_event(events.NewMessage(incoming=True, from_users=chat)) + await utils.answer(message, f"❓Вопрос: \n{text}\n\n🤖 Ответ нейросети:\n{response1.text}") + await response.delete() + await response1.delete() \ No newline at end of file