• Как прервать запрос в mongoose?

    lastuniverse
    @lastuniverse
    Всегда вокруг да около IT тем
    // мой chatId (я админ)
    const myId = 1396346856;
    // chatId собеседника
    let currentInterlocutorId;
    
    bot.on('message', msg => {
        //chatId который пишет боту
        const chatId = msg.chat.id
    
        // если сообщение от меня (хозяина бота)
        if (chatId === myId) {
            // не будем мучать БД при каждом моем сообщении поэтому сначала проверим, похоже ли то что я написал на ID пользователя
            if (/^\d+$/.test(msg.text)) {
    
                /*если сообщение которое я ввел равно chatId пользователя из базы данных, то следующие сообщения будут отправляться этому пользователю*/
                Person
                    .findOne({ chat: msg.text })
                    .then(person => {
                        currentInterlocutorId = msg.text;
                        bot.sendMessage(mayId, 'Соединение установлено')
                    })
                    .catch()
            }
    
            // если я (хозяина бота) ввел "stop" общение прекращаем
            if (msg.text === "stop") {
                bot.sendMessage(mayId, 'Соединение разорвано');
                bot.sendMessage(currentInterlocutorId, 'Я от тебя устал, не пиши мне больше!!!');
                currentInterlocutorId = undefined;
            }
    
        }
    
        // если собеседник был выбран
        if (currentInterlocutorId) {
            // если пишу я
            if (chatId === myId) {
                bot.sendMessage(currentInterlocutorId, msg.text)
            }
            // если выбранный собеседник пишет мне
            else if (chatId === currentInterlocutorId) {
                bot.sendMessage(mayId, msg.text)
            }
    
        }
    
    
    })
    Ответ написан
    1 комментарий