Как я без навыков программирования создала no code бота в ТГ для подготовки к экзамену и эффективного запоминания слов

Как я без навыков программирования создала no code бота в ТГ для подготовки к экзамену и эффективного запоминания слов

Всё новое начинается не с идеи, а с проблемы, именно так это было и у меня: просто подходило время сдавать переводной экзамен в языковой школе, а я всё никак не могла запомнить важные для ответа слова, да и орфография у меня была настолько "шикарна", что даже ИИ не мог расшифровать смысл написанного в заготовках для сочинения.
Запрос у меня был точный: для устного экзамена - проверка ключевых слов, для письменного - проверка орфографии с 100% точностью, ещё и постоянно держать в голове контекст, ведь сочинение - это единый текст, где каждая новая мысль вытекает из другой в точной последовательности.

Но, увы, обычные приложения типа Анки и Квизлет заточены под интервальное повторение, самостоятельную оценку "легко ли мне было вспомнить", а, главное, это - просто карточки, у которых нет связей с предыдущими. Поэтому мне нужно было что-то своё, но я настолько далека от программирования, что даже вайб-кодинг оказался не для меня.В какой-то момент я вспомнила про завалявшуюся у меня подписку на TargetHunter и про то, что там был доступ к конструктору с ботов. Тогда по счастливой случайности мне попалась реклама бесплатного вебинара "создай своего первого бота" и я решила попробовать.

Спойлер: у меня получилось нечто глобальное, полноценный тренажёр для зубрёжки любых текстов / предложений / билетов / фраз и т.д. на любом языке для любых целей!

Итак, я начала.

Сперва это было что-то невнятное: бот просто заваливал пользователя тонной огромных сообщений. Потом я шаг за шагом не спеша начала открывать новые функции, думая о том, что именно я хочу создать и какие задачи оно будет решать.

Со временем я смогла придумать рабочие механики, помогающие пользователю учить слова: с проверкой и "умной" рандомной выдачей, которая сохраняла результат "игры" (одного запуска тренажёра), а также добилась эффекта "приложения", где сообщенияот бота не накапливались, а удалялись после ввода ответа или закрытия режима.

Скрин части "внутренностей" бота-тренажёра, а вернее его первой вариации.
Скрин части "внутренностей" бота-тренажёра, а вернее его первой вариации.

Но у всего этого был один жирный минус - бот требовал заранее введённого контента, непосредственно через конструктор. И этот процесс, к сожалению, весьма трудоёмкий.

Поэтому передо мной встала первая задача по его улучшению: сделать бот в telegram универсальным, чтобы каждый мог изучать в нём свой текст или другие материалы

Задача усложнялась тем, что пользователь не должен был страдать от сбоев передачи данных между BotHunter и сторонними сервисами, например, гугл-таблцами, которые к тому же не выдержали бы большого количества пользователей из-за ограниченных размеров таблиц и отсутствия возможности генерировать отдельную таблицу под каждого пользователя. Да и в будущем хотелось иметь возможность перенести бот в ВК (с переносом, конечно, вскрылись другие проблемы, но об этом я расскажу в другой раз).

Решение оказалось на поверхности - заносить всю информацию в переменные.

Во второй редакции тренажёра я сделала возможным создание кастомного набора карточек с аудио и картинками, доступных для всех пользователей (через переменные сообщества). Однако перенести эту механику в ВК, как и вообще открыть эти карточки в боте ВК, - оказалось физически невозможно, а из-за пока что маленького общего количества пользователей, мне кажется нецелесобразным на данном этапе реализовывать функцию "карточки для всех". Поэтому я, на текущий момент, заморозила дальнейшую разработку "карточек для всех" и карточек с аудио и картинками.

Спойлер: сейчас карточки с аудио и картинками я потихоньку возвращаю в работу, но пока что в формате "для индивидуального использования".

Как выглядит внутрянка тренажёра с картинками, добавленными через переменные.
Как выглядит внутрянка тренажёра с картинками, добавленными через переменные.

В третьей редакции, которая в итоге стала базовой для запущенного, универсального бота-тренажёра в телеграме, я остановилась на индивидуальных текстовых "переменных пользователя".

Как выглядит одна из веток тренажёра в одном из режимов изучения с проверкой.
Как выглядит одна из веток тренажёра в одном из режимов изучения с проверкой.

Внесение переменных для пользователя происходит в формате простого диалога в боте:

Примечание: ограничений на язык текста, который пользователь собирается учить, нет.

Пример внесения мною предложения для колоды карточек по книге на корейском, которую сейчас читаю.
Пример внесения мною предложения для колоды карточек по книге на корейском, которую сейчас читаю.
Пример внесения мною вопроса для одного из предложений в колоде по корейской книге.
Пример внесения мною вопроса для одного из предложений в колоде по корейской книге.

Примечание: прочитать подробнее о том, как я сама создаю карточки в боте и как использую его в своей языковой рутине, а также попробовать сам бот бесплатно можно в моём телеграм-канале. Частично дублирую эти посты и рассказываю про чтение книги в сообществе ВК. Поскольку перенос ботов ВК оказался сильно сложнее, чем я думала, на момент выхода этой статьи (август 2026) бот доступен только в ТГ, но в дальнейшем он также должен появиться и в ВК в сообщениях сообщества Диванного полиглота.

Как выглядит цепочка с внесением предложения в конструкторе (для вопроса она такая же).
Как выглядит цепочка с внесением предложения в конструкторе (для вопроса она такая же).

Примечание: особо внимательные читатели, знакомые с интерфейсом BotHunter, наверняка уже заметили, что у этого бота 28 ошибок :( Как бы грустно это не звучало, но собрать бот без факапов нереально, особенно если ты начинаешь это делать с 0 и в одиночку, поэтому плюсик в карму тому, кто найдёт то, что можно улучшить в боте! Так что пробуйте тут и делитесь своими комментариями под статьёй и в канале!

Сейчас одному пользователю доступно 5 слотов (текстов) по 100 предложений (карточек). Лимит на одно предложение примерно 800 символов.

Вся информация с карточки (обязателен ввод только предложения, но опционально можно добавить вопрос, подсказку и 1-3 ключевых слова) записывается в отдельную переменную с соответствующей кодировкой: т1, т2, т3, т4, т5 (т - это текст, цифра - номер слота).

Как выглядит техническая цепочка бота для "запоминания контента", которая происходит, пока бот показывает пользователю сообщение с надписью "Загрузка...".
Как выглядит техническая цепочка бота для "запоминания контента", которая происходит, пока бот показывает пользователю сообщение с надписью "Загрузка...".

Примечание: на всех 100 карточках эта цепочка оказалась слижком долгой, поэтому я поделила её на блоки по 10 в зависимости от заданного пользователем числа карточек.

Дополнительные условия, чтобы не прогонять каждый раз все 100 карточек.
Дополнительные условия, чтобы не прогонять каждый раз все 100 карточек.

На самом деле переменных в этом боте используется очень большое количество! Кроме контентных есть ещё технические, которые подгружают контент пользователя или используются для перенаправления пользователя по разным цепочкам (в BH один бот, зарегистрированный в BotFather, разбивается на множество маленьких технических ботов, в которых свои цепочки).

Как выглядит перенаправление пользователя с помощью проверки технических переменных.
Как выглядит перенаправление пользователя с помощью проверки технических переменных.

Теперь о режимах изучения в боте

Поскольку бот изначально задумывался как помощник в заучивании сочинений и связных текстов, что не дают стандартные приложения типа Anki, Memrise и Quizlet, самыми грандиозными являются режимы с проверкой введёного ответа (со 100% соответствием и по ключам) с показом предыдущих ответов. Хотя кроме них я сделала варианты "как у людей": с рандомной выдачей, последовательной без показа предыдущих сообщений и режимы просмотра (без проверки).

Как выглядит одна из цепочек выдачи вопроса и проверки ответа по ключам в режиме изучения с показом предыдущих ответов.
Как выглядит одна из цепочек выдачи вопроса и проверки ответа по ключам в режиме изучения с показом предыдущих ответов.

Примечание: здесь ответы также заносятся в переменные, чтобы показать, какой ответ был введён в случае ошибки, проверить его на наличие ключевых слов и выдать в виде единого текста.

Кстати, проверка по ключам - это ещё одна вещь, которой мне не хватило в стандартных приложениях для зубрёжки!

Ведь на любой вопрос можно ответить разными словами, главное донести конкретную мысль. На мой взгляд, такая механика помогает тренироваться давать спонтанный ответ на вопрос на экзамене, не боясь забыть точную структуру заготовленного ответа, а в случае с изучением языков помогает в развитии речи (когда пытаешься дать ответ с использованием конкретных слов/грамм.конструкций, не стремясь воссоздать эталонный ответ строго до точки, при этом можно использовать голосовой ввод на клавиатуре).

Как выглядит техническая сторона выдачи вопроса в рандоме.
Как выглядит техническая сторона выдачи вопроса в рандоме.

Примечание: для уменьшения времени загрузки я разделила рандом на 10 вариантов в зависимости от количества карточек у конкретного пользователя. На скрине представлен самый маленький вариант из 10 доступных вопросов.

На момент выхода статьи (август 2026), кроме 6 режимов с проверкой (3 варианта выдачи с 2 типами проверки), у бота существует 3 варианта пассивного просмотра: вопрос-ответ, единым текстом (только предложения) и вся информация в карточках.

Как выглядит перелистывание карточек внутри конструктора.
Как выглядит перелистывание карточек внутри конструктора.

Подробнее о каждом режиме и идеи по использованию доступны в телеграм-канале Диванного полиглота и в группе ВК по единому хештегу: #просто_fun_to_remember@uchimyazyk

Напоминаю, что бот доступен абсолютно бесплатно (требуется только подписка на канал, поэтому предлагаю попробовать!

Обратная связь, советы и идеи по улучшению, а также указания на ошибки или недочёты - приветствуются :) Буду ждать, если вы поделитесь ими в комментариях к статье или в #telegram #telegrambot #telegramботы #телеграмбот #разработка #nocode

1