@RaDmunn

Как сделать так что бы бот считывал новые заявки на вступление в телеграм канал?

Важно что бы при новой поступившей заявки на вступление в телеграм канал, бот получал 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}`); 
  });
});
  • Вопрос задан
  • 146 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы