mirror of https://github.com/bvn13/JIrcBot.git
implemented command description for DuckDuckGo search
parent
7fffb77b14
commit
294a3e0ece
|
@ -1,12 +1,10 @@
|
||||||
package ru.bvn13.jircbot.documentation;
|
package ru.bvn13.jircbot.documentation;
|
||||||
|
|
||||||
import javafx.collections.transformation.SortedList;
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import org.modelmapper.internal.util.Lists;
|
import org.modelmapper.internal.util.Lists;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by bvn13 on 28.10.2018.
|
* Created by bvn13 on 28.10.2018.
|
||||||
|
|
|
@ -3,23 +3,25 @@ package ru.bvn13.jircbot.listeners;
|
||||||
import org.jsoup.Jsoup;
|
import org.jsoup.Jsoup;
|
||||||
import org.jsoup.nodes.Document;
|
import org.jsoup.nodes.Document;
|
||||||
import org.jsoup.nodes.Element;
|
import org.jsoup.nodes.Element;
|
||||||
import org.jsoup.select.Elements;
|
|
||||||
import org.pircbotx.hooks.events.MessageEvent;
|
import org.pircbotx.hooks.events.MessageEvent;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import ru.bvn13.jircbot.bot.ImprovedListenerAdapter;
|
import ru.bvn13.jircbot.bot.ImprovedListenerAdapter;
|
||||||
import ru.bvn13.jircbot.bot.JircBot;
|
import ru.bvn13.jircbot.bot.JircBot;
|
||||||
import ru.bvn13.jircbot.database.services.ChannelSettingsService;
|
import ru.bvn13.jircbot.database.services.ChannelSettingsService;
|
||||||
|
import ru.bvn13.jircbot.documentation.DescriptionProvided;
|
||||||
|
import ru.bvn13.jircbot.documentation.ListenerDescription;
|
||||||
import ru.bvn13.jircbot.services.InternetAccessor;
|
import ru.bvn13.jircbot.services.InternetAccessor;
|
||||||
|
|
||||||
import java.io.UnsupportedEncodingException;
|
|
||||||
import java.net.URLDecoder;
|
import java.net.URLDecoder;
|
||||||
import java.net.URLEncoder;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import static ru.bvn13.jircbot.documentation.ListenerDescription.CommandDescription;
|
||||||
|
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
public class DuckDuckGoSearchListener extends ImprovedListenerAdapter {
|
public class DuckDuckGoSearchListener extends ImprovedListenerAdapter implements DescriptionProvided {
|
||||||
|
|
||||||
private static final String COMMAND = "?s";
|
private static final String COMMAND = "?s";
|
||||||
|
|
||||||
|
@ -29,6 +31,19 @@ public class DuckDuckGoSearchListener extends ImprovedListenerAdapter {
|
||||||
@Autowired
|
@Autowired
|
||||||
private ChannelSettingsService channelSettingsService;
|
private ChannelSettingsService channelSettingsService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ListenerDescription getDescription() {
|
||||||
|
return ListenerDescription.create()
|
||||||
|
.setModuleName("DuckDuckGoSearchListener")
|
||||||
|
.setModuleDescription("Make a search in DuckDuckGo for you")
|
||||||
|
.addCommand(CommandDescription.builder()
|
||||||
|
.command("s")
|
||||||
|
.description("Search it")
|
||||||
|
.example("?s [WHAT YOU WANT TO SEARCH]")
|
||||||
|
.build()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onMessage(MessageEvent event) throws Exception {
|
public void onMessage(MessageEvent event) throws Exception {
|
||||||
|
@ -54,10 +69,6 @@ public class DuckDuckGoSearchListener extends ImprovedListenerAdapter {
|
||||||
}
|
}
|
||||||
|
|
||||||
private String search(String phrase) throws Exception {
|
private String search(String phrase) throws Exception {
|
||||||
String encodedPhrase = URLEncoder.encode(phrase.replaceAll(" ", "+"), "utf-8");
|
|
||||||
//String link = "https://duckduckgo.com/?q="+encodedPhrase;
|
|
||||||
//String queryPage = internetAccessor.retrieveContentByLink(link);
|
|
||||||
|
|
||||||
String link = "https://duckduckgo.com/lite/";
|
String link = "https://duckduckgo.com/lite/";
|
||||||
Map<String, String> data = new HashMap<>();
|
Map<String, String> data = new HashMap<>();
|
||||||
data.put("q", phrase);
|
data.put("q", phrase);
|
||||||
|
@ -77,4 +88,5 @@ public class DuckDuckGoSearchListener extends ImprovedListenerAdapter {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,6 @@ import org.jsoup.nodes.Document;
|
||||||
import org.jsoup.nodes.Element;
|
import org.jsoup.nodes.Element;
|
||||||
import org.jsoup.select.Elements;
|
import org.jsoup.select.Elements;
|
||||||
import org.pircbotx.hooks.events.MessageEvent;
|
import org.pircbotx.hooks.events.MessageEvent;
|
||||||
import org.pircbotx.hooks.types.GenericMessageEvent;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import ru.bvn13.jircbot.bot.ImprovedListenerAdapter;
|
import ru.bvn13.jircbot.bot.ImprovedListenerAdapter;
|
||||||
|
@ -19,7 +18,6 @@ import ru.bvn13.jircbot.services.InternetAccessor;
|
||||||
import java.io.UnsupportedEncodingException;
|
import java.io.UnsupportedEncodingException;
|
||||||
import java.net.URLDecoder;
|
import java.net.URLDecoder;
|
||||||
import java.net.URLEncoder;
|
import java.net.URLEncoder;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import static ru.bvn13.jircbot.documentation.ListenerDescription.CommandDescription;
|
import static ru.bvn13.jircbot.documentation.ListenerDescription.CommandDescription;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue