Бегать по split(" ") тут не поможет, так как мало ли я команду —user не напишу или в другой команде аргументов 2, а не 4
Пока решение у меня следующее:
В каждой команде иметь на вход список с аргументами.
Строку от юзера разделить на ['command', 'args'] с помощью того же split(" ")
Далее передать в функцию строку args и там уже разделить сначала по пробелам на фрагменты, далее каждый фрагмент по "=", к примеру я могу же подавать для разных функций как "—user" или как "terrain=True", далее читаем [0] совершаем необходимые настройки функции по словарю к примеру, если в словаре аргументов не подразумевается точное обозначение аргумент как например в "terrain=True", то переходим к следующему фрагменту, если подразумевается, выполняем действия на [1]
Собственно далее функция выполняет действие
Верна ли обработка?