1
私は現在作業中のテレグラムボットに関する問題があります。私は、次の形式でユーザーからのメッセージを取得:テレグラムメッセージからメッセージIDを取得する - node.js
update { update_id: 82618016,
message:
{ message_id: 363,
from: { id: 22303518, first_name: 'Steve', language_code: 'de-DE' },
chat: { id: 22303518, first_name: 'Steve', type: 'private' },
date: 1501501753,
text: 'j' } }
私が取得したいとすぐに
$.message.chat.id
を使用して、私は何の問題もなくこれを行うことができますチャットのIDにアクセスしたいですmessage_idまたはfirst_name Iは「未定義」になります。
$.message.chat.first_name
$.message.message_id
誰でも私を助けることができますか?私が見ている限り、私はメッセージの構造を正しく理解しているので、ここで何が問題か分かりません。
はあなたに事前
EDITで非常に感謝:私はここに私のコードのビット以上を追加してい:
を(ウェブフック含む)ボットのための主要なコードはこれです:
initializeBot();
function initializeBot(){
const Telegram = require('telegram-node-bot');
const PingController = require('./controllers/ping');
const OtherwiseController = require('./controllers/otherwise');
const tg = new Telegram.Telegram('MY_TOKEN_IS_HERE', {
webhook: {
url: 'https://mutzi-bot.herokuapp.com',
port: process.env.PORT || 443,
host: '0.0.0.0'
}
})
tg.router.when(new Telegram.TextCommand('/ping', 'pingCommand'), new PingController())
.otherwise (new OtherwiseController());
}
ThenControllerが呼び出されると、次のコードが呼び出されます(問題を明確にするために、必要な部分を減らしました)。
class OtherwiseController extends Telegram.TelegramBaseController {
handle($){
console.log($.message.chat.first_name);
console.log($.message.text);
console.log($.message.chat.id);
console.log($.message.message_id);
}
}
このメッセージのコンソール出力
update { update_id: 82618020,
message:
{ message_id: 371,
from: { id: 22303518, first_name: 'Steve', language_code: 'de-DE' },
chat: { id: 22303518, first_name: 'Steve', type: 'private' },
date: 1501509762,
text: 'hello' } }
は次のようになります。
undefined
hello
22303518
undefined
あなたのコードをもっと共有してください。 – tashakori
@ tashakoriコードを追加しました。前もって感謝します。 – DesperateEi
あなたはこの方法でプロパティにアクセスしようとしました:$ .message.chat ["first_name"] – tashakori