File size: 3,043 Bytes
de200c8 a814d53 52b19bc 509478d eb40faa f13c74c 76c0e4a d69c03f 509478d 79c7639 3dd8a34 081f65e a814d53 509478d 36457d2 509478d 3dd8a34 36457d2 f68ad89 36457d2 509478d 36457d2 509478d 3078923 a814d53 3dd8a34 3078923 a814d53 fcbaff0 a814d53 52b19bc 3078923 52b19bc 509478d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
import asyncio
import time
import os
import datetime
import aiohttp
from pyrogram import Client, filters
from pyrogram.types import *
from pyrogram.enums import *
from pyrogram import *
from database import db
from chatbot.plugins.user_database import users_collection
from chatbot.plugins.keyboards import get_language_keyboard
from chatbot.plugins.languages import LANGUAGES
import akenoai as dev
from . import force_sub
LANGUAGES_DEFAULT = "en"
BASE_PROMPT = f"""
You are my name Akeno AI and python language powered by @xtdevs on telegram support and language models GPT-5-ULTRA
- off topic free questions
- Code python clone user telegram available : [HERE LINK](https://github.com/TeamKillerX/akenoai-lib/blob/main/examples/clone.py) by credits @xtdevs
- Support pyrogram and telethon not python-telegram-bot
{datetime.datetime.now()}
"""
@Client.on_message(
~filters.scheduled
& filters.command(["web"])
& ~filters.forwarded
)
@force_sub
async def askwebcmd(client: Client, message: Message):
pro = await message.reply("Processing your web request...", quote=True)
user_id = message.from_user.id
user = await users_collection.find_one({"user_id": user_id})
lang = user.get("language") if user else LANGUAGES_DEFAULT
chat_user = await db.get_chatbot(message.chat.id)
if not chat_user:
return await pro.edit_text("I need to enable group")
if len(message.command) > 1:
prompt = message.text.split(maxsplit=1)[1]
elif message.reply_to_message:
prompt = message.reply_to_message.text
else:
return await pro.edit_text("Give ask from GPT-5")
await client.send_chat_action(message.chat.id, enums.ChatAction.TYPING)
await asyncio.sleep(1.5)
if not lang:
await message.reply(
"Please select your preferred language:",
reply_markup=get_language_keyboard()
)
await pro.delete()
return
try:
backup_chat = await db._get_openai_chat_from_db(message.from_user.id)
backup_chat.append({"role": "system", "content": BASE_PROMPT})
backup_chat.append({"role": "user", "content": prompt})
akeno_api = dev.AkenoPlus(...)
response = await akeno_api.chatgpt_mode_web(
query=prompt,
is_trans="True",
lang=lang
)
data = await akeno_api.get_json(response=response)
backup_chat.append({"role": "assistant", "content": data.randydev.message})
await pro.edit_text(data.randydev.message, disable_web_page_preview=True)
await db._update_openai_chat_in_db(message.from_user.id, backup_chat)
except aiohttp.ContentTypeError as e:
return await pro.edit_text("Error: try again.")
except Exception as e:
await pro.edit_text("Error: try again")
@Client.on_message(filters.command("setlang"))
async def setlang_cmd(client: Client, message: Message):
await message.reply(
"Please select your preferred language:",
reply_markup=get_language_keyboard()
) |