diff --git a/ArtificialAutism/src/main/java/FunctionLayer/Datahandler.java b/ArtificialAutism/src/main/java/FunctionLayer/Datahandler.java index c81c6d89..d6bcfb71 100644 --- a/ArtificialAutism/src/main/java/FunctionLayer/Datahandler.java +++ b/ArtificialAutism/src/main/java/FunctionLayer/Datahandler.java @@ -174,7 +174,7 @@ public class Datahandler { return new StanfordCoreNLP(propsSentiment); } - private String trimString(String str) { + public String trimString(String str) { String message = str.trim(); if (message.startsWith("<@")) { message = message.substring(message.indexOf("> ") + 2); @@ -202,7 +202,7 @@ public class Datahandler { } } - private String getResponseFutures(String strF, StanfordCoreNLP stanfordCoreNLP, StanfordCoreNLP stanfordCoreNLPSentiment) { + public String getResponseFutures(String strF, StanfordCoreNLP stanfordCoreNLP, StanfordCoreNLP stanfordCoreNLPSentiment) { Annotation strAnno = new Annotation(strF); strAnno.compact(); @@ -616,6 +616,7 @@ public class Datahandler { StanfordCoreNLP stanfordCoreNLPSentiment, Boolean ingameResponse) { String responseFutures = ""; String strF = trimString(str); + //System.out.println("post trimstring(). strF: " + strF); responseFutures = getResponseFutures(strF, stanfordCoreNLP, stanfordCoreNLPSentiment); if (!ingameResponse) { responseFutures = checkPersonPresentInSentence(personName, responseFutures, strF, stanfordCoreNLP, diff --git a/ArtificialAutism/src/main/java/FunctionLayer/DoStuff.java b/ArtificialAutism/src/main/java/FunctionLayer/DoStuff.java deleted file mode 100644 index 85e15293..00000000 --- a/ArtificialAutism/src/main/java/FunctionLayer/DoStuff.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ -package FunctionLayer; - -import discord4j.core.event.domain.message.MessageCreateEvent; -import discord4j.core.object.entity.User; -import discord4j.core.object.entity.channel.TextChannel; - -import java.util.List; - -import edu.stanford.nlp.pipeline.StanfordCoreNLP; - - -/** - * @author install1 - */ -public class DoStuff { - - public static void doStuff(MessageCreateEvent event, String usernameBot, Datahandler datahandler, - StanfordCoreNLP stanfordCoreNLP, StanfordCoreNLP stanfordCoreNLPSentiment) { - String username = ""; - try { - username = event.getMessage().getAuthor().get().getUsername(); - } catch (java.util.NoSuchElementException e) { - username = null; - } - if (username != null && !username.equals(usernameBot)) { - TextChannel block = event.getMessage().getChannel().cast(TextChannel.class).block(); - String name = block.getCategory().block().getName(); - name = name.toLowerCase(); - String channelName = block.getName().toLowerCase(); - boolean channelpermissionsDenied = false; - if (channelName.contains("suggestion-box")) { - channelpermissionsDenied = true; - } - switch (name) { - case "public area": - case "information area": { - break; - } - default: { - channelpermissionsDenied = true; - break; - } - } - if (!channelpermissionsDenied) { - List blockLast = event.getMessage().getUserMentions(); - String content = event.getMessage().getContent(); - if (blockLast != null) { - for (User user : blockLast) { - content = content.replace(user.getId().asString(), ""); - } - } - boolean mentionedBot = false; - if (blockLast != null) { - for (User user : blockLast) { - if (user.getUsername().equals(usernameBot)) { - mentionedBot = true; - break; - } - } - } - if (mentionedBot || channelName.contains("general-autism")) { - String ResponseStr; - ResponseStr = datahandler.getResponseMsg(content, username, stanfordCoreNLP, stanfordCoreNLPSentiment, - false); - if (!ResponseStr.isEmpty()) { - System.out.print("\nResponseStr3: " + ResponseStr + "\n"); - //event.getMessage().getChannel().block().createMessage(ResponseStr).block(); - event.getMessage().getChannel().flatMap(chan -> chan.createMessage(ResponseStr)).subscribe(); - } - } - } - } - } -} diff --git a/ArtificialAutism/src/main/java/PresentationLayer/DiscordHandler.java b/ArtificialAutism/src/main/java/PresentationLayer/DiscordHandler.java index 77eca51d..71265ee5 100644 --- a/ArtificialAutism/src/main/java/PresentationLayer/DiscordHandler.java +++ b/ArtificialAutism/src/main/java/PresentationLayer/DiscordHandler.java @@ -6,6 +6,9 @@ import FunctionLayer.PipelineJMWESingleton; import discord4j.core.DiscordClient; import discord4j.core.GatewayDiscordClient; import discord4j.core.event.domain.message.MessageCreateEvent; +import discord4j.core.object.entity.Sticker; +import discord4j.core.object.entity.User; +import discord4j.core.object.entity.channel.TextChannel; import edu.stanford.nlp.pipeline.StanfordCoreNLP; import java.io.IOException; @@ -13,6 +16,7 @@ import java.io.UnsupportedEncodingException; import java.net.*; import java.sql.SQLException; import java.util.ArrayList; +import java.util.List; /** @@ -104,7 +108,70 @@ public class DiscordHandler { }).start(); } gateway.on(MessageCreateEvent.class).subscribe(event -> { - FunctionLayer.DoStuff.doStuff(event, usernameBot, datahandler, stanfordCoreNLP, stanfordCoreNLPSentiment); + String username = ""; + try { + username = event.getMessage().getAuthor().get().getUsername(); + } catch (java.util.NoSuchElementException e) { + username = null; + } + //System.out.println("past event.getMessage().getAuthor().get().getUsername()"); + List blockLast = event.getMessage().getUserMentions(); + String content = event.getMessage().getContent(); + if (blockLast != null) { + for (User user : blockLast) { + content = content.replace(user.getId().asString(), ""); + } + } + //System.out.println("past event.getMessage().getContent()"); + + if (username != null && !username.equals(usernameBot) && !content.isEmpty()) { + TextChannel block = event.getMessage().getChannel().cast(TextChannel.class).block(); + String name = block.getCategory().block().getName(); + name = name.toLowerCase(); + String channelName = block.getName().toLowerCase(); + boolean channelpermissionsDenied = false; + if (channelName.contains("suggestion-box")) { + channelpermissionsDenied = true; + } + switch (name) { + case "public area": + case "information area": { + break; + } + default: { + channelpermissionsDenied = true; + break; + } + } + if (!channelpermissionsDenied) { + //System.out.println("past !channelpermissionsDenied"); + boolean mentionedBot = false; + if (blockLast != null) { + for (User user : blockLast) { + if (user.getUsername().equals(usernameBot)) { + mentionedBot = true; + break; + } + } + } + if (mentionedBot || channelName.contains("general-autism")) { + String ResponseStr; + ResponseStr = datahandler.getResponseMsg(content, username, stanfordCoreNLP, stanfordCoreNLPSentiment, + false); + if (!ResponseStr.isEmpty()) { + System.out.print("\nResponseStr3: " + ResponseStr + "\n"); + event.getMessage().getChannel().flatMap(chan -> chan.createMessage(ResponseStr)).block(); + //event.getMessage().getChannel().block().createMessage(ResponseStr).block(); + //System.out.print("past event.getMessage().getChannel()"); + } + } else { + //System.out.println("pre else statement trimString"); + String strF = datahandler.trimString(content); + //System.out.println("post else statement trimString. strf: " + strF); + datahandler.getResponseFutures(strF, stanfordCoreNLP, stanfordCoreNLPSentiment); + } + } + } }); gateway.onDisconnect().block(); }