Как лучше проверить подписку на Telegram канал

// Requirements
const { Telegraf } = require('telegraf')

// Bot initialization
const bot = new Telegraf(process.env.BOT_TOKEN)

// Variables
channels = [
    'nodetestjs',
    'nodetest1',
    'nodetest2'
]

bot.command('check', ctx => {
    channels.forEach((channel) => {
        ctx.telegram.getChatMember(`@${channel}`, 856950367)
            .catch((err) => {

            })
            .then((member) => {
                console.log(member)
            })
    })

При выполнении данной функции, если человек подписан на канал, вернется объект самого пользователя, а если не подписан, будет выдана ошибка, как лучше всего избежать ее? Бот написан с помощью Telegraf


Ответы (1 шт):

Автор решения: Denys Sova
const member = await ctx.telegram.getChatMember(channel, ctx.chat.id);
if (member.status != "member" && member.status != "administrator" && member.status != "creator"){
        return false;
} else {
        return true;
}
→ Ссылка