Task Bot в Slack с использованием Botkit - PullRequest
0 голосов
/ 03 сентября 2018

В нашей компании мне поручено создать бота для задач Slack, который сможет создавать и назначать задачи пользователю.

Кажется, я не могу удалить задачи после использования команды (done x), она только выдает сообщение о том, что задача выполнена, но всякий раз, когда я просматриваю свои задачи, в списке появляется «удаленная» задача.

controller.hears(['done (.*)'],'direct_message,direct_mention,mention', 
function(bot, message) {

    var number = message.match[1];

    if (isNaN(number)) {
        bot.reply(message, 'Please specify a number.');
    } else {

        // adjust for 0-based array index
        number = parseInt(number) - 1;

        controller.storage.users.get(message.user, function(err, user) {

            if (!user) {
                user = {};
                user.id = message.user;
                user.tasks = [];
            }

            if (number > 0 || number <= user.tasks.length) {
                var item = user.tasks.splice(number,1);

                // reply with a strikethrough message...

                bot.reply(message, '~' + item + '~');

                if (user.tasks.length > 0) {
                    bot.reply(message, 'Here are our remaining tasks:\n' + generateTaskList(user));
                } else {
                    bot.reply(message, 'Your list is now empty!');
                }

            } else {
                bot.reply(message, 'Sorry, your input is out of range. Right now there are ' + user.tasks.length + ' items on your list.');

            }
            user.tasks.push(number);
            controller.storage.users.delete(user, function(err, deleted) {

                if (err) {
                    bot.reply(message, 'I experienced an error deleting your task: ' + err);
                } else {
                    bot.api.reactions.add({
                        name: 'wastebasket',
                        channel: message.channel,
                        timestamp: message.ts
                    });
                }
            });
        });

    }

});strong text
...