Чтобы получить ID группы, когда пользователь перешлет сообщение из этой группы, вам нужно использовать свойства объекта `Message`, которое вы получите при обработке пересланного сообщения.
Воспользуйтесь следующим кодом:
```javascript
bot.on('message', (msg) => {
if (msg.forward_from_chat && msg.chat.type === 'private') {
const groupId = msg.forward_from_chat.id;
console.log('ID группы:', groupId);
}
});
```
В данном примере мы проверяем, если у `msg` есть свойство `forward_from_chat` (это означает, что сообщение было переслано из группы), и `msg.chat.type` равен `'private'` (это означает, что пересланное сообщение было отправлено в личные сообщения боту). Если условия выполняются, то в переменной `groupId` будет храниться ID группы.
Чтобы настроить бота таким образом, чтобы при пересылке сообщения с группы пользователь получал ID этой группы, можно воспользоваться следующим подходом:
1. Пользователь добавляет вашего бота в группу.
2. Бот отслеживает команду `start`. При получении этой команды в группе, бот сохраняет ID группы в базе данных или в каком-либо другом хранилище.
3. Пользователь пересылает сообщение из группы боту в личные сообщения.
4. Бот обрабатывает пересланное сообщение и использование описанного выше кода, получает ID группы.
5. Бот отправляет ID группы пользователю в ответ.
Приведенный выше подход можно реализовать на Node.js с использованием фреймворка Telegraf. Вот пример кода:
```javascript
const Telegraf = require('telegraf');
const bot = new Telegraf('YOUR_BOT_TOKEN');
const groupIds = new Map();
bot.command('start', (ctx) => {
const groupId = ctx.message.chat.id;
groupIds.set(groupId, true);
ctx.reply('Группа добавлена.');
});
bot.on('message', (ctx) => {
if (ctx.message.forward_from_chat && ctx.message.chat.type === 'private') {
const groupId = ctx.message.forward_from_chat.id;
if (groupIds.has(groupId)) {
ctx.reply(`ID группы: ${groupId}`);
} else {
ctx.reply('Данная группа не была добавлена.');
}
}
});
bot.launch();
```
В данном примере бот использует Map для хранения ID групп, которые были добавлены пользователем командой `/start` в группе. При получении пересланного сообщения в личные сообщения, бот проверяет, есть ли ID группы в Map. Если да, то он отправляет ID группы пользователю.