rendered paste bodyString sMessage = tsSender + ", I couldn't find a wikipedia entry. Try being more specific.";
try
{
WebRequest wreqWikiSearch = new GetMethodWebRequest(m_sAddress + "?search=" + tsParameters + "&go=Go");
WebResponse wrespResult = new WebConversation().getResponse(wreqWikiSearch);
String sURL = wrespResult.getURL().toString();
TextBlock[] aBlocks = wrespResult.getTextBlocks();
String sPage = "";
for (TextBlock tbCurrent : aBlocks)
sPage += tbCurrent.getText() + "\n";
Pattern p = Pattern.compile("From Wikipedia, the free encyclopedia\n(.*)", Pattern.DOTALL);
Matcher m = p.matcher(sPage);
if (m.find())
{
if (
!(
m.group(1).contains("No page with that title exists") ||
m.group(1).contains("You can create this article or request it") ||
m.group(1).contains("Please wikify (format) this article")
)
)
{
String desc = m.group(1).replaceAll("\\s*\\(.+?\\)", ""); // Delete anything in Parens.
desc = desc.replaceAll("\n", " ");
System.out.println(desc);
sMessage = tsSender + ", " + trimText(desc, 446 - tsSender.length() - 3 - 5 - sURL.length()) + " [ " + sURL + " ]";
}
}
else
{
sMessage = "The return from Wikipedia doesn't seem to be a Wikipedia page. Check the config file's URL.";
}
}
catch (SAXException e)
{
sMessage = "Caught a SAXException [" + e.getMessage() + "].";
}
catch (MalformedURLException e)
{
sMessage = "Caught a MalformedURLException [" + e.getMessage() + "]. Check the config file.";
}
catch (IOException e)
{
sMessage = "Caught an IOException [" + e.getMessage() + "]. The outbound network is probably down.";
}
catch (RuntimeException e)
{
sMessage = "Caught a RuntimeException [" + e.getMessage() + "].";
}
if (tsChannel != null)
toBot.sendMessage(tsChannel, sMessage);
else
toBot.sendMessage(tsSender, sMessage);