Создание Telegram-ботов, которые не ощущаются как боты
Уроки создания ботов с естественным взаимодействием. Почему дизайн диалога важнее архитектуры кода.
У Telegram-ботов проблема с UX. Большинство ощущаются как командная строка в чат-пузыре.
Я создал достаточно ботов, чтобы знать: техническая реализация — лёгкая часть. Сложная — сделать взаимодействие естественным.
Анти-паттерн командного меню
Самая частая ошибка — относиться к боту как к терминалу. Вместо команд думайте диалогами.
Управление состоянием — это UX
За каждым гладким взаимодействием стоит машина состояний. Я использую управление на базе Redis.
Inline-клавиатуры > Reply-клавиатуры
Inline-клавиатуры почти всегда лучше. Они контекстные и не засоряют чат.
Восстановление после ошибок
Боты падают. API отвечают с таймаутом. Разница между хорошим и раздражающим ботом — в обработке таких моментов.
Главный урок
Лучшая архитектура бота не имеет значения, если пользователь сдаётся через 30 секунд. Сначала инвестируйте в дизайн диалога.