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()
    )