telegrinder

Современный фреймворк для Telegram-ботов нового поколения — эффективная и надежная разработка ботов.

$pip install telegrinder
Версия
1.1.3
Bot API
10.3
Python
3.14+
Лицензия
MIT

Демо

Пример из README. Ниже бот отвечает ровно то, что вернёт этот код.

from telegrinder import API, Message, Telegrinder, Token
from telegrinder.modules import setup_logger
from telegrinder.rules import Text

setup_logger(level="INFO")
api = API(token=Token("123:token"))
bot = Telegrinder(api)


@bot.on.message(Text("/start"))
async def start(message: Message) -> None:
    me = (await api.get_me()).unwrap()
    await message.answer(f"Hello, {message.from_user.full_name}! I'm {me.full_name}.")


bot.run_forever()

/start

Hello, Георгий! I'm Telegrinder Demo.

Туториал

Читайте по порядку: каждая глава опирается на предыдущую.

№ Глава С чего начинается Мин Код
01 Запускаемся Ура, ты решил перейти на telegrinder. Возможно, потому что хочешь что-то новое и прикольное. Или, может быть, это твой первый опыт с ботами. Этот туториал подойдет для обоих случаев. Начнем с инициализации основной сущности - самого бота. 2 4
02 Правила Отлично, теперь мы узнаем, как фильтровать входящие события. Это довольно просто! 2 8
03 Функциональные штучки Как ты, вероятно, уже заметил, в telegrinder используются довольно странные конструкции вроде .unwrap(), .map() и других. Если у тебя уже был опыт работы с функциональными языками, такие концепции покажутся знакомыми. Но даже если нет — эта статья объяснит, почему это полезно. 2 5
04 Telegram API Самая важная часть при создании чего-либо для Telegram — это, конечно же, выполнение методов Telegram API. 1 6
05 Ноды Если совсем по-простому, ноды в telegrinder это способ не таскать одну и ту же подготовительную логику по всем хендлерам вручную. 4 8
06 Dispatch Если ноды помогают подготовить данные, то Dispatch отвечает на другой вопрос: "куда вообще пойдёт событие и кто будет его обрабатывать?" 4 12
07 Клавиатура, обработка полезной нагрузки Клавиатуры это почти всегда первый способ сделать бота удобнее. 4 17
08 Работа с текстом: форматирование, локализация Почти любой бот рано или поздно начинает жить на текстах. 2 9
09 Стейты (состояния пользователя): waiters, длинные стейты Это один из самых важных разделов для реального бота. 5 11
10 Медиа Бот почти всегда работает не только с текстом. В telegrinder с медиа обычно встречаются три сценария: 1 4
11 Обработка ошибок Ошибки в боте неизбежны: сеть, пользовательский ввод, внешние API, база данных, собственная логика. В telegrinder у dispatch есть встроенный путь для обработки исключений через event_error. 1 2
12 Готовые сценарии После базовых building blocks обычно хочется не просто писать обработчики, а собирать из готовых частей повторяющиеся сценарии. В telegrinder таких сценариев уже достаточно много. 2 0

Инструменты · Справочник