Понимаю оба ответа, но они всё же немного не о том. Вот когда только добавляешь к себе бота, то в диалоге с ним вместо инпута находится кнопка\ссылка "Старт" (андроид, русская версия). После нажатия на неё вместо неё появляется уже инпут, через который можно дальше общаться с ботом. Так вот вопрос в том, как можно вернуть это начальное состояние, когда пользователь бота видит вместо инпута для ввода текста - кнопку "Старт". При чём со стороны апи телеграмма, а не когда пользователь его блокирует\удаляет\останавливает и начинает всё сначала.
В ситуации, что я описал выше, возврат в это состояние происходит, когда я подтверждаю, что не робот на сайте, и меня диплинком возвращают в бота.
Понял, спасибо! Видел у одного игрового бота проверку на бота, как бы это ни звучало. Там бот скидывает ссылку на капчу и после ее подтверждения возвращает назад в приложение и работа с ботом начинается как бы с начала, то есть в диалоге с ботом вместо инпута для ввода команда находится кнопка Start, при этом вся история сохраняется. Беглый гуглинг не дал ответ, как это сделано, поэтому подумал, что это и есть рестарт, о котором вы говорите. Не подскажете, что это за "рестарт"?
Что на счёт релиза обновлений для бота? Допустим, у меня уже есть бот с каким-то функционалом. Я хочу в течение следующей недели разрабатывать новую фичу, не мешая текущим пользователям. Насколько я понимаю, работа с ботом ведётся "на живую", то есть нет какого-то режима, при котором можно разрабатывать и тестировать бота, не затрагивая версию в продакшене. Как вариант вижу - заводить отдельного бота и под него раскатывать отдельный сервер, где вести разработку. Как ещё решают этот вопрос?
На мой взгляд самая тёмная лошадка в сентри это работа с source map, когда они не могут быть открыты наружу. Там есть возможность загрузить их на сайт для своего проекта, но постоянно возникают проблемы с путями. Ни в доке, ни в статьях нет адекватного описания, как сентри с ними работает. А вот ишьев с этим полно
А что вы хотели увидеть для функциональных компонентов? Вся обработка сводится к try/catch и вызове Sentry.captureException без привязки к какому-то фреймворку или стилю проектирования компонента
Первые запускают задачи, из частых — скомпилить стили (sass, less), минифицировать и склеить js, почистить папки. При чем так же умеют их запускать по отдельности и\или комбинировать.
Webpack же в свою очередь комплексное решение для сборки проекта, где каждый файл\сущность это модуль. Он не может отдельно собрать css или js, он делает все сразу (нет, ну конечно вы можете наплодить файлы конфигураций и запускать webpack указывая эти файлы, но зачем?).
Я уже отмечал, что эти инструменты могут существовать вместе, выполняя свои задачи. Тот же gulp может служить «запускатором» задачи сборки проекта webpack-ом. Пример из жизни: был проект, состоящий из подпроектов и gulp использовался, чтобы запускать сборку каждого из них. А сборщикам были где кто — то gulp, то webpack.
На gulp/grunt можно навесить задачи деплоя, миграций и многое другое, что не касается сборки проекта. Поэтому идеей моего негодования было именно то, что webpack может заменить gulp/grunt не в большинстве случаев, а именно тогда, когда на эти инструменты возлагались задачи сборки проекта и ни для чего более они не использовались.
Webpack позволяет избавиться от bower и gulp/grunt
Это заявление не правда и новичками может быть понято не верно, т.к. раскрыто не полностью.
Вместо bower'а для установки и управления клиентскими зависимостями, можно использовать стандартный Node Package Manager (npm)
Да, вместо bower-а можно использовать npm, но Webpack вас этому не обязывает и вообще ему до этого нет дела.
Вебпак также может выполнять большинство задач grunt/gulp'а
grunt/gulp и webpack не взаимозаменяемые инструменты, т.к. их область применения совершенно разная. grunt и gulp могут быть полностью заменены webpack-ом только в том случае, если их задачами была только сборка проекта.
Знаю, что это перевод, уточнения, скорее, для читателя.
Перед обсуждением было бы неплохо должным образом оформить статью. Количество орфографических и пунктуационных ошибок просто зашкаливает и вызывает отвращение уже на первом абзаце.
Огромное спасибо за этот замечательный продукт. Как только начал разрабатывать на Unity3d первым делом искал IDE на базе IDEA и не могу нарадоваться, что нашел Consulo. Радует оперативная реакция автора и многочисленные фиксы. Сам периодически создаю PR-ы, к сожалению на данный момент могу помочь только этим.
Успехов в развитии продукта! И еще раз большое спасибо за труды
странная конструкция try-catch, в которой сначала авторизация пытается пройти с токенами приложения автора, а в catch токены от официального приложения. Мотивы такого странного решения мне до сих пор не понятны. А большинство сразу использует данные официального приложения
Чтобы пользователь не заметил подмены на случай, если авторизация с токенами автора не прошла. Думаю, в том же catch должен быть какой-то механизм, оповещающий автора об этом «казусе».
Спасибо за статью. Скажите, можно ли как-то между клиентом и photon-cloud внедрить авторитетный сервер? Я так понимаю при синхронизации только через photon-cloud мы полностью доверяем клиентам, что по идее не самый лучший вариант развития события в мультиплеере
Этот пример не против использования cURL, а как одна из возможностей повтора запроса. Я часто пользуюсь этим при дебаге именно аякса, очень удобно в 2 клика послать запрос и продебажить его как средствами хрома, так и на принимающей стороне.
В добавок к #3: чтобы повторить аякс запрос без использования curl нужно найти его на вкладке Network с фильтром XHR, вызвать контекстное меню и кликнуть Reply XHR
Пол Грэм: Облекая идеи в слова
Блин, а ведь точно. И об этом писали в комменте выше. Спасибо!
Понимаю оба ответа, но они всё же немного не о том. Вот когда только добавляешь к себе бота, то в диалоге с ним вместо инпута находится кнопка\ссылка "Старт" (андроид, русская версия). После нажатия на неё вместо неё появляется уже инпут, через который можно дальше общаться с ботом. Так вот вопрос в том, как можно вернуть это начальное состояние, когда пользователь бота видит вместо инпута для ввода текста - кнопку "Старт". При чём со стороны апи телеграмма, а не когда пользователь его блокирует\удаляет\останавливает и начинает всё сначала.
В ситуации, что я описал выше, возврат в это состояние происходит, когда я подтверждаю, что не робот на сайте, и меня диплинком возвращают в бота.
Понял, спасибо! Видел у одного игрового бота проверку на бота, как бы это ни звучало. Там бот скидывает ссылку на капчу и после ее подтверждения возвращает назад в приложение и работа с ботом начинается как бы с начала, то есть в диалоге с ботом вместо инпута для ввода команда находится кнопка Start, при этом вся история сохраняется. Беглый гуглинг не дал ответ, как это сделано, поэтому подумал, что это и есть рестарт, о котором вы говорите. Не подскажете, что это за "рестарт"?
Что имеете в виду под рестартом бота?
Что на счёт релиза обновлений для бота? Допустим, у меня уже есть бот с каким-то функционалом. Я хочу в течение следующей недели разрабатывать новую фичу, не мешая текущим пользователям. Насколько я понимаю, работа с ботом ведётся "на живую", то есть нет какого-то режима, при котором можно разрабатывать и тестировать бота, не затрагивая версию в продакшене. Как вариант вижу - заводить отдельного бота и под него раскатывать отдельный сервер, где вести разработку. Как ещё решают этот вопрос?
На мой взгляд самая тёмная лошадка в сентри это работа с source map, когда они не могут быть открыты наружу. Там есть возможность загрузить их на сайт для своего проекта, но постоянно возникают проблемы с путями. Ни в доке, ни в статьях нет адекватного описания, как сентри с ними работает. А вот ишьев с этим полно
А что вы хотели увидеть для функциональных компонентов? Вся обработка сводится к try/catch и вызове Sentry.captureException без привязки к какому-то фреймворку или стилю проектирования компонента
Первые запускают задачи, из частых — скомпилить стили (sass, less), минифицировать и склеить js, почистить папки. При чем так же умеют их запускать по отдельности и\или комбинировать.
Webpack же в свою очередь комплексное решение для сборки проекта, где каждый файл\сущность это модуль. Он не может отдельно собрать css или js, он делает все сразу (нет, ну конечно вы можете наплодить файлы конфигураций и запускать webpack указывая эти файлы, но зачем?).
Я уже отмечал, что эти инструменты могут существовать вместе, выполняя свои задачи. Тот же gulp может служить «запускатором» задачи сборки проекта webpack-ом. Пример из жизни: был проект, состоящий из подпроектов и gulp использовался, чтобы запускать сборку каждого из них. А сборщикам были где кто — то gulp, то webpack.
На gulp/grunt можно навесить задачи деплоя, миграций и многое другое, что не касается сборки проекта. Поэтому идеей моего негодования было именно то, что webpack может заменить gulp/grunt не в большинстве случаев, а именно тогда, когда на эти инструменты возлагались задачи сборки проекта и ни для чего более они не использовались.
Это заявление не правда и новичками может быть понято не верно, т.к. раскрыто не полностью.
Да, вместо bower-а можно использовать npm, но Webpack вас этому не обязывает и вообще ему до этого нет дела.
grunt/gulp и webpack не взаимозаменяемые инструменты, т.к. их область применения совершенно разная. grunt и gulp могут быть полностью заменены webpack-ом только в том случае, если их задачами была только сборка проекта.
Знаю, что это перевод, уточнения, скорее, для читателя.
Успехов в развитии продукта! И еще раз большое спасибо за труды
Чтобы пользователь не заметил подмены на случай, если авторизация с токенами автора не прошла. Думаю, в том же catch должен быть какой-то механизм, оповещающий автора об этом «казусе».