Assistant: 
User: User: Welcome 🤔 🐈‍⬛, I guess it's your first time using this bot
I just added you to my database
i don't care if you don't like this
Assistant: Thank you for adding me to your database! I'm here to help you with any questions or tasks you have. If there's anything specific you'd like assistance with, just let me know. 😊
User: Welcome 🤔 🐈‍⬛
Assistant: Thank you for adding me to your database! I'm here to help with any questions or tasks you might have. If there's anything specific you'd like assistance with, feel free to let me know. 😊
User: hi i got this codes:

functions.py
from g4f.client import Client as _Client
import asyncio as _asyncio
_client = _Client()


async def ask(messages):
    loop = _asyncio.get_running_loop()
    return await loop.run_in_executor(None, _ask, messages)

def _ask(messages):
    return _client.chat.completions.create(
        model="gpt-4o",
        messages=messages
    )

chatgpt.py:
from pyrogram import Client, filters, types, enums

from ..bot.utils.functions import ask

@Client.on_message(filters.private & filters.text)
async def execute(client: Client, message: types.Message):
    user = client.db.get(f'{message.from_user.id}')
    if user:
        client.db.push(f'{message.from_user.id}.chat_history', {"role": 'user', 'content': message.text})
        
        history = client.db.get(f'{message.from_user.id}.chat_history')

        completions = await ask(history)

        client.db.push(f'{message.from_user.id}.chat_history', {"role": 'assistant', 'content': completions.choices[0].message.content})

        await message.reply(completions.choices[0].message.content, reply_to_message_id=message.id)

and im getting 
  File "/home/m/Codes/cli-bot/extensions/chatgpt.py", line 3, in <module>
    from ..bot.utils.functions import ask
ImportError: attempted relative import beyond top-level package
Assistant: The error `ImportError: attempted relative import beyond top-level package` occurs when you try to use a relative import in a way that goes beyond the top-level package of your project structure.

To resolve this, ensure that your project is structured properly and that you run your code with the correct context. Here's how you can address the issue:

1. **Project Structure**: Ensure that your project's directory structure makes sense for relative imports. For example:

   ```
   your_project/
   ├── bot/
   │   ├── __init__.py
   │   ├── utils/
   │   │   ├── __init__.py
   │   │   └── functions.py
   ├── extensions/
   │   ├── __init__.py
   │   └── chatgpt.py
   └── main.py
   ```

   In this structure, `functions.py` and `chatgpt.py` are part of the `bot` and `extensions` packages, respectively.

2. **Absolute Imports**: Consider using absolute imports, which tend to be less error-prone for larger projects. Change:

   ```python
   from ..bot.utils.functions import ask
   ```

   To:

   ```python
   from bot.utils.functions import ask
   ```

3. **Running Your Script**: Run your script from the top-level directory. Navigate to `your_project/` and then execute your main script (e.g., `main.py`) that initializes your bot project, ensuring the Python path includes the top-level of your project. For example:

   ```bash
   python -m extensions.chatgpt
   ```

4. **Adjust PYTHONPATH**: Sometimes, setting the `PYTHONPATH` environment variable can help if you are having trouble with imports. You can do this temporarily in the terminal from which you run your code:

   ```bash
   export PYTHONPATH=$(pwd)
   ```

   This command sets the `PYTHONPATH` to the current working directory.

Using absolute imports and ensuring you run the script with the correct context should solve your `ImportError`.
User: i got extensions folder in the folder that i have my main.py
Assistant: If your `extensions` folder is at the same level as your `main.py` file, you should use absolute imports and execute your script ensuring that your current working directory is set to the directory containing these files. Here's how you can adjust your setup:

1. **Directory Structure:**
   Assuming your project structure is like this:

   ```
   your_project/
   ├── main.py
   ├── extensions/
   │   ├── chatgpt.py
   └── bot/
       ├── __init__.py
       └── utils/
           ├── __init__.py
           └── functions.py
   ```

2. **Modifying Imports in `chatgpt.py`:**
   Change the import statement in `chatgpt.py` to use an absolute import:

   ```python
   # chatgpt.py

   from bot.utils.functions import ask
   ```

3. **Running Your Script:**
   Navigate to the `your_project/` directory and run your main script. You should ensure you're executing the script from this directory so that Python recognizes the package structure correctly.

   ```bash
   cd path/to/your_project
   python main.py
   ```

4. **`__init__.py` Files:**
   Ensure that your package folders (`bot` and `utils`) contain `__init__.py` files. These files can be empty but are necessary to indicate to Python that these directories should be treated as packages.

By using absolute imports and running your script from the top-level directory, you should avoid the relative import error. If your main script requires running `chatgpt.py` directly, consider structuring your main file to manage imports and script execution properly.
User: Hello! How can I assist you today?
Assistant:
Assistant: