
Я заколебался искать запятую в коде бота — и написал библиотеку, чтобы диалоги жили в YAML
notwizzard 4 часа назад Я заколебался искать запятую в коде бота — и написал библиотеку, чтобы диалоги жили в YAML Средний 12 мин 4.5K Python * Open source * Программирование * Кейс Дисклеймер: статья будет про...
Anthropic — What company has the best second artificial intelligence model at the end of June?
В сфере искусственного интеллекта произошло заметное событие. notwizzard 4 часа назад Я заколебался искать запятую в коде бота — и написал библиотеку, чтобы диалоги жили в YAML Средний 12 мин 4. 5K Python * Open source * Программирование * Кейс Дисклеймер: статья будет про Telegram-бота на Python и aiogram. Если ты пишешь ботов на чём-то ещё — листай, тут тебя расстроят.
Если не пишешь вообще — оставайся, иногда полезно посмотреть, как другие страдают. Я три года пилю Telegram-бот для одного B2C-продукта по подписке. Бот, как полагается всякому продуктовому боту, оброс примерно 800 строками диалогов: онбординги, оплаты, инструкции на iOS/Android/винде, тех-поддержка, рассылки, ошибки, благодарности, апселл премиума, реферальная программа, A/B-тесты копирайтинга, и три варианта одной и той же кнопки «Подключиться», потому что маркетолог каждый квартал хочет «ну вот тут чуть-чуть подвинуть».
Технические детали
И всё это, как у всех нормальных людей, лежало в Python-коде. Не «в коде» в смысле «у нас красивые тексты в одном файле texts. А в коде в смысле — в хендлерах, в утилитах, в сервисах, кусочно, копипастно, с f-строками, с условиями if user.
is_premium:, с тремя разными способами собрать одну и ту же inline-клавиатуру, и с пятым по счёту «ой, не забудьте parse_mode='HTML', иначе у нас бот выплёвывает голый пользователю». И вот в один прекрасный пятничный вечер маркетолог пишет:«Слушай, в тексте после оплаты можно убрать лишнюю запятую? Ну там «Поздравляем, ваша подписка активна» — две запятые, не очень.
»А я такой:🔎 grep’аю по проекту «Поздравляем»нахожу семь мест: в payment_handler. py, в success_paywall. py, в notifications/payment_success.
Отраслевые последствия
py, в админ-команде «выдать промо-доступ», в утилите рассылки, в тестовом сценарии, и ещё в одном месте, где это вообще «Поздравлеям» — кто-то когда-то опечатался, и эта ветка просто никогда не тригериласьначинаю правитьв одном месте текст склеен через + из трёх кусков, потому что там вставляется дата окончания подпискив другом месте текст шаблонизирован через . format(), но по-другомув третьем месте текст лежит в YAML-конфиге (ха-ха, единственный приличный человек в команде когда-то так и сделал)Я потратил двадцать минут на одну запятую. И тут меня переклинило.
«Нужно что-то менять»Ну правда: я инженер, я могу 10 раз в день деплоить, я умею в CI/CD, я знаю про feature flags. Но текст в боте — это, оказывается, нифига не «деплоить десять раз в день». Это «помолись, чтобы ты нашёл правильное место, не зацепил ничего лишнего, и чтобы прод не лёг, потому что ты случайно вместо написал ».
Самое смешное, что боль не моя личная. Я начал общаться с другими ребятами, кто пилит ботов:У одних тексты в Python, копипаст клавиатур на 12 файлов, любое изменение брендинга — это PR на 200 строк диффа. У других всё в i18n-файлах (messages.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





