Ну хоть что бы себя пожалеть, не рефакторить лишний раз, да и все равно думаю просветление придёт рано или поздно к автору и он от этого откажется, а поддерживать потом что то придется с этим. Самое то страшное, вот встретили вы багу где то, например в парсере, починили, а кто даст гарантию что где то что то не отвалилось?
Оффтоп, а почему тематика бота такая выбрана? Вас не волнует что может набежать много человек и вам придется это все для них поддерживать? Это я к тому, что тоже имею бота с подпиской на ютуб, и там 1k человек, и теперь приходится с этим жить.
Что написали велосипед — хорошо, возможно что то поняли. Но не надо это использовать нигде, хотя бы потому, что
оно парсит код. От этого мало того, что отваливается вся оптимизация, которые делает браузер, но и уж точно вы не учли все возможные виды написания кода, который уж точно не уместится в 34kb.
Просто используйте Promise, и не нужно мучить ни себя не других. Если кто то внезапно столкнется с проблемами, которые вызывает ваш велосипед — цена переписывания кода с синхронного с костылями на асинхронный будет слишком высока, проще сразу писать нормально.
Да и полифил promise не минифицированный занимает всего 8kb, а уменьшенный 3kb.
Вот простой кейс из моего бота — бот отсылает фото, и бывает, что API глючит, бывает что картинка битая, бывает что бота кикнули из чата. Так вот, нужно сделать, в зависимости от ошибки повтор отправки сообщения (более 1 раза возможно), нужно удалить пользователя и взять следующего и попробовать повторить (если кикнули), нужно отослать текстовое сообщение с ссылкой на картинку (если все совсем плохо).
Таким образом, если попробовать построить подобное на collback'х то можно очень сильно запутаться. Я даже и не знаю что кроме Promise тут может помочь.
Или же, банальное — есть лимиты на отправку сообщений в секунду, надо уметь считать сообщения на уровне обертки, что бы не превысить лимиты и если они превышены — отправить через секунду. Тут тоже Promise отлично решает задачу.
API обертки все же сильно ограничен по сравнению с node-telegram-bot-api, начиная от того, что не возвращает Promise (это очень удобно позволяет делать сложные конструкции из асинхронных функций), заканчивая очень ограниченными функциями sendPhoto и прочих (почему нельзя задать имя файла и произвольный mime?).
Так же не вижу в коде какого либо показа отладочной информации, если что то пошло не так.
Я тоже являюсь автором пары ботов с аудиторией 100+ человек, и со временем пришел к выводу что на callback'х далеко не уедешь.
Да нет, фитча с трансляцией появилась еще в четверг, мне она так понравилась что убил на тесты целый день (играл в скайрим...). Ждал когда же про это напишут на хабре, казалось что реально крутая штука и все должны про это написать… но видимо как то я преувеличил ее важность.
Хотелось бы еще отметить что запустить в трансляцию можно что угодно. Добавляешь стороннюю «игру» и на другой машинке можно транслировать.
Например отлично работает SimCity и даже Media Player Classic и IE =)
Проблема уже решена в версии 1.2.27, сейчас в процессе публикации. 5 мин назад эта проблема всплыла. Вообще про это не написано но все заключается в том, что клиент не отдает token сессии и пускает всех если совпадает пара логин и пароль.
Так удобнее. Например в опере когда требуют исходники, то нужно все скопом отдавать что бы и они могли собрать точно такой же пакет, гит позволяет, почему бы и нет.
Столбцом можно сделать, но вот насчет ссылки это под вопросом. Дело в том, что допустить исполнение чужого html никак нельзя.
Все же будет лучше использовать нативный интерфейс, тем более перейти на него — нажать одну кнопку.
Я подумаю все же над тем как можно отобразить информацию из комментариев, но перегружать интерфейс недопустимо.
Вы прежде чем делать выводы посмотрите все фалы и что как работает. В частности все исполняемые файлы, jar итп используются для сборки билда, который после я отправляю в хром стор.
Если для вас не имеет значение интерфейс, быстрая работа с файлами итп — то смысл в контекстном меню и уведомлениях.
Из функций есть перемещение торрентов и переименование файлов.
Добавить то можно. Вот только куда там это приделать… Можно сделать например что то типа при вводе в поле url хэша он будет автоматически преобразовывать в magnet… Наверное еще и придется делать в настройках список трекеров для этих самогенерируемых magnet ссылок, что будет вводить пользователя в еще большее недоумение.
В общем тут надо подумать.
оно парсит код. От этого мало того, что отваливается вся оптимизация, которые делает браузер, но и уж точно вы не учли все возможные виды написания кода, который уж точно не уместится в 34kb.
Просто используйте Promise, и не нужно мучить ни себя не других. Если кто то внезапно столкнется с проблемами, которые вызывает ваш велосипед — цена переписывания кода с синхронного с костылями на асинхронный будет слишком высока, проще сразу писать нормально.
Да и полифил promise не минифицированный занимает всего 8kb, а уменьшенный 3kb.
Это имеет смысл, когда у вас есть вложенные promise, например:
Таким образом, если попробовать построить подобное на collback'х то можно очень сильно запутаться. Я даже и не знаю что кроме Promise тут может помочь.
Или же, банальное — есть лимиты на отправку сообщений в секунду, надо уметь считать сообщения на уровне обертки, что бы не превысить лимиты и если они превышены — отправить через секунду. Тут тоже Promise отлично решает задачу.
Так же не вижу в коде какого либо показа отладочной информации, если что то пошло не так.
Я тоже являюсь автором пары ботов с аудиторией 100+ человек, и со временем пришел к выводу что на callback'х далеко не уедешь.
Например отлично работает SimCity и даже Media Player Classic и IE =)
Все же будет лучше использовать нативный интерфейс, тем более перейти на него — нажать одну кнопку.
Я подумаю все же над тем как можно отобразить информацию из комментариев, но перегружать интерфейс недопустимо.
Из функций есть перемещение торрентов и переименование файлов.
В общем тут надо подумать.