Egorian
@Egorian

Telegram bot напоминалка. Что значит{{}}?

Смотрел примеры ботов Telegram на Node.js. Наткнулся на напоминалку.
bot.onText(/\/remind (.+) in (.+)/, function (msg, match) {
    var userId = msg.from.id;
    var text = match[1];
    var time = match[2];

    notes.push( { 'uid':userId, 'time':time, 'text':text } );


setInterval(function(){
    for (var i = 0; i < notes.length; i++){
        var curDate = new Date().getHours() + ':' + new Date().getMinutes();
            if ( notes{{i}}['time'] == curDate ) {
                bot.sendMessage(notes{{i}}['uid'], 'Напоминаю, что вы должны: '+ notes{{i}}['text'] + ' сейчас.');
                notes.splice(i,1);
            }
        }
},1000);   

});

Выдает Unexpected token { в if ( notes{{i}}['time'] == curDate ) . Думал проблема в {{}}, но при замене на [] ситуация не менялась. В чем проблема?
  • Вопрос задан
  • 822 просмотра
Решения вопроса 1
profesor08
@profesor08 Куратор тега JavaScript
Ты не знаешь JavaScript и не умеешь работать с массивами. Замени все notes{{i}} на notes[i]. Тебе в ошибке указано, что парсер кода не понимает конструкцию. После notes он ожидает увидеть открывающую квадратную скобку, а получает фигурную. Отсюда и ошибка.

P.S. Тебе выше уже заметили, что это нарочно сделано, чтоб не копировали бездумно.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Kewa2008
@Kewa2008
Программист
Что значит{{}}?

Выражения Handlebars заключаются в двойные фигурные скобки. Выражением может быть как переменная, так и хелпер — предварительно определенная функция, результат которой будет вставлен в шаблон.
Возможно у тебя не подключена эта библиотека, поэтому и обработать ее не получается
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы