@typebot/core
v0.0.2
Published
Universal bot platform
Downloads
2
Maintainers
Readme
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.params[0]; 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}.'); });