Комментарии 16
Похоже, статья написана исключительно для рекламы проекта.
Я кстати долго думал прикладывать ли ссылку или нет на проект, видимо не надо было)
Я дал свой совет, что нужно использовать, в чем бенефиты подхода, как я начинал писать (с кучки ифов и думал что все будет норм, но по мере роста проекта я понял, что этот подход плохой). Просто я уверен, что очень много проектов чат-ботов это как раз тот самый index.php с кучкой ифов )
знакомая ситуация была, когда занимался написанием бота на фрилансе для вк )) заказчики просили добавлять логику, и по итогу когда логику совсем закрутили, пришлось все переписывать
botman кстати не поддерживает ВК?
Теперь можно узнать кто твой Санта <...> такое удовольствие выйдет в $5.99Есть ли у Санты возможность в течение какого-то времени перебить ставку? Скажем, за $6.99?
По-моему, выводы неправильные. И решение неправильное.
Нет, разумеется, писать сразу с кучей фреймворков где половина дела сделана это хорошо, и по-своему, правильно.
Но простые вещи с простой логикой всё-же можно и нужно писать простыми.
Проблема-то изначально крылась не в ифчиках. А в привязке к подстрокам и копипасте.
Можно сравнивать строки, но нужно избавиться от копипасты. Использовать подход i18n например — вынести сам текст из кода и сравнивать по ключам. Так вы сможете хоть слово единичками заменить и логика не сломается. Не говоря уже о том, для чего оно предназначено — локализовать.
Ну и, конечно, если и сравнивать, то строки целиком, а не подстроки (проблема "случайного") с уникальными ключами.
Так же, что бы я сделал, так это вынес бы флоу (кнопки C и D появятся только после нажатия кнопки B, а после A нужно спросить адрес) в конфиг ("стейт"-проблема) с отдельной логикой построения кнопок. Это сильно упростит дальнейшую поддержку, расширение или изменение этих самых флоу.
Подозреваю, в большинстве бойлерплейтов для ботов это работает именно так.
P.S. Не говоря уже о глобальном поиске с заменой.
Автор походу узнал новое слово — бенефит.
Очень тяжело мне понять, что же непонятно)
Когда человек жмет /start, ему говорится, что Санта звонит фанатам, если заинтересовало — жми /call (где вся инфа с примерами)
С вишлистом тоже не совсем понятно что вам непонятно) этот вишлист попадет вашему санте потом, и он будет понимать, какой подарок вы хотите (и ему проще будет выбрать подарок)
если заинтересовало — жми /call (где вся инфа с примерами)Т.е. вы ожидаете заинтересованность до того как дали всю инфу? Можно было бы добавить ещё один шаг "/info".
этот вишлист попадет вашему санте потом, и он будет понимать, какой подарок вы хотитеКто такой этот санта, которому попадет список? Вариантов много: 1. это просто бот, которому пофигу. 2. Это один живой человек, который тоже вряд ли всё будет читать. 3. Это случайный человек, который хочет сделать подарок и получить подарок в ответ (была такая игра вроде в прошлом году).
У вас там написано «Санта теперь звонит своим фанатам!». Вот это слово «теперь» очень сбивает с толку. Значит, есть ещё какие-то функции вашего бота кроме звонка? А какие?
У телеграма есть функционал (когда в боте пишешь слэш) который сразу показывает все команды которые в нем доступны. Там также есть /help.
Я спорить не буду, может быть — вы правы и я смотрю со стороны разработчика которому точно все понятно. Хотя я вот вижу по статистике, что 900 человек за неделю уже сыграло без вопросов в лс. Но ваш совет принял, буду думать, как сделать проще для пользователей. Спасибо :)
Хотя я вот вижу по статистике, что 900 человек за неделю уже сыграло без вопросов в лсМожет это люди, которые уже играли раньше в вашу игру, поэтому они знают правила? Или боты. Я так и не нашел ответы на свои вопросы.
Из новых в этом году 60% от нынешних 900
Так что либо мне надо поменять что-то, либо я не знаю
p.s.
Значит, есть ещё какие-то функции вашего бота кроме звонка? А какие?
Если что, то бот создан для игры в «Тайный Санта». Это пишется везде)
Звонки — это просто как дополнительный функционал.
Как нужно и не нужно писать чат ботов на примере моего бота для игры в «Тайный Санта»