Парсинг команды из сообщения

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

Реклама

Мы в соцсетях

tw tg yt gt