Важно что бы при новой поступившей заявки на вступление в телеграм канал, бот получал ID человека подавшего эту заявку. Либо как второй вариант реагировал просто на новых участников канала и также получал их ID. Бот на JavaScript. Я перепробовал уже много вариантов, вот пример функций которые я пытался использовать. К сожалению проблема в том что бот никак не реагирует на new_chat_members и тд. Когда я со второго аккаунта подаю заявку на вступление и потом принимаю ее, либо же когда просто подписываюсь на канал, никакая функция не срабатывает.
bot.on('message', (msg) => {
const chatId = msg.chat.id;
const userId = msg.from.id;
console.log("trg3");
// Проверка на наличие текста 'join' в сообщении пользователя
if (msg.text.toString().toLowerCase().includes('join')) {
console.log(`Заявка от пользователя с ID: ${userId}`);
bot.sendMessage(chatId, `Заявка на вступление в канал подана. Ваш ID: ${userId}`);
}
});
bot.on('channel_post', (msg) => {
console.log("trg5");
if (msg.new_chat_members) {
const newMembers = msg.new_chat_members;
newMembers.forEach((member) => {
bot.getChatMember(msg.chat.id, member.id).then((chatMember) => {
if (chatMember.status === 'member') {
bot.sendMessage(msg.chat.id, `Пользователь ${member.first_name} присоединился к каналу.`);
} else {
bot.sendMessage(msg.chat.id, `Пользователь ${member.first_name} не смог присоединиться к каналу.`);
}
}).catch((err) => {
console.log('Ошибка получения информации о пользователе:', err);
});
});
}
});
bot.on('message', (msg) => {
console.log("trg7");
if (msg.new_chat_members) {
const newMember = msg.new_chat_members[0];
bot.sendMessage(msg.chat.id, `Добро пожаловать в канал, ${newMember.first_name}!`);
}
});
bot.on('new_chat_members', (msg) => {
const chatId = msg.chat.id;
const newMembers = msg.new_chat_members;
newMembers.forEach((member) => {
const userId = member.id;
const username = member.username;
console.log(`Пользователь ${username} (${userId}) вступил в чат ${chatId}`);
});
});