!7 lib 1400185 import net.dv8tion.jda.core.*; import net.dv8tion.jda.core.hooks.*; import net.dv8tion.jda.core.events.message.*; p-exp { JDABuilder builder = new(AccountType.BOT); File tokenFile = javaxSecretDir("discord-bot-token"); builder.setToken(assertNempty("Need: " + tokenFile, trim(loadTextFile(tokenFile)))); builder.addEventListener(new ListenerAdapter { @Override public void onMessageReceived(MessageReceivedEvent e) { print("Msg from " + e.getAuthor().getName() + ": " + e.getMessage().getContentDisplay()); if (e.getAuthor().isBot()) ret with print(" Msg from bot, skipping"); S content = e.getMessage().getContentRaw(); if (nempty(content)) print("Last char: " + intToHex(lastChar(content)); new Matches m; if (swic(content, "gazelle", m)) { S s = m.rest(); if (!regexpContains("^:[a-z]", s)) s = dropLeadingPunctuation(s); s = "Bah! " + trim(s); print("Sending: " + s); e.getChannel().sendMessage(s).queue(); } } }); builder.buildAsync(); }