Парсинг команды из сообщения
Функция может парсить команду из сообщения в формате /command args и поддерживает переменные с префиксом $. На выходе функция возвращает массив [command, ...args]
- function parseCommand(message) {
- const commandRegex = /^\/(\w+)\s*(.*)$/
- const variableRegex = /\$(\w+)/g
- const match = message.match(commandRegex)
- if (!match) return null
- let [_, command, args] = match
- args = args.split(' ').map(arg => arg.replace(variableRegex, (_, varName) => process.env[varName]))
- return [command, ...args]
- }
Например:
Этот код предполагает наличие переменных окружения с соответствующими именами. Вы можете изменить его в соответствии со своими нуждами.
- parseCommand('/say $GREETING to the world') // ['say', 'Hello', 'to', 'the', 'world']