Бот не получает сообщения из телеграм каналов
Пишу приложение на nodejs. Для работы с телеграм ботом использую node-telegram-bot-api .
const TelegramBot = require('node-telegram-bot-api');
const token = 'mytoken';
const bot = new TelegramBot(token, {polling: true});
bot.onText(/\/chatid/, (msg) => {
console.log(msg.chat.id);
});
Почему данный код не видит сообщение из телеграм каналов. С группами все отлично и с личными чатами. Что нужно сделать что бы бот увидел сообщения телеграм канала? Это событие так же не видит сообщения.
bot.on('message', (msg) => {
console.log(msg.chat.id);
});
Бот добавлен в канал как администратор.
Ответы (1 шт):
Автор решения: Roman Bakirov
→ Ссылка
Для получения сообщений именно из канала используйте event channel_post:
#! /usr/local/bin/node
const TelegramBot = require('node-telegram-bot-api');
// replace the value below with the Telegram token you receive from @BotFather
const token = 'YOUR-TOKEN-HERE';
// Create a bot that uses 'polling' to fetch new updates
const bot = new TelegramBot(token, {
polling: {
params: {
interval: 1,
autoStart: true,
timeout: 5,
offset: -1,
}
}
});
bot.on('channel_post', async msg => {
console.log(msg);
})