Metadata-Version: 2.4
Name: telecats
Version: 1.0.1
Summary: An async wrapper around Telethon to extend its functionality with a convenient and powerful templating engine for formatting text in Telegram messages.
Author-email: ripcats <author@example.com>
Project-URL: Homepage, https://github.com/ripcats/telecats
Project-URL: Repository, https://github.com/ripcats/telecats
Project-URL: Bug Tracker, https://github.com/ripcats/telecats/issues
Keywords: telegram,telethon,async,formatting,parser
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: OS Independent
Classifier: Topic :: Communications :: Chat
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: telethon>=1.30
Requires-Dist: mimesis>=10.0
Dynamic: license-file

# telecats 😼

[![PyPI version](https://badge.fury.io/py/telecats.svg)](https://badge.fury.io/py/telecats)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

**telecats** — это асинхронная Python-библиотека, построенная на базе [Telethon](https://github.com/LonamiWebs/Telethon), которая расширяет его возможности, предоставляя удобный и мощный шаблонизатор для форматирования текста в сообщениях Telegram.

## Ключевые особенности

-   **Полностью асинхронная:** Основана на `asyncio` и Telethon.
-   **Расширенное форматирование:** Используйте простые и интуитивно понятные теги прямо в тексте сообщения для создания спойлеров, цитат, ссылок, упоминаний и добавления кастомных эмодзи.
-   **Чистый синтаксис:** Библиотека автоматически парсит ваши теги и преобразует их в нативные `MessageEntity` объекты Telegram.
-   **Простота в использовании:** Наследует `TelegramClient` от Telethon, поэтому вы можете использовать все его возможности, к которым привыкли.

## Установка

```bash
pip install telecats
```

## Быстрый старт

```python
import asyncio
from telecats import TelegramClient

async def main():
    # Замените на ваши учетные данные API
    API_ID = 12345
    API_HASH = "your_api_hash"
    SESSION_NAME = "my_session"

    client = TelegramClient(SESSION_NAME, API_ID, API_HASH)

    await client.start()
    print("Клиент успешно запущен!")

    # Пример использования кастомных тегов
    message_with_tags = """
    Привет, это **telecats**!

    <spoiler>Это скрытый текст (спойлер)</spoiler>.

    <blockquote>
    Это красивая цитата.
    Она может быть многострочной.
    </blockquote>

    <blockquote hide>
    А эта цитата по умолчанию скрыта.
    Она состоит из пяти строк.
    Третья строка.
    Четвертая.
    И последняя, пятая.
    </blockquote>

    Посетите наш сайт: <link:https://github.com/ripcats/telecats>telecats on GitHub</link>.

    Упомянем пользователя: <mention:8251648172>Красавчик</mention>.

    И добавим кастомный эмодзи: <emoji-id:5472412290772903754>😼</emoji-id>
    """

    # Отправляем сообщение себе (в "Избранное")
    await client.send_message("me", message_with_tags)
    print("Сообщение с форматированием отправлено!")

    await client.disconnect()

if __name__ == "__main__":
    asyncio.run(main())
```

## Синтаксис тегов

`telecats` парсит как полные, так и сокращенные (алиасы) теги для вашего удобства.

| Функция | Полный тег | Короткий алиас | Описание |
| --- | --- | --- | --- |
| **Спойлер** | `<spoiler>текст</spoiler>` | `<sp>текст</sp>` | Скрывает текст под спойлером. |
| **Цитата** | `<blockquote>текст</blockquote>` | `<bq>текст</bq>` | Форматирует текст как цитату. |
| **Скрытая цитата** | `<blockquote hide>текст</blockquote>` | `<bq hide>текст</bq>` | Форматирует текст как свернутую цитату. |
| **Ссылка** | `<link:URL>текст</link>` | `<url:URL>текст</url>` | Создает гиперссылку. |
| **Упоминание** | `<mention:ID>текст</mention>` | `<mo:ID>текст</mo>` | Упоминает пользователя по его ID. |
| **Кастомный Эмодзи**| `<emoji-id:ID>текст</emoji-id>` | `<em:ID>текст</em>` | Вставляет кастомный эмодзи. |

## Лицензия

Этот проект распространяется под лицензией MIT.
