0.0.2 • Published 6 years ago

@typebot/core v0.0.2

Weekly downloads
7
License
MIT
Repository
github
Last release
6 years ago
import { ConsoleConnector, Bot } from 'awesomebot';

const connector = new ConsoleConnector().listen(); // Создаем "консольный" канал
const bot = new Bot({ connector }); // Создаем бота

// Middleware для обработки всех сообщений
bot.use(async ({ session, message }, next) => {
    const text = message.getText(); // Получаем сообщение пользователя
    
    await session.send(`You said: ${text}`); // Отсылаем его обратно
    next();
});

// bot.use(/\/yo (.+)/, async ({session, message}) => { // await session.send(hey ${message.params[0]}); // });

// Вывод списка задач пользователю bot.use('/list', async ({session}) => { const {todos} = session.state; const msg = todos.length > 0 ? todos.join('\n') : 'No todos!'; await session.send(msg); });

// Отчищаем список задач с помощью resetState bot.use('/clear', async ({session}) => { session.resetState(); await session.send('Successfully clear all todos!'); });

// Добавляем новую задачу в список задач bot.use(/\/add (.+)/, async ({session, message}) => { const newTodos = message.params0; const todos = session.state.todos || [];

session.setState({ todos: [...todos, newTodos] });
await session.send(`Todo: ${newTodos} added!`);

});

// Так как мы не вызывали next в предыдущих middlewares, и если один из них // выполнился, данный обработчик не будет выполнен. Иначе, выполнится данный, // сказав пользоватлю, что введенная команда не найдена. bot.use(async ({session}) => { await session.send('Unknown command. Type /list, /clear or /add {todo}.'); });