Как лучше проверить подписку на 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;
}