Ретранслятор сообщений телеграм ботом
Пишу телеграм бота с помощью node-telegram-bot-api и sequelize. Одна из задач которая стоит перед ботом, автоматически пересылать или копировать сообщения из одного канала в другой. В обеих каналах бот назначен администратором. К сожалению ни одно из использованных решений не срабатывает. Каналы делал как закрытыми так и общедоступными, так же пробовал изменять id на "@channelusername" канала, ни один вариант не сработал. Примеры которые я использовал:
В чем может быть проблема?
Вариант 1:
const TelegramBot = require('node-telegram-bot-api');
const token = 'YOUR_TELEGRAM_BOT_TOKEN';
const bot = new TelegramBot(token, { polling: true });
const sourceChannelId = -1001234567890; // идентификатор исходного канала
const targetChannelId = -1009876543210; // идентификатор целевого канала
bot.on('message', (msg) => {
if (msg.chat.id === sourceChannelId) {
// если сообщение пришло из исходного канала, пересылаем его в целевой канал
bot.forwardMessage(targetChannelId, sourceChannelId, msg.message_id);
}
});
Вариант 2:
const TelegramBot = require('node-telegram-bot-api');
const sourceChannelId = -1001234567890;
const targetChannelId = -1009876543210;
const bot = new TelegramBot('YOUR_TELEGRAM_BOT_TOKEN', { polling: true });
bot.on('message', (message) => {
// Проверяем, было ли сообщение отправлено из нужного канала
if (message.chat.id === sourceChannelId) {
// Формируем уведомление для отправки в целевой канал
const notification = `Новое сообщение в канале ${message.chat.title}:\n\n${message.text}`;
// Отправляем уведомление в целевой канал
bot.sendMessage(targetChannelId, notification);
}
});