Я пытаюсь заставить бот, который я кодирую, реагировать на сообщение пользователя, когда в нем есть конкретные ключевые слова.У меня есть около 50 ключевых слов, на которые бот может реагировать, но только если они находятся в начале сообщения.
Бот будет реагировать с эмоцией, когда он находится в начале сообщения пользователя, но не когдапосле первого слова.
Я уже пытался попросить разногласия о какой-то помощи, но совершенно очевидно, что они действительно не хотят дружить с новичками.Я попытался изменить аргумент с "0" на "Message.MAX_CONTENT_LENGTH", который не работал.У меня также изначально был ArrayList, который я преобразовал в String, который не работал, а позже попытался использовать только обычный List;с тем же результатом.Прямо сейчас я застрял с крайне неоптимизированным утверждением if / else, но я могу жить с этим.Мне просто нужно, чтобы это работало.
import net.dv8tion.jda.core.events.message.guild.GuildMessageReceivedEvent;
import net.dv8tion.jda.core.hooks.ListenerAdapter;
public class GuildMessageReceived extends ListenerAdapter {
public void onGuildMessageReceived(GuildMessageReceivedEvent event) {
String[] args = event.getMessage().getContentRaw().split("\\s+");
if (args[0].equalsIgnoreCase("zachary")) {
event.getMessage().addReaction("?").queue();
} // if
} // onGuildMessageReceived()
} // GuildMessageReceived
Я ожидаю, что результатом будет реакция на сообщение с ключевым словом, расположенным внутри него в любой момент, а не только в начале.Предположим, что «деньги» - это ключевое слово.
Что мне нужно:
[6:52 PM] Anon: I have money
|| Reactions: :spy:
Что я получу:
[6:52 PM] Anon: I have money
|| Reactions: None