如何使Telegram机器人嵌入式键盘私密化?节点JS

时间:2019-07-05 15:12:43

标签: javascript node.js telegram-bot

// command for starting request with a simple anti-spam shiet
bot.command('movie', (ctx) => {   
        let stopSpam = findUserData(ctx);
        if (stopSpam) {
            ctx.reply(spammerMsg)
        } else {
            userData.push({id: ctx.message.from.id, msgId: ctx.message.message_id});
            ctx.reply('Género',genreMenu);
        } 
});

// So the issue is right here. 
//Right now I'm checking if the user has already used the comand 'movie'. 
//If so, he could use its buttons. But he could use the buttons from another user too...
bot.action(/.+/,(ctx) => {
    let allowed = findUserCallbackData(ctx);
    if (allowed) {
        ctx.editMessageReplyMarkup((m) => m.inlineKeyboard([]));
        allowed.queryGenre = ctx.update.callback_query.data;
        ctx.reply('Época', timeMenu)
            .then(() => {
                ctx.deleteMessage(ctx.update.callback_query.message.message_id)
            })
            .catch(e => {
                console.log(e)
            })
    }   else {
        console.log('noppe')
    }
});

findUserData = (ctx) => {
    let findCmdUser = userData.find(user => user.id === ctx.message.from.id)
    return findCmdUser
}

findUserCallbackData = (ctx) => {
    let findUser = userData.find(user => user.id === ctx.update.callback_query.from.id)
    return findUser
}

我在电影院电报小组中,并且正在使用嵌入式键盘作为数据提供者,制作用于电影推荐的机器人。

问题是嵌入式键盘不仅可见,而且对于每个组成员都是互动的

所以我的问题是,我可以防止这种情况发生吗?我能否使插入键盘的用户只能使用嵌入式键盘(如果可能的话,该键盘是可见的)?

对不起,我的基本英语水平,谢谢您的时间。

1 个答案:

答案 0 :(得分:1)

嵌入式键盘直接附加到消息上,因此无法使其仅对某些参与者可见。