Size: a a a

2016 December 26

AK

Artem Kulikov in Dev Chat
tg.api.getFile($.message.document.fileId)
           .then((file) => {
               //сохраняешь файл так, как позволит религия
           })
источник

AK

Artem Kulikov in Dev Chat
Хз че ты паришься, братан, даже такой говноед как я понял как это работает
источник
2016 December 27

SK

Savely Krasovsky in Dev Chat
Я правильно понимаю, что с Babel не робит?
источник

SK

Savely Krasovsky in Dev Chat
Похоже что да.
источник

SK

Savely Krasovsky in Dev Chat
Собсна. Я почему спрашиваю. Решил скачать нормальный WebStorm. Ибо дебажить в nano прям на серваке немного извращение.
источник

SK

Savely Krasovsky in Dev Chat
Он мне битый час долдычит, что мол class вообще в JS нет. Ставь ES2015 и Babel, а там посмотрим.
источник

SK

Savely Krasovsky in Dev Chat
Ставлю, он начинает понимать классы, но зато ничего собрать не может. Всё засыпается ошибками.
источник

SK

Savely Krasovsky in Dev Chat
Подозреваю, что я что-то делаю не так. Но я невероятный нубас...
источник

SK

Savely Krasovsky in Dev Chat
Код отлично запускается без babel, однако стоит указать пресет в .babelrc сразу же:

TypeError: Class constructor TelegramBaseController cannot be invoked without 'new'


Если добавить new перед TelegramBaseController, то ошибка пропадает, но появляется новая:

TypeError: Super expression must either be null or a function, not object


То есть скоп $ должен быть null или функцией. Шта?

В интернете особо ничего не пишут. Разве что "обнови либу". По сути мне этот babel нафиг не сдался. Но как писать-то в WebStorm тогда, если он без него мне весь синтакс красным подчеркивает?
источник

AK

Artem Kulikov in Dev Chat
В настройках прожекта выбрал ES6
источник

AK

Artem Kulikov in Dev Chat
?
источник

SK

Savely Krasovsky in Dev Chat
Artem Kulikov
В настройках прожекта выбрал ES6
Да.
источник

SK

Savely Krasovsky in Dev Chat
Транспилинг работает.
источник

SK

Savely Krasovsky in Dev Chat
В коде класса вроде ничего незаконного. Просто копипаста из доков.
'use strict';

const Telegram = require('telegram-node-bot'),
 InputFile = Telegram.InputFile,
 TelegramBaseController = Telegram.TelegramBaseController;
 
class HelperController extends TelegramBaseController {
 /**
 * @param {Scope} $
 */
 helpHandler($) {
   $.sendMessage('*TEST*', { parse_mode: 'Markdown' })
 }
 
 rulesHandler($) {
   $.sendPhoto(InputFile.byFilePath(__dirname + '/../images/rank/1.png'));
 }

 get routes() {
   return {
     'helpCommand': 'helpHandler',
     'rulesCommand': 'rulesHandler'
   }
 }
}

module.exports = HelperController;
источник

SK

Savely Krasovsky in Dev Chat
Кек.
источник

SK

Savely Krasovsky in Dev Chat
Убрал параметр -r babel-register дебаг заработал, классы знает.
источник

SK

Savely Krasovsky in Dev Chat
Странная херь.
источник

AK

Artem Kulikov in Dev Chat
Убери бабел вообще
источник

AK

Artem Kulikov in Dev Chat
Он не нужен
источник

SK

Savely Krasovsky in Dev Chat
Я убрал.
источник