Metadata-Version: 2.4
Name: talkium
Version: 0.1.0
Summary: Python-библиотека для ботов Talksy в стиле aiogram
Author: твоё имя или ник
License: MIT
Project-URL: Homepage, https://github.com/ТВОЙ_НИК/talkium
Keywords: talksy,bot,messenger
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.28
Dynamic: license-file

# Talkium

Python-библиотека для ботов Talksy в стиле aiogram — декораторы-хендлеры, фильтры,
клавиатуры и удобный клиент вместо ручных `requests`.

## Установка

Скопируй папку `talkium/` в свой проект и поставь зависимость:

```bash
pip install requests
```

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

```python
from talkium import Bot, Dispatcher, InlineKeyboardButton, InlineKeyboardMarkup, filters

bot = Bot("ТВОЙ_ТОКЕН")
dp = Dispatcher(bot, offset_file="bot_offset.txt")


@dp.message_handler(filters.command("start"))
def start(message):
    kb = InlineKeyboardMarkup()
    kb.row(
        InlineKeyboardButton("Да", callback_data="yes"),
        InlineKeyboardButton("Нет", callback_data="no"),
    )
    bot.send_message(message.chat.id, "Выбери:", reply_markup=kb)


@dp.callback_query_handler()
def on_callback(cq):
    bot.send_message(cq.message.chat.id, f"Нажато: {cq.data}")


if __name__ == "__main__":
    dp.run_polling()
```

Полный пример — в `example_bot.py`.

## Что уже есть

- `Bot.get_updates()` / `Bot.send_message()` — обёртка над `getUpdates`/`sendMessage`
- `Bot.raw(method, **params)` — вызов любого другого метода Talksy напрямую
- `InlineKeyboardMarkup` / `InlineKeyboardButton` — с проверкой лимитов Talksy
  (макс. 8 рядов, 4 кнопки в ряду, текст ≤ 64 символов, `callback_data` ≤ 64 байт)
- `Dispatcher` — декораторы `message_handler` / `callback_query_handler`, фильтры,
  автосохранение offset в файл между перезапусками
- `filters.command()`, `filters.text_equals()`, `filters.text_contains()`

## Что стоит уточнить и доделать

- Другие методы Talksy (редактирование сообщений, отправка файлов, `answerCallbackQuery`
  и т.п.) — если такие есть у Talksy, дай знать их сигнатуры, добавлю нормальные методы
  (пока доступны через `bot.raw(...)`).
- Работа через webhook (сейчас реализован только long polling).
- FSM (машина состояний для диалогов) — можно добавить по образцу aiogram, если нужно.
