Помогите Получение аргумента в сообщении

  • Автор темы Автор темы Sergeo
  • Дата начала Дата начала

Sergeo

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
Solomka
Не реагирует на аргументы в сообщении в вк или я что-то не так делаю?

Когда пишу просто сообщение, например, !player - выводит то, что нужен аргумент, если пишу с аргументом !player asdasdasd - ничего не происходит ни ошибок, ни реакции бота


Код:
    @Override
    public void onMessageNew(MessageNewEvent messageNewEvent) {

        Message message = messageNewEvent.getMessage();

        String[] args = message.getText().split(" ");

        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < args.length; i++) sb.append(args[i]).append(' ');


        switch (message.getText()) {
            case "!help" -> {
                 try {
                    checkAdmin(message, checkContainsUser, false);
                    return;
                } catch (BotsLongPollException | BotsLongPollHttpException e) {
                    e.printStackTrace();
                }
            }

            case "!admin" -> {

                try {
                    sendMessage(message, disableBot, null);
                    return;
                } catch (BotsLongPollHttpException | BotsLongPollException e) {
                    e.printStackTrace();
                }

                try {
                    checkAdmin(message, joinAdmin, true);
                } catch (BotsLongPollException | BotsLongPollHttpException e) {
                    e.printStackTrace();
                }
            }

case "!player.kill" -> {
    try {
        sendMessage(message, disableBot, null);
        return
    } catch (BotsLongPollHttpException | BotsLongPollException e) {
        e.printStackTrace();
    }

    Player player = Bukkit.getPlayerExact(sb.toString());

    try {
        kill(player, message);
    } catch (BotsLongPollException | BotsLongPollHttpException e) {
        e.printStackTrace();
    }
}
        }
    }



    private static String buildString(String[] str) {
        StringBuilder sb = new StringBuilder();
        for (String string : str) {
            sb.append(string);
        }
        return sb.toString();
    }

    private static void checkAdmin(Message message, String string, boolean giveAdmin) throws BotsLongPollException, BotsLongPollHttpException {
        if (!adminMode.contains(message.getFromId())) {
            if (Bukkit.getServer() != null) {
                if (giveAdmin) {
                    adminMode.add(message.getFromId());
                    try {
                        sendMessage(message, string, null);
                        return;
                    } catch (BotsLongPollHttpException | BotsLongPollException e) {
                        e.printStackTrace();
                    }
                }
                try {
                    sendMessage(message, string, null);
                    return;
                } catch (BotsLongPollHttpException | BotsLongPollException e) {
                    e.printStackTrace();
                }
            }
            sendMessage(message, disableBot, null);
            return;
        }
        sendMessage(message, alreadyAdminMode, null);
    }


    public static void sendMessage(Message message, String string, String twoString) throws BotsLongPollException, BotsLongPollHttpException {
        if(twoString == null) {
            new MessagesSend(new Functions()).setPeerId(message.getPeerId()).setMessage(string).execute();
            return;
        }
        new MessagesSend(new Functions()).setPeerId(message.getPeerId()).setMessage(string + "" + twoString).execute();
    }


KillCommand:


Код:
    public static void kill(Player p, Message message) throws BotsLongPollException, BotsLongPollHttpException {
            if (p != null && p.isOnline() && Bukkit.getServer() != null) {
                p.damage(p.getHealth());
                sendMessage(message, successKill + p.getName(), null);
            }
    }

Получение аргументов:


Код:
        String[] args = message.getText().split(" ");

        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < args.length; i++) sb.append(args[i]).append(' ');
 
Назад
Верх