Naltox / telegram-node-bot

Node module for creating Telegram bots.
MIT License
721 stars 143 forks source link

How to editMessageText ? #87

Closed dmvakh closed 8 years ago

dmvakh commented 8 years ago

Try update message - receive error:

"error ReferenceError: chat_id is not defined"

code:

'use strict'

const Telegram = require('telegram-node-bot') const TelegramBaseController = Telegram.TelegramBaseController const tg = new Telegram.Telegram('MY_TOKEN')

let cId, mId;

class TestController extends TelegramBaseController { addHandler($) { $.sendMessage('Add') .then(()=>{ cId = $.message.chat.id mId = $.message.messageId }) }

updHandler($) {
    $.api.editMessageText(chat_id = cId, message_id = mId, 'Upd')
}

get routes() {
    return {
        '/add': 'addHandler',
        '/upd': 'updHandler'
    }
}

}

tg.router .when(['/add'], new TestController()) .when(['/upd'], new TestController())

Naltox commented 8 years ago

Hi!

You cant call methods like this: $.api.editMessageText(chat_id = cId, message_id = mId, 'Upd') in js.

Do it like this:

$.api.editMessageText('new text', { chat_id: chatId, message_id: messageId })

Where chatId and messageId are variables containing chat id and message id.