Если вы сделаете отступ в коде более единообразно, то сразу заметите, что фигурные скобки должны быть несовпадающими, потому что }
в последней строке не может одновременно закрывать блок elseif и блок async msg => {
.
Причина, по которой ваш код компилируется, заключается в том, что блок elseif заканчивается дополнительным }
в строке await GuildModel.findOneAndUpdate(...)};
, поэтому return msg.channel.send(...)
находится за пределами оператора if и всегда выполняется.
Чтобы избежать таких ошибок , помните, что всегда следует делать отступы в коде последовательно (одна фигурная скобка на уровень отступа). Кроме того, старайтесь избегать написания настолько длинных и запутанных строк, что лишний }
не будет замечен.