Когда пользователь отправляет команду в Discord, как аргументы могут быть разделены символьным сообщением?

1

Поэтому пользователь отправляет сообщение (например,) =rateM 8 | Led Zepplin | Immigrant Song =rateM 8 | Led Zepplin | Immigrant Song =rateM 8 | Led Zepplin | Immigrant Song в Discord, чтобы оценить песню от 1 до 10. Я хочу сделать так, чтобы символ вертикальной строки, |, разделял аргументы команды.

Мой код для команды: if(command === "rateM") let [score, artist, song] = args }; , Я хочу сделать так, чтобы я мог определить, например, score аргумента как все, что находится между командой =rateM и первой вертикальной полосой. Как я могу это сделать? Использую ли я split(); каким-то образом?

Теги:
function
discord
bots

1 ответ

1
Лучший ответ

Сначала избавитесь от rateM, удалив первые 5 символов из пользовательского сообщения,

let message = "rateM 8 | Led Zepplin | Immigrant Song" // user message

let argsString = message.substring(5);

Теперь разделим строку на массив с аргументами,

lets args = argsString.split(" | ")
/*args[0] === 8
  args[1] === Led Zeppelin
  args[2] === Immigrant Song*/

Ещё вопросы

Сообщество Overcoder
Наверх
Меню