Added a basic Jaiku posting implementation.
This commit is contained in:
parent
7dbc83ef1c
commit
8f6aab302d
9 changed files with 459 additions and 226 deletions
|
@ -1,3 +1,3 @@
|
||||||
#ANT Task: ch.oscg.jreleaseinfo.BuildNumberHandler
|
#ANT Task: ch.oscg.jreleaseinfo.BuildNumberHandler
|
||||||
#Wed Jul 18 23:09:10 PDT 2007
|
#Thu Oct 11 16:35:17 PDT 2007
|
||||||
build.num.last=70
|
build.num.last=72
|
||||||
|
|
BIN
lib/ws-commons-util-1.0.2.jar
Normal file
BIN
lib/ws-commons-util-1.0.2.jar
Normal file
Binary file not shown.
BIN
lib/xmlrpc-client-3.1.jar
Normal file
BIN
lib/xmlrpc-client-3.1.jar
Normal file
Binary file not shown.
BIN
lib/xmlrpc-common-3.1.jar
Normal file
BIN
lib/xmlrpc-common-3.1.jar
Normal file
Binary file not shown.
27
mobibot.iml
27
mobibot.iml
|
@ -162,6 +162,33 @@
|
||||||
<SOURCES />
|
<SOURCES />
|
||||||
</library>
|
</library>
|
||||||
</orderEntry>
|
</orderEntry>
|
||||||
|
<orderEntry type="module-library">
|
||||||
|
<library>
|
||||||
|
<CLASSES>
|
||||||
|
<root url="jar://$MODULE_DIR$/lib/xmlrpc-client-3.1.jar!/" />
|
||||||
|
</CLASSES>
|
||||||
|
<JAVADOC />
|
||||||
|
<SOURCES />
|
||||||
|
</library>
|
||||||
|
</orderEntry>
|
||||||
|
<orderEntry type="module-library">
|
||||||
|
<library>
|
||||||
|
<CLASSES>
|
||||||
|
<root url="jar://$MODULE_DIR$/lib/ws-commons-util-1.0.2.jar!/" />
|
||||||
|
</CLASSES>
|
||||||
|
<JAVADOC />
|
||||||
|
<SOURCES />
|
||||||
|
</library>
|
||||||
|
</orderEntry>
|
||||||
|
<orderEntry type="module-library">
|
||||||
|
<library>
|
||||||
|
<CLASSES>
|
||||||
|
<root url="jar://$MODULE_DIR$/lib/xmlrpc-common-3.1.jar!/" />
|
||||||
|
</CLASSES>
|
||||||
|
<JAVADOC />
|
||||||
|
<SOURCES />
|
||||||
|
</library>
|
||||||
|
</orderEntry>
|
||||||
<orderEntryProperties />
|
<orderEntryProperties />
|
||||||
</component>
|
</component>
|
||||||
</module>
|
</module>
|
||||||
|
|
174
mobibot.iws
174
mobibot.iws
|
@ -18,7 +18,11 @@
|
||||||
</component>
|
</component>
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" name="Default" comment="">
|
<list default="true" name="Default" comment="">
|
||||||
|
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/mobibot.iml" afterPath="$PROJECT_DIR$/mobibot.iml" />
|
||||||
|
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/buildnum.properties" afterPath="$PROJECT_DIR$/buildnum.properties" />
|
||||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/net/thauvin/erik/mobibot/Mobibot.java" afterPath="$PROJECT_DIR$/src/net/thauvin/erik/mobibot/Mobibot.java" />
|
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/net/thauvin/erik/mobibot/Mobibot.java" afterPath="$PROJECT_DIR$/src/net/thauvin/erik/mobibot/Mobibot.java" />
|
||||||
|
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/mobibot.iws" afterPath="$PROJECT_DIR$/mobibot.iws" />
|
||||||
|
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/net/thauvin/erik/mobibot/ReleaseInfo.java" afterPath="$PROJECT_DIR$/src/net/thauvin/erik/mobibot/ReleaseInfo.java" />
|
||||||
</list>
|
</list>
|
||||||
</component>
|
</component>
|
||||||
<component name="ChangeListSynchronizer" />
|
<component name="ChangeListSynchronizer" />
|
||||||
|
@ -132,7 +136,16 @@
|
||||||
<component name="FavoritesManager">
|
<component name="FavoritesManager">
|
||||||
<favorites_list name="mobibot" />
|
<favorites_list name="mobibot" />
|
||||||
</component>
|
</component>
|
||||||
<component name="FavoritesProjectViewPane" />
|
<component name="FavoritesProjectViewPane">
|
||||||
|
<subPane subId="mobibot">
|
||||||
|
<PATH>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.favoritesTreeView.FavoritesTreeNodeDescriptor" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
</PATH>
|
||||||
|
</subPane>
|
||||||
|
</component>
|
||||||
<component name="FavoritesViewImpl">
|
<component name="FavoritesViewImpl">
|
||||||
<favorites_list name="mobibot">
|
<favorites_list name="mobibot">
|
||||||
<option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
|
<option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
|
||||||
|
@ -148,10 +161,19 @@
|
||||||
</component>
|
</component>
|
||||||
<component name="FileEditorManager">
|
<component name="FileEditorManager">
|
||||||
<leaf>
|
<leaf>
|
||||||
<file leaf-file-name="Mobibot.java" pinned="false" current="true" current-in-tab="true">
|
<file leaf-file-name="Mobibot.java" pinned="false" current="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/Mobibot.java">
|
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/Mobibot.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="1972" column="24" selection-start="47849" selection-end="47849" vertical-scroll-proportion="0.33333334">
|
<state line="715" column="56" selection-start="17568" selection-end="17568" vertical-scroll-proportion="0.3677483">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
</file>
|
||||||
|
<file leaf-file-name="Jaiku.java" pinned="false" current="true" current-in-tab="true">
|
||||||
|
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/Jaiku.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="83" column="25" selection-start="1610" selection-end="1610" vertical-scroll-proportion="0.6647287">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
|
@ -160,16 +182,7 @@
|
||||||
<file leaf-file-name="GoogleSearch.java" pinned="false" current="false" current-in-tab="false">
|
<file leaf-file-name="GoogleSearch.java" pinned="false" current="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/GoogleSearch.java">
|
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/GoogleSearch.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="54" column="13" selection-start="2041" selection-end="2041" vertical-scroll-proportion="0.25073746">
|
<state line="54" column="49" selection-start="2053" selection-end="2073" vertical-scroll-proportion="0.01671583">
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
</file>
|
|
||||||
<file leaf-file-name="FeedReader.java" pinned="false" current="false" current-in-tab="false">
|
|
||||||
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/FeedReader.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="59" column="13" selection-start="2216" selection-end="2216" vertical-scroll-proportion="0.24709302">
|
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
|
@ -178,7 +191,7 @@
|
||||||
<file leaf-file-name="DeliciousPoster.java" pinned="false" current="false" current-in-tab="false">
|
<file leaf-file-name="DeliciousPoster.java" pinned="false" current="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/DeliciousPoster.java">
|
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/DeliciousPoster.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="50" column="13" selection-start="1995" selection-end="1995" vertical-scroll-proportion="0.24709302">
|
<state line="50" column="13" selection-start="1995" selection-end="1995" vertical-scroll-proportion="0.016472869">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
|
@ -187,7 +200,7 @@
|
||||||
<file leaf-file-name="CurrencyConverter.java" pinned="false" current="false" current-in-tab="false">
|
<file leaf-file-name="CurrencyConverter.java" pinned="false" current="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/CurrencyConverter.java">
|
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/CurrencyConverter.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="63" column="13" selection-start="2150" selection-end="2150" vertical-scroll-proportion="0.24709302">
|
<state line="63" column="13" selection-start="2150" selection-end="2150" vertical-scroll-proportion="0.016472869">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
|
@ -196,7 +209,7 @@
|
||||||
<file leaf-file-name="StockQuote.java" pinned="false" current="false" current-in-tab="false">
|
<file leaf-file-name="StockQuote.java" pinned="false" current="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/StockQuote.java">
|
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/StockQuote.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="52" column="13" selection-start="2029" selection-end="2029" vertical-scroll-proportion="0.23062016">
|
<state line="52" column="13" selection-start="2029" selection-end="2029" vertical-scroll-proportion="0.016472869">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
|
@ -205,7 +218,7 @@
|
||||||
<file leaf-file-name="SwingWorker.java" pinned="false" current="false" current-in-tab="false">
|
<file leaf-file-name="SwingWorker.java" pinned="false" current="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/SwingWorker.java">
|
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/SwingWorker.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="16" column="22" selection-start="536" selection-end="536" vertical-scroll-proportion="0.2635659">
|
<state line="16" column="22" selection-start="536" selection-end="536" vertical-scroll-proportion="0.016472869">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
|
@ -214,7 +227,7 @@
|
||||||
<file leaf-file-name="Weather.java" pinned="false" current="false" current-in-tab="false">
|
<file leaf-file-name="Weather.java" pinned="false" current="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/Weather.java">
|
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/Weather.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="54" column="13" selection-start="2110" selection-end="2110" vertical-scroll-proportion="0.21414728">
|
<state line="54" column="13" selection-start="2110" selection-end="2110" vertical-scroll-proportion="0.016472869">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
|
@ -223,7 +236,7 @@
|
||||||
<file leaf-file-name="EntryLink.java" pinned="false" current="false" current-in-tab="false">
|
<file leaf-file-name="EntryLink.java" pinned="false" current="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/EntryLink.java">
|
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/EntryLink.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="53" column="13" selection-start="2001" selection-end="2001" vertical-scroll-proportion="0.23062016">
|
<state line="53" column="13" selection-start="2001" selection-end="2001" vertical-scroll-proportion="0.016472869">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
|
@ -232,7 +245,7 @@
|
||||||
<file leaf-file-name="EntryComment.java" pinned="false" current="false" current-in-tab="false">
|
<file leaf-file-name="EntryComment.java" pinned="false" current="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/EntryComment.java">
|
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/EntryComment.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="53" column="13" selection-start="2016" selection-end="2016" vertical-scroll-proportion="0.24709302">
|
<state line="53" column="13" selection-start="2016" selection-end="2016" vertical-scroll-proportion="0.016472869">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
|
@ -292,10 +305,6 @@
|
||||||
<option name="myItemId" value="mobibot" />
|
<option name="myItemId" value="mobibot" />
|
||||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewModuleNode" />
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewModuleNode" />
|
||||||
</PATH_ELEMENT>
|
</PATH_ELEMENT>
|
||||||
<PATH_ELEMENT>
|
|
||||||
<option name="myItemId" value="Libraries" />
|
|
||||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewLibrariesNode" />
|
|
||||||
</PATH_ELEMENT>
|
|
||||||
</PATH>
|
</PATH>
|
||||||
<PATH>
|
<PATH>
|
||||||
<PATH_ELEMENT>
|
<PATH_ELEMENT>
|
||||||
|
@ -378,7 +387,7 @@
|
||||||
<showLibraryContents />
|
<showLibraryContents />
|
||||||
<hideEmptyPackages />
|
<hideEmptyPackages />
|
||||||
<abbreviatePackageNames />
|
<abbreviatePackageNames />
|
||||||
<showStructure PackagesPane="false" Scope="false" ProjectPane="false" />
|
<showStructure Favorites="false" PackagesPane="false" Scope="false" ProjectPane="false" />
|
||||||
<autoscrollToSource />
|
<autoscrollToSource />
|
||||||
<autoscrollFromSource />
|
<autoscrollFromSource />
|
||||||
<sortByType />
|
<sortByType />
|
||||||
|
@ -461,7 +470,7 @@
|
||||||
<option name="showLabels" value="true" />
|
<option name="showLabels" value="true" />
|
||||||
</component>
|
</component>
|
||||||
<component name="RestoreUpdateTree" />
|
<component name="RestoreUpdateTree" />
|
||||||
<component name="RunManager" selected="Application.Mobibot">
|
<component name="RunManager" selected="Application.Jaiku">
|
||||||
<configuration default="true" type="Applet" factoryName="Applet">
|
<configuration default="true" type="Applet" factoryName="Applet">
|
||||||
<module name="" />
|
<module name="" />
|
||||||
<option name="MAIN_CLASS_NAME" />
|
<option name="MAIN_CLASS_NAME" />
|
||||||
|
@ -481,25 +490,6 @@
|
||||||
<option name="HOST" value="localhost" />
|
<option name="HOST" value="localhost" />
|
||||||
<option name="PORT" value="5005" />
|
<option name="PORT" value="5005" />
|
||||||
</configuration>
|
</configuration>
|
||||||
<configuration default="true" type="JUnit" factoryName="JUnit" enabled="false" merge="false">
|
|
||||||
<module name="" />
|
|
||||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
|
||||||
<option name="ALTERNATIVE_JRE_PATH" />
|
|
||||||
<option name="PACKAGE_NAME" />
|
|
||||||
<option name="MAIN_CLASS_NAME" />
|
|
||||||
<option name="METHOD_NAME" />
|
|
||||||
<option name="TEST_OBJECT" />
|
|
||||||
<option name="VM_PARAMETERS" />
|
|
||||||
<option name="PARAMETERS" />
|
|
||||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
|
||||||
<option name="ADDITIONAL_CLASS_PATH" />
|
|
||||||
<option name="TEST_SEARCH_SCOPE">
|
|
||||||
<value defaultName="wholeProject" />
|
|
||||||
</option>
|
|
||||||
<method>
|
|
||||||
<option name="Make" value="true" />
|
|
||||||
</method>
|
|
||||||
</configuration>
|
|
||||||
<configuration default="true" type="WebLogic Instance" factoryName="Local">
|
<configuration default="true" type="WebLogic Instance" factoryName="Local">
|
||||||
<option name="WORKING_DIRECTORY" />
|
<option name="WORKING_DIRECTORY" />
|
||||||
<option name="HOST" value="localhost" />
|
<option name="HOST" value="localhost" />
|
||||||
|
@ -529,6 +519,25 @@
|
||||||
<option name="Make" value="true" />
|
<option name="Make" value="true" />
|
||||||
</method>
|
</method>
|
||||||
</configuration>
|
</configuration>
|
||||||
|
<configuration default="true" type="JUnit" factoryName="JUnit" enabled="false" merge="false">
|
||||||
|
<module name="" />
|
||||||
|
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||||
|
<option name="ALTERNATIVE_JRE_PATH" />
|
||||||
|
<option name="PACKAGE_NAME" />
|
||||||
|
<option name="MAIN_CLASS_NAME" />
|
||||||
|
<option name="METHOD_NAME" />
|
||||||
|
<option name="TEST_OBJECT" />
|
||||||
|
<option name="VM_PARAMETERS" />
|
||||||
|
<option name="PARAMETERS" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||||
|
<option name="ADDITIONAL_CLASS_PATH" />
|
||||||
|
<option name="TEST_SEARCH_SCOPE">
|
||||||
|
<value defaultName="wholeProject" />
|
||||||
|
</option>
|
||||||
|
<method>
|
||||||
|
<option name="Make" value="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
<configuration default="false" name="Mobibot" type="Application" factoryName="Application" enabled="false" merge="false">
|
<configuration default="false" name="Mobibot" type="Application" factoryName="Application" enabled="false" merge="false">
|
||||||
<option name="MAIN_CLASS_NAME" value="net.thauvin.erik.mobibot.Mobibot" />
|
<option name="MAIN_CLASS_NAME" value="net.thauvin.erik.mobibot.Mobibot" />
|
||||||
<option name="VM_PARAMETERS" value="" />
|
<option name="VM_PARAMETERS" value="" />
|
||||||
|
@ -546,6 +555,24 @@
|
||||||
<RunnerSettings RunnerId="Run" />
|
<RunnerSettings RunnerId="Run" />
|
||||||
<ConfigurationWrapper RunnerId="Debug" />
|
<ConfigurationWrapper RunnerId="Debug" />
|
||||||
<ConfigurationWrapper RunnerId="Run" />
|
<ConfigurationWrapper RunnerId="Run" />
|
||||||
|
<method>
|
||||||
|
<option name="Make" value="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
<configuration default="false" name="Jaiku" type="Application" factoryName="Application" enabled="false" merge="false">
|
||||||
|
<option name="MAIN_CLASS_NAME" value="net.thauvin.erik.mobibot.Jaiku" />
|
||||||
|
<option name="VM_PARAMETERS" value="" />
|
||||||
|
<option name="PROGRAM_PARAMETERS" value="" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
|
||||||
|
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||||
|
<option name="ALTERNATIVE_JRE_PATH" value="" />
|
||||||
|
<option name="ENABLE_SWING_INSPECTOR" value="false" />
|
||||||
|
<module name="mobibot" />
|
||||||
|
<RunnerSettings RunnerId="Run" />
|
||||||
|
<ConfigurationWrapper RunnerId="Run" />
|
||||||
|
<method>
|
||||||
|
<option name="Make" value="true" />
|
||||||
|
</method>
|
||||||
</configuration>
|
</configuration>
|
||||||
</component>
|
</component>
|
||||||
<component name="ScopeViewComponent">
|
<component name="ScopeViewComponent">
|
||||||
|
@ -647,7 +674,7 @@
|
||||||
<window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
|
<window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
|
||||||
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.099162914" order="1" />
|
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.099162914" order="1" />
|
||||||
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="8" />
|
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="8" />
|
||||||
<window_info id="Run" active="false" anchor="bottom" auto_hide="true" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.39524516" order="2" x="22" y="277" width="980" height="213" />
|
<window_info id="Run" active="false" anchor="bottom" auto_hide="true" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.39500463" order="2" x="22" y="277" width="980" height="213" />
|
||||||
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" order="2" />
|
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" order="2" />
|
||||||
<window_info id="File View" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3296845" order="5" />
|
<window_info id="File View" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3296845" order="5" />
|
||||||
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" order="0" />
|
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" order="0" />
|
||||||
|
@ -752,7 +779,7 @@
|
||||||
</component>
|
</component>
|
||||||
<component name="com.intellij.openapi.roots.ui.configuration.projectRoot.ProjectRootMasterDetailsConfigurable" proportions="0.28625" version="1">
|
<component name="com.intellij.openapi.roots.ui.configuration.projectRoot.ProjectRootMasterDetailsConfigurable" proportions="0.28625" version="1">
|
||||||
<option name="myPlainMode" value="false" />
|
<option name="myPlainMode" value="false" />
|
||||||
<option name="myLastEditedConfigurable" value="Project 'mobibot'" />
|
<option name="myLastEditedConfigurable" value="mobibot" />
|
||||||
</component>
|
</component>
|
||||||
<component name="com.intellij.profile.ui.ErrorOptionsConfigurable" proportions="" version="1">
|
<component name="com.intellij.profile.ui.ErrorOptionsConfigurable" proportions="" version="1">
|
||||||
<option name="myLastEditedConfigurable" />
|
<option name="myLastEditedConfigurable" />
|
||||||
|
@ -772,72 +799,79 @@
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/GoogleSearch.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="54" column="13" selection-start="2041" selection-end="2041" vertical-scroll-proportion="0.25073746">
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/FeedReader.java">
|
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/FeedReader.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="59" column="13" selection-start="2216" selection-end="2216" vertical-scroll-proportion="0.24709302">
|
<state line="59" column="13" selection-start="2216" selection-end="2216" vertical-scroll-proportion="0.016472869">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/EntryLink.java">
|
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/GoogleSearch.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="53" column="13" selection-start="2001" selection-end="2001" vertical-scroll-proportion="0.23062016">
|
<state line="54" column="49" selection-start="2053" selection-end="2073" vertical-scroll-proportion="0.01671583">
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/EntryComment.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="53" column="13" selection-start="2016" selection-end="2016" vertical-scroll-proportion="0.24709302">
|
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/DeliciousPoster.java">
|
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/DeliciousPoster.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="50" column="13" selection-start="1995" selection-end="1995" vertical-scroll-proportion="0.24709302">
|
<state line="50" column="13" selection-start="1995" selection-end="1995" vertical-scroll-proportion="0.016472869">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/CurrencyConverter.java">
|
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/CurrencyConverter.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="63" column="13" selection-start="2150" selection-end="2150" vertical-scroll-proportion="0.24709302">
|
<state line="63" column="13" selection-start="2150" selection-end="2150" vertical-scroll-proportion="0.016472869">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/StockQuote.java">
|
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/StockQuote.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="52" column="13" selection-start="2029" selection-end="2029" vertical-scroll-proportion="0.23062016">
|
<state line="52" column="13" selection-start="2029" selection-end="2029" vertical-scroll-proportion="0.016472869">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/SwingWorker.java">
|
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/SwingWorker.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="16" column="22" selection-start="536" selection-end="536" vertical-scroll-proportion="0.2635659">
|
<state line="16" column="22" selection-start="536" selection-end="536" vertical-scroll-proportion="0.016472869">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/Weather.java">
|
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/Weather.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="54" column="13" selection-start="2110" selection-end="2110" vertical-scroll-proportion="0.21414728">
|
<state line="54" column="13" selection-start="2110" selection-end="2110" vertical-scroll-proportion="0.016472869">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/EntryLink.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="53" column="13" selection-start="2001" selection-end="2001" vertical-scroll-proportion="0.016472869">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/EntryComment.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="53" column="13" selection-start="2016" selection-end="2016" vertical-scroll-proportion="0.016472869">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/Mobibot.java">
|
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/Mobibot.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="1972" column="24" selection-start="47849" selection-end="47849" vertical-scroll-proportion="0.33333334">
|
<state line="715" column="56" selection-start="17568" selection-end="17568" vertical-scroll-proportion="0.3677483">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/src/net/thauvin/erik/mobibot/Jaiku.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="83" column="25" selection-start="1610" selection-end="1610" vertical-scroll-proportion="0.6647287">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
|
|
100
src/net/thauvin/erik/mobibot/Jaiku.java
Normal file
100
src/net/thauvin/erik/mobibot/Jaiku.java
Normal file
|
@ -0,0 +1,100 @@
|
||||||
|
/*
|
||||||
|
* @(#)Jaiku.java
|
||||||
|
*
|
||||||
|
* Copyright (C) 2007 Erik C. Thauvin
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* $Id$
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package net.thauvin.erik.mobibot;
|
||||||
|
|
||||||
|
import org.apache.xmlrpc.client.XmlRpcClient;
|
||||||
|
import org.apache.xmlrpc.client.XmlRpcClientConfigImpl;
|
||||||
|
|
||||||
|
import java.net.URL;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Inserts presence information into Jaiku.
|
||||||
|
*
|
||||||
|
* @author <a href="mailto:erik@thauvin.net">Erik C. Thauvin</a>
|
||||||
|
* @version $Revision$, $Date$
|
||||||
|
* @created Oct 11, 2007
|
||||||
|
* @since 1.0
|
||||||
|
*/
|
||||||
|
public class Jaiku implements Runnable
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The bot.
|
||||||
|
*/
|
||||||
|
private final Mobibot _bot;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Jaiku API key.
|
||||||
|
*/
|
||||||
|
private final String _key;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Jaiku user.
|
||||||
|
*/
|
||||||
|
private final String _user;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Jaiku message.
|
||||||
|
*/
|
||||||
|
private final String _message;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The nick of the person who sent the message.
|
||||||
|
*/
|
||||||
|
private final String _sender;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new Jaiku object.
|
||||||
|
*
|
||||||
|
* @param bot The bot.
|
||||||
|
* @param sender The nick of the person who sent the message.
|
||||||
|
* @param user The Jaiku user.
|
||||||
|
* @param key The Jaiku API key.
|
||||||
|
* @param message The Jaiku message.
|
||||||
|
*/
|
||||||
|
public Jaiku(Mobibot bot, String sender, String user, String key, String message)
|
||||||
|
{
|
||||||
|
_bot = bot;
|
||||||
|
_user = user;
|
||||||
|
_key = key;
|
||||||
|
_message = message;
|
||||||
|
_sender = sender;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final void run()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
final XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
|
||||||
|
config.setServerURL(new URL("http://api.jaiku.com/xmlrpc"));
|
||||||
|
|
||||||
|
final XmlRpcClient client = new XmlRpcClient();
|
||||||
|
client.setConfig(config);
|
||||||
|
|
||||||
|
final Map map = new HashMap(0);
|
||||||
|
map.put("user", _user);
|
||||||
|
map.put("personal_key", _key);
|
||||||
|
map.put("message", _bot.getChannel() + ' ' + _message + " (" + _sender + ')');
|
||||||
|
|
||||||
|
final List params = new ArrayList(0);
|
||||||
|
params.add(map);
|
||||||
|
|
||||||
|
client.execute("presence.send", params);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
_bot.getLogger().warn("Unable to post to Jaiku: " + _message, e);
|
||||||
|
_bot.send(_sender, "An error has occurred: " + e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -37,43 +37,34 @@
|
||||||
package net.thauvin.erik.mobibot;
|
package net.thauvin.erik.mobibot;
|
||||||
|
|
||||||
import com.primalworld.math.MathEvaluator;
|
import com.primalworld.math.MathEvaluator;
|
||||||
|
|
||||||
import com.sun.syndication.feed.synd.*;
|
import com.sun.syndication.feed.synd.*;
|
||||||
import com.sun.syndication.fetcher.impl.FeedFetcherCache;
|
import com.sun.syndication.fetcher.impl.FeedFetcherCache;
|
||||||
import com.sun.syndication.fetcher.impl.HashMapFeedInfoCache;
|
import com.sun.syndication.fetcher.impl.HashMapFeedInfoCache;
|
||||||
import com.sun.syndication.io.FeedException;
|
import com.sun.syndication.io.FeedException;
|
||||||
import com.sun.syndication.io.SyndFeedInput;
|
import com.sun.syndication.io.SyndFeedInput;
|
||||||
import com.sun.syndication.io.SyndFeedOutput;
|
import com.sun.syndication.io.SyndFeedOutput;
|
||||||
|
|
||||||
import org.apache.commons.cli.*;
|
import org.apache.commons.cli.*;
|
||||||
import org.apache.commons.logging.impl.Log4JLogger;
|
import org.apache.commons.logging.impl.Log4JLogger;
|
||||||
import org.apache.commons.net.WhoisClient;
|
import org.apache.commons.net.WhoisClient;
|
||||||
|
|
||||||
import org.apache.log4j.Level;
|
import org.apache.log4j.Level;
|
||||||
|
|
||||||
import org.jibble.pircbot.Colors;
|
import org.jibble.pircbot.Colors;
|
||||||
import org.jibble.pircbot.PircBot;
|
import org.jibble.pircbot.PircBot;
|
||||||
import org.jibble.pircbot.User;
|
import org.jibble.pircbot.User;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
|
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
import java.net.UnknownHostException;
|
import java.net.UnknownHostException;
|
||||||
|
|
||||||
import java.nio.channels.FileChannel;
|
import java.nio.channels.FileChannel;
|
||||||
|
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implements the #mobitopia bot.
|
* Implements the #mobitopia bot.
|
||||||
*
|
*
|
||||||
* @author Erik C. Thauvin
|
* @author Erik C. Thauvin
|
||||||
* @version $Revision$, $Date$
|
* @version $Revision$, $Date$
|
||||||
* @created Jan 31, 2004
|
* @created Jan 31, 2004
|
||||||
* @since 1.0
|
* @since 1.0
|
||||||
*/
|
*/
|
||||||
public class Mobibot extends PircBot
|
public class Mobibot extends PircBot
|
||||||
{
|
{
|
||||||
|
@ -85,11 +76,10 @@ public class Mobibot extends PircBot
|
||||||
/**
|
/**
|
||||||
* The info strings.
|
* The info strings.
|
||||||
*/
|
*/
|
||||||
private static final String[] INFO_STRS =
|
private static final String[] INFO_STRS = {"Mobibot v" + ReleaseInfo.getVersion() + '.'
|
||||||
{
|
+ ReleaseInfo.getBuildNumber()
|
||||||
"Mobibot v" + ReleaseInfo.getVersion() + '.' + ReleaseInfo.getBuildNumber() +
|
+ " by Erik C. Thauvin (erik@thauvin.net)",
|
||||||
" by Erik C. Thauvin (erik@thauvin.net)", "http://www.mobitopia.org/mobibot/"
|
"http://www.mobitopia.org/mobibot/"};
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Debug command line argument.
|
* Debug command line argument.
|
||||||
|
@ -196,6 +186,10 @@ public class Mobibot extends PircBot
|
||||||
*/
|
*/
|
||||||
private static final String GOOGLE_CMD = "google";
|
private static final String GOOGLE_CMD = "google";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Jaiku command.
|
||||||
|
*/
|
||||||
|
private static final String JAIKU_CMD = "jaiku";
|
||||||
/**
|
/**
|
||||||
* The math command.
|
* The math command.
|
||||||
*/
|
*/
|
||||||
|
@ -275,7 +269,7 @@ public class Mobibot extends PircBot
|
||||||
* The date/time format for the {@link #TIME_CMD time} command.
|
* The date/time format for the {@link #TIME_CMD time} command.
|
||||||
*/
|
*/
|
||||||
private static final SimpleDateFormat TIME_SDF =
|
private static final SimpleDateFormat TIME_SDF =
|
||||||
new SimpleDateFormat("'The time is 'HH:mm' on 'EEE, d MMM yyyy' in '");
|
new SimpleDateFormat("'The time is 'HH:mm' on 'EEE, d MMM yyyy' in '");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The beats (Internet Time) keyword.
|
* The beats (Internet Time) keyword.
|
||||||
|
@ -443,6 +437,16 @@ public class Mobibot extends PircBot
|
||||||
|
|
||||||
private String _googleKey = "";
|
private String _googleKey = "";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Jaiku API key.
|
||||||
|
*/
|
||||||
|
private String _jaikuKey = "";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Jaiku user.
|
||||||
|
*/
|
||||||
|
private String _jaikuUser = "";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The history/backlogs array.
|
* The history/backlogs array.
|
||||||
*/
|
*/
|
||||||
|
@ -453,7 +457,6 @@ public class Mobibot extends PircBot
|
||||||
*/
|
*/
|
||||||
private String _identMsg = "";
|
private String _identMsg = "";
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The ident nick.
|
* The ident nick.
|
||||||
*/
|
*/
|
||||||
|
@ -504,12 +507,11 @@ public class Mobibot extends PircBot
|
||||||
*/
|
*/
|
||||||
private String _weblogURL = "";
|
private String _weblogURL = "";
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new Mobibot object.
|
* Creates a new Mobibot object.
|
||||||
*
|
*
|
||||||
* @param server The server.
|
* @param server The server.
|
||||||
* @param port The port.
|
* @param port The port.
|
||||||
* @param channel The channel.
|
* @param channel The channel.
|
||||||
* @param logsDir The logs directory.
|
* @param logsDir The logs directory.
|
||||||
*/
|
*/
|
||||||
|
@ -565,7 +567,7 @@ public class Mobibot extends PircBot
|
||||||
/**
|
/**
|
||||||
* Returns true if the given string is valid.
|
* Returns true if the given string is valid.
|
||||||
*
|
*
|
||||||
* @param s The string to validate.
|
* @param s The string to validate.
|
||||||
*
|
*
|
||||||
* @return true if the string is non-empty and not null, false otherwise.
|
* @return true if the string is non-empty and not null, false otherwise.
|
||||||
*/
|
*/
|
||||||
|
@ -577,7 +579,7 @@ public class Mobibot extends PircBot
|
||||||
/**
|
/**
|
||||||
* The Truth Is Out There...
|
* The Truth Is Out There...
|
||||||
*
|
*
|
||||||
* @param args The command line arguments.
|
* @param args The command line arguments.
|
||||||
*
|
*
|
||||||
* @noinspection UseOfSystemOutOrSystemErr,ACCESS_STATIC_VIA_INSTANCE
|
* @noinspection UseOfSystemOutOrSystemErr,ACCESS_STATIC_VIA_INSTANCE
|
||||||
*/
|
*/
|
||||||
|
@ -586,10 +588,12 @@ public class Mobibot extends PircBot
|
||||||
// Setup the command line options
|
// Setup the command line options
|
||||||
final Options options = new Options();
|
final Options options = new Options();
|
||||||
options.addOption(HELP_ARG.substring(0, 1), HELP_ARG, false, "print this help message");
|
options.addOption(HELP_ARG.substring(0, 1), HELP_ARG, false, "print this help message");
|
||||||
options.addOption(DEBUG_ARG.substring(0, 1), DEBUG_ARG, false,
|
options.addOption(DEBUG_ARG.substring(0, 1),
|
||||||
"print debug & logging data directly to the console");
|
DEBUG_ARG,
|
||||||
|
false,
|
||||||
|
"print debug & logging data directly to the console");
|
||||||
options.addOption(OptionBuilder.withArgName("file").hasArg().withDescription("use alternate properties file")
|
options.addOption(OptionBuilder.withArgName("file").hasArg().withDescription("use alternate properties file")
|
||||||
.withLongOpt(PROPS_ARG).create(PROPS_ARG.substring(0, 1)));
|
.withLongOpt(PROPS_ARG).create(PROPS_ARG.substring(0, 1)));
|
||||||
|
|
||||||
// Parse the command line
|
// Parse the command line
|
||||||
final CommandLineParser parser = new PosixParser();
|
final CommandLineParser parser = new PosixParser();
|
||||||
|
@ -664,9 +668,8 @@ public class Mobibot extends PircBot
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
stdout =
|
stdout = new PrintStream(new FileOutputStream(
|
||||||
new PrintStream(new FileOutputStream(logsDir + channel.substring(1) + '.' + today() + ".log",
|
logsDir + channel.substring(1) + '.' + today() + ".log", true));
|
||||||
true));
|
|
||||||
}
|
}
|
||||||
catch (IOException e)
|
catch (IOException e)
|
||||||
{
|
{
|
||||||
|
@ -692,7 +695,6 @@ public class Mobibot extends PircBot
|
||||||
System.setErr(stderr);
|
System.setErr(stderr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Get the bot's properties
|
// Get the bot's properties
|
||||||
final String login = p.getProperty("login", nickname);
|
final String login = p.getProperty("login", nickname);
|
||||||
final String weblogURL = p.getProperty("weblog", "");
|
final String weblogURL = p.getProperty("weblog", "");
|
||||||
|
@ -709,6 +711,10 @@ public class Mobibot extends PircBot
|
||||||
final String dname = p.getProperty("delicious-user");
|
final String dname = p.getProperty("delicious-user");
|
||||||
final String dpwd = p.getProperty("delicious-pwd");
|
final String dpwd = p.getProperty("delicious-pwd");
|
||||||
|
|
||||||
|
// Get the Jaiku properties
|
||||||
|
final String jname = p.getProperty("jaiku-user");
|
||||||
|
final String jkey = p.getProperty("jaiku-key");
|
||||||
|
|
||||||
// Create the bot
|
// Create the bot
|
||||||
final Mobibot bot = new Mobibot(server, port, channel, logsDir);
|
final Mobibot bot = new Mobibot(server, port, channel, logsDir);
|
||||||
|
|
||||||
|
@ -735,13 +741,18 @@ public class Mobibot extends PircBot
|
||||||
// Set the Google key
|
// Set the Google key
|
||||||
bot.setGoogleKey(googleKey);
|
bot.setGoogleKey(googleKey);
|
||||||
|
|
||||||
|
|
||||||
if (isValidString(dname) && isValidString(dpwd))
|
if (isValidString(dname) && isValidString(dpwd))
|
||||||
{
|
{
|
||||||
// Set the del.icio.us authentication
|
// Set the del.icio.us authentication
|
||||||
bot.setDeliciousAuth(dname, dpwd);
|
bot.setDeliciousAuth(dname, dpwd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (isValidString(jname) && isValidString(jkey))
|
||||||
|
{
|
||||||
|
// Set the Jaiku authentication
|
||||||
|
bot.setJaikuAuth(jname, jkey);
|
||||||
|
}
|
||||||
|
|
||||||
// Set the tags
|
// Set the tags
|
||||||
bot.setTags(tags);
|
bot.setTags(tags);
|
||||||
|
|
||||||
|
@ -772,8 +783,8 @@ public class Mobibot extends PircBot
|
||||||
{
|
{
|
||||||
if (retries == MAX_RECONNECT)
|
if (retries == MAX_RECONNECT)
|
||||||
{
|
{
|
||||||
System.err.println("Unable to connect to " + server + " after " + MAX_RECONNECT +
|
System.err.println(
|
||||||
" retries.");
|
"Unable to connect to " + server + " after " + MAX_RECONNECT + " retries.");
|
||||||
e.printStackTrace(System.err);
|
e.printStackTrace(System.err);
|
||||||
System.exit(1);
|
System.exit(1);
|
||||||
}
|
}
|
||||||
|
@ -799,11 +810,10 @@ public class Mobibot extends PircBot
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Converts XML/XHTML entities to plain text.
|
* Converts XML/XHTML entities to plain text.
|
||||||
*
|
*
|
||||||
* @param str The string to unescape.
|
* @param str The string to unescape.
|
||||||
*
|
*
|
||||||
* @return The unescaped string.
|
* @return The unescaped string.
|
||||||
*/
|
*/
|
||||||
|
@ -833,7 +843,7 @@ public class Mobibot extends PircBot
|
||||||
* Sends an action to the channel.
|
* Sends an action to the channel.
|
||||||
*
|
*
|
||||||
* @param channel The channel.
|
* @param channel The channel.
|
||||||
* @param action The action.
|
* @param action The action.
|
||||||
*/
|
*/
|
||||||
public final void action(String channel, String action)
|
public final void action(String channel, String action)
|
||||||
{
|
{
|
||||||
|
@ -877,7 +887,7 @@ public class Mobibot extends PircBot
|
||||||
* Responds with the bot's help.
|
* Responds with the bot's help.
|
||||||
*
|
*
|
||||||
* @param sender The nick of the person who sent the private message.
|
* @param sender The nick of the person who sent the private message.
|
||||||
* @param topic The help topic, if any.
|
* @param topic The help topic, if any.
|
||||||
*/
|
*/
|
||||||
public final void helpResponse(String sender, String topic)
|
public final void helpResponse(String sender, String topic)
|
||||||
{
|
{
|
||||||
|
@ -919,6 +929,11 @@ public class Mobibot extends PircBot
|
||||||
send(sender, "To search Google:");
|
send(sender, "To search Google:");
|
||||||
send(sender, DOUBLE_INDENT + bold(getNick() + ": " + GOOGLE_CMD + " <query>"));
|
send(sender, DOUBLE_INDENT + bold(getNick() + ": " + GOOGLE_CMD + " <query>"));
|
||||||
}
|
}
|
||||||
|
else if (lcTopic.endsWith(JAIKU_CMD))
|
||||||
|
{
|
||||||
|
send(sender, "To post to Jaiku:");
|
||||||
|
send(sender, DOUBLE_INDENT + bold(getNick() + ": " + JAIKU_CMD + " <message>"));
|
||||||
|
}
|
||||||
else if (lcTopic.endsWith(RECAP_CMD))
|
else if (lcTopic.endsWith(RECAP_CMD))
|
||||||
{
|
{
|
||||||
send(sender, "To list the last 10 public channel messages:");
|
send(sender, "To list the last 10 public channel messages:");
|
||||||
|
@ -1030,15 +1045,16 @@ public class Mobibot extends PircBot
|
||||||
send(sender, "For more information on specific command, type:");
|
send(sender, "For more information on specific command, type:");
|
||||||
send(sender, DOUBLE_INDENT + bold(getNick() + ": " + HELP_CMD + " <command>"));
|
send(sender, DOUBLE_INDENT + bold(getNick() + ": " + HELP_CMD + " <command>"));
|
||||||
send(sender, "The commands are:");
|
send(sender, "The commands are:");
|
||||||
send(sender, DOUBLE_INDENT +
|
send(sender,
|
||||||
bold(CALC_CMD + ' ' + CURRENCY_CMD + ' ' + DICE_CMD + ' ' + GOOGLE_CMD + ' ' + IGNORE_CMD));
|
DOUBLE_INDENT + bold(
|
||||||
send(sender, DOUBLE_INDENT +
|
CALC_CMD + ' ' + CURRENCY_CMD + ' ' + DICE_CMD + ' ' + GOOGLE_CMD + ' ' + IGNORE_CMD));
|
||||||
bold(INFO_CMD + ' ' + getChannel().substring(1) + ' ' + LOOKUP_CMD + ' ' + HELP_POSTING_KEYWORD + ' ' +
|
send(sender,
|
||||||
RECAP_CMD));
|
DOUBLE_INDENT + bold(INFO_CMD + ' ' + getChannel().substring(1) + ' ' + LOOKUP_CMD + ' '
|
||||||
send(sender, DOUBLE_INDENT +
|
+ HELP_POSTING_KEYWORD + ' ' + RECAP_CMD));
|
||||||
bold(SPELL_CMD + ' ' + STOCK_CMD + ' ' + HELP_TAGS_KEYWORD + ' ' + TIME_CMD + ' ' + USERS_CMD + ' ' +
|
send(sender,
|
||||||
VIEW_CMD));
|
DOUBLE_INDENT + bold(SPELL_CMD + ' ' + STOCK_CMD + ' ' + HELP_TAGS_KEYWORD + ' ' + TIME_CMD + ' '
|
||||||
send(sender, DOUBLE_INDENT + bold(WEATHER_CMD));
|
+ USERS_CMD + ' ' + VIEW_CMD));
|
||||||
|
send(sender, DOUBLE_INDENT + bold(JAIKU_CMD + ' ' + WEATHER_CMD));
|
||||||
|
|
||||||
if (isOp(sender))
|
if (isOp(sender))
|
||||||
{
|
{
|
||||||
|
@ -1051,7 +1067,7 @@ public class Mobibot extends PircBot
|
||||||
/**
|
/**
|
||||||
* Sends a private notice.
|
* Sends a private notice.
|
||||||
*
|
*
|
||||||
* @param sender The nick of the person who sent the message.
|
* @param sender The nick of the person who sent the message.
|
||||||
* @param message The actual message.
|
* @param message The actual message.
|
||||||
*/
|
*/
|
||||||
public final void send(String sender, String message)
|
public final void send(String sender, String message)
|
||||||
|
@ -1062,8 +1078,8 @@ public class Mobibot extends PircBot
|
||||||
/**
|
/**
|
||||||
* Sends a private message or notice.
|
* Sends a private message or notice.
|
||||||
*
|
*
|
||||||
* @param sender The nick of the person who sent the message.
|
* @param sender The nick of the person who sent the message.
|
||||||
* @param message The actual message.
|
* @param message The actual message.
|
||||||
* @param isPrivate Set to true if the response should be a private message, otherwise a notice is sent.
|
* @param isPrivate Set to true if the response should be a private message, otherwise a notice is sent.
|
||||||
*/
|
*/
|
||||||
public final void send(String sender, String message, boolean isPrivate)
|
public final void send(String sender, String message, boolean isPrivate)
|
||||||
|
@ -1094,11 +1110,11 @@ public class Mobibot extends PircBot
|
||||||
/**
|
/**
|
||||||
* This method is called whenever an ACTION is sent from a user.
|
* This method is called whenever an ACTION is sent from a user.
|
||||||
*
|
*
|
||||||
* @param sender The nick of the person who sent the action.
|
* @param sender The nick of the person who sent the action.
|
||||||
* @param login The login of the person who sent the action.
|
* @param login The login of the person who sent the action.
|
||||||
* @param hostname The hostname of the person who sent the action.
|
* @param hostname The hostname of the person who sent the action.
|
||||||
* @param target The target of the action, be it a channel or our nick.
|
* @param target The target of the action, be it a channel or our nick.
|
||||||
* @param action The action carried out by the user.
|
* @param action The action carried out by the user.
|
||||||
*/
|
*/
|
||||||
protected final void onAction(String sender, String login, String hostname, String target, String action)
|
protected final void onAction(String sender, String login, String hostname, String target, String action)
|
||||||
{
|
{
|
||||||
|
@ -1145,8 +1161,9 @@ public class Mobibot extends PircBot
|
||||||
{
|
{
|
||||||
if (_logger.isDebugEnabled())
|
if (_logger.isDebugEnabled())
|
||||||
{
|
{
|
||||||
_logger.debug("Unable to reconnect to " + _ircServer + " after " + MAX_RECONNECT +
|
_logger.debug(
|
||||||
" retries.", ex);
|
"Unable to reconnect to " + _ircServer + " after " + MAX_RECONNECT + " retries.",
|
||||||
|
ex);
|
||||||
}
|
}
|
||||||
|
|
||||||
e.printStackTrace(System.err);
|
e.printStackTrace(System.err);
|
||||||
|
@ -1174,11 +1191,11 @@ public class Mobibot extends PircBot
|
||||||
/**
|
/**
|
||||||
* This method is called whenever a message is sent to a channel.
|
* This method is called whenever a message is sent to a channel.
|
||||||
*
|
*
|
||||||
* @param channel The channel to which the message was sent.
|
* @param channel The channel to which the message was sent.
|
||||||
* @param sender The nick of the person who sent the message.
|
* @param sender The nick of the person who sent the message.
|
||||||
* @param login The login of the person who sent the message.
|
* @param login The login of the person who sent the message.
|
||||||
* @param hostname The hostname of the person who sent the message.
|
* @param hostname The hostname of the person who sent the message.
|
||||||
* @param message The actual message sent.
|
* @param message The actual message sent.
|
||||||
*/
|
*/
|
||||||
protected final void onMessage(String channel, String sender, String login, String hostname, String message)
|
protected final void onMessage(String channel, String sender, String login, String hostname, String message)
|
||||||
{
|
{
|
||||||
|
@ -1222,9 +1239,13 @@ public class Mobibot extends PircBot
|
||||||
|
|
||||||
if (tagSep != -1)
|
if (tagSep != -1)
|
||||||
{
|
{
|
||||||
_entries.add(new EntryLink(cmd, title.substring(0, tagSep), sender, login, channel,
|
_entries.add(new EntryLink(cmd,
|
||||||
(_defaultTags + ' ' +
|
title.substring(0, tagSep),
|
||||||
title.substring(tagSep + TAGS_MARKER.length()))));
|
sender,
|
||||||
|
login,
|
||||||
|
channel,
|
||||||
|
(_defaultTags + ' ' + title
|
||||||
|
.substring(tagSep + TAGS_MARKER.length()))));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1287,14 +1308,18 @@ public class Mobibot extends PircBot
|
||||||
}
|
}
|
||||||
else if (cmd.equals(PING_CMD))
|
else if (cmd.equals(PING_CMD))
|
||||||
{
|
{
|
||||||
final String[] pings =
|
final String[] pings = {"is barely alive.",
|
||||||
{
|
"is trying to stay awake.",
|
||||||
"is barely alive.", "is trying to stay awake.", "has gone fishing.",
|
"has gone fishing.",
|
||||||
"is somewhere over the rainbow.", "has fallen and can't get up.",
|
"is somewhere over the rainbow.",
|
||||||
"is running. You better go chase it.", "has just spontantiously combusted.",
|
"has fallen and can't get up.",
|
||||||
"is talking to itself... don't interrupt. That's rude.", "is bartending at an AA meeting.",
|
"is running. You better go chase it.",
|
||||||
"is hibernating.", "is saving energy: apathetic mode activated.", "is busy. Go away!"
|
"has just spontantiously combusted.",
|
||||||
};
|
"is talking to itself... don't interrupt. That's rude.",
|
||||||
|
"is bartending at an AA meeting.",
|
||||||
|
"is hibernating.",
|
||||||
|
"is saving energy: apathetic mode activated.",
|
||||||
|
"is busy. Go away!"};
|
||||||
|
|
||||||
final Random r = new Random();
|
final Random r = new Random();
|
||||||
|
|
||||||
|
@ -1362,6 +1387,10 @@ public class Mobibot extends PircBot
|
||||||
{
|
{
|
||||||
googleResponse(sender, args);
|
googleResponse(sender, args);
|
||||||
}
|
}
|
||||||
|
else if (cmd.startsWith(JAIKU_CMD))
|
||||||
|
{
|
||||||
|
jaikuResponse(sender, args);
|
||||||
|
}
|
||||||
else if (cmd.startsWith(SPELL_CMD))
|
else if (cmd.startsWith(SPELL_CMD))
|
||||||
{
|
{
|
||||||
spellResponse(sender, args);
|
spellResponse(sender, args);
|
||||||
|
@ -1704,10 +1733,10 @@ public class Mobibot extends PircBot
|
||||||
/**
|
/**
|
||||||
* This method is called whenever a private message is sent to the bot.
|
* This method is called whenever a private message is sent to the bot.
|
||||||
*
|
*
|
||||||
* @param sender The nick of the person who sent the private message.
|
* @param sender The nick of the person who sent the private message.
|
||||||
* @param login The login of the person who sent the private message.
|
* @param login The login of the person who sent the private message.
|
||||||
* @param hostname The hostname of the person who sent the private message.
|
* @param hostname The hostname of the person who sent the private message.
|
||||||
* @param message The actual message sent.
|
* @param message The actual message sent.
|
||||||
*
|
*
|
||||||
* @noinspection UseOfSystemOutOrSystemErr
|
* @noinspection UseOfSystemOutOrSystemErr
|
||||||
*/
|
*/
|
||||||
|
@ -1874,7 +1903,7 @@ public class Mobibot extends PircBot
|
||||||
/**
|
/**
|
||||||
* Makes the given string bold.
|
* Makes the given string bold.
|
||||||
*
|
*
|
||||||
* @param s The string.
|
* @param s The string.
|
||||||
*
|
*
|
||||||
* @return The bold string.
|
* @return The bold string.
|
||||||
*/
|
*/
|
||||||
|
@ -1886,27 +1915,27 @@ public class Mobibot extends PircBot
|
||||||
/**
|
/**
|
||||||
* Builds an entry's comment for display on the channel.
|
* Builds an entry's comment for display on the channel.
|
||||||
*
|
*
|
||||||
* @param entryIndex The entry's index.
|
* @param entryIndex The entry's index.
|
||||||
* @param commentIndex The comment's index.
|
* @param commentIndex The comment's index.
|
||||||
* @param comment The {@link EntryComment comment} object.
|
* @param comment The {@link EntryComment comment} object.
|
||||||
*
|
*
|
||||||
* @return The entry's comment.
|
* @return The entry's comment.
|
||||||
*/
|
*/
|
||||||
private static String buildComment(int entryIndex, int commentIndex, EntryComment comment)
|
private static String buildComment(int entryIndex, int commentIndex, EntryComment comment)
|
||||||
{
|
{
|
||||||
return (LINK_CMD + (entryIndex + 1) + '.' + (commentIndex + 1) + ": [" + comment.getNick() + "] " +
|
return (LINK_CMD + (entryIndex + 1) + '.' + (commentIndex + 1) + ": [" + comment.getNick() + "] " + comment
|
||||||
comment.getComment());
|
.getComment());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Builds an entry's link for display on the channel.
|
* Builds an entry's link for display on the channel.
|
||||||
*
|
*
|
||||||
* @param index The entry's index.
|
* @param index The entry's index.
|
||||||
* @param entry The {@link EntryLink entry} object.
|
* @param entry The {@link EntryLink entry} object.
|
||||||
*
|
*
|
||||||
* @return The entry's link.
|
* @return The entry's link.
|
||||||
*
|
*
|
||||||
* @see #buildLink(int, EntryLink, boolean)
|
* @see #buildLink(int,EntryLink,boolean)
|
||||||
*/
|
*/
|
||||||
private static String buildLink(int index, EntryLink entry)
|
private static String buildLink(int index, EntryLink entry)
|
||||||
{
|
{
|
||||||
|
@ -1916,9 +1945,9 @@ public class Mobibot extends PircBot
|
||||||
/**
|
/**
|
||||||
* Builds an entry's link for display on the channel.
|
* Builds an entry's link for display on the channel.
|
||||||
*
|
*
|
||||||
* @param index The entry's index.
|
* @param index The entry's index.
|
||||||
* @param entry The {@link EntryLink entry} object.
|
* @param entry The {@link EntryLink entry} object.
|
||||||
* @param isView Set to true to display the number of comments.
|
* @param isView Set to true to display the number of comments.
|
||||||
*
|
*
|
||||||
* @return The entry's link.
|
* @return The entry's link.
|
||||||
*/
|
*/
|
||||||
|
@ -1952,8 +1981,8 @@ public class Mobibot extends PircBot
|
||||||
/**
|
/**
|
||||||
* Build an entry's tags/categories for diplay on the channel.
|
* Build an entry's tags/categories for diplay on the channel.
|
||||||
*
|
*
|
||||||
* @param entryIndex The entry's index.
|
* @param entryIndex The entry's index.
|
||||||
* @param entry The {@link EntryLink entry} object.
|
* @param entry The {@link EntryLink entry} object.
|
||||||
*
|
*
|
||||||
* @return The entry's tags.
|
* @return The entry's tags.
|
||||||
*/
|
*/
|
||||||
|
@ -1965,13 +1994,13 @@ public class Mobibot extends PircBot
|
||||||
/**
|
/**
|
||||||
* Copies a file.
|
* Copies a file.
|
||||||
*
|
*
|
||||||
* @param in The source file.
|
* @param in The source file.
|
||||||
* @param out The destination file.
|
* @param out The destination file.
|
||||||
*
|
*
|
||||||
* @throws IOException If the file could not be copied.
|
* @throws IOException If the file could not be copied.
|
||||||
*/
|
*/
|
||||||
private static void copyFile(File in, File out)
|
private static void copyFile(File in, File out)
|
||||||
throws IOException
|
throws IOException
|
||||||
{
|
{
|
||||||
FileChannel inChannel = null;
|
FileChannel inChannel = null;
|
||||||
FileChannel outChannel = null;
|
FileChannel outChannel = null;
|
||||||
|
@ -2029,8 +2058,8 @@ public class Mobibot extends PircBot
|
||||||
/**
|
/**
|
||||||
* Ensures that the given location (File/URL) has a trailing slash (<code>/</code>) to indicate a directory.
|
* Ensures that the given location (File/URL) has a trailing slash (<code>/</code>) to indicate a directory.
|
||||||
*
|
*
|
||||||
* @param location The File or URL location.
|
* @param location The File or URL location.
|
||||||
* @param isUrl Set to true if the location is a URL
|
* @param isUrl Set to true if the location is a URL
|
||||||
*
|
*
|
||||||
* @return The location ending with a slash.
|
* @return The location ending with a slash.
|
||||||
*/
|
*/
|
||||||
|
@ -2063,8 +2092,8 @@ public class Mobibot extends PircBot
|
||||||
/**
|
/**
|
||||||
* Returns the port.
|
* Returns the port.
|
||||||
*
|
*
|
||||||
* @param property The port property value.
|
* @param property The port property value.
|
||||||
* @param defaultValue The default value.
|
* @param defaultValue The default value.
|
||||||
*
|
*
|
||||||
* @return The port or default value if invalid.
|
* @return The port or default value if invalid.
|
||||||
*/
|
*/
|
||||||
|
@ -2127,14 +2156,14 @@ public class Mobibot extends PircBot
|
||||||
/**
|
/**
|
||||||
* Performs a DNS lookup on the specified query.
|
* Performs a DNS lookup on the specified query.
|
||||||
*
|
*
|
||||||
* @param query The IP address or hostname.
|
* @param query The IP address or hostname.
|
||||||
*
|
*
|
||||||
* @return The lookup query result string.
|
* @return The lookup query result string.
|
||||||
*
|
*
|
||||||
* @exception UnknownHostException If the host is unknown.
|
* @throws UnknownHostException If the host is unknown.
|
||||||
*/
|
*/
|
||||||
private static String lookup(String query)
|
private static String lookup(String query)
|
||||||
throws UnknownHostException
|
throws UnknownHostException
|
||||||
{
|
{
|
||||||
final StringBuffer buffer = new StringBuffer("");
|
final StringBuffer buffer = new StringBuffer("");
|
||||||
|
|
||||||
|
@ -2168,18 +2197,17 @@ public class Mobibot extends PircBot
|
||||||
return buffer.toString();
|
return buffer.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Stores the last 10 public messages and actions.
|
* Stores the last 10 public messages and actions.
|
||||||
*
|
*
|
||||||
* @param sender The nick of the person who sent the private message.
|
* @param sender The nick of the person who sent the private message.
|
||||||
* @param message The actual message sent.
|
* @param message The actual message sent.
|
||||||
* @param isAction Set to true if the message is an action.
|
* @param isAction Set to true if the message is an action.
|
||||||
*/
|
*/
|
||||||
private static void recap(String sender, String message, boolean isAction)
|
private static void recap(String sender, String message, boolean isAction)
|
||||||
{
|
{
|
||||||
RECAP_ARRAY.add(HHMM_SDF.format(Calendar.getInstance().getTime()) + " -> " + sender + (isAction ? " " : ": ") +
|
RECAP_ARRAY.add(HHMM_SDF.format(Calendar.getInstance().getTime()) + " -> " + sender + (isAction ? " " : ": ")
|
||||||
message);
|
+ message);
|
||||||
|
|
||||||
if (RECAP_ARRAY.size() > MAX_RECAP)
|
if (RECAP_ARRAY.size() > MAX_RECAP)
|
||||||
{
|
{
|
||||||
|
@ -2217,14 +2245,14 @@ public class Mobibot extends PircBot
|
||||||
/**
|
/**
|
||||||
* Performs a whois IP query.
|
* Performs a whois IP query.
|
||||||
*
|
*
|
||||||
* @param query The IP address.
|
* @param query The IP address.
|
||||||
*
|
*
|
||||||
* @return The IP whois data, if any.
|
* @return The IP whois data, if any.
|
||||||
*
|
*
|
||||||
* @throws IOException If a connection error occurs.
|
* @throws IOException If a connection error occurs.
|
||||||
*/
|
*/
|
||||||
private static String[] whois(String query)
|
private static String[] whois(String query)
|
||||||
throws IOException
|
throws IOException
|
||||||
{
|
{
|
||||||
final WhoisClient whois = new WhoisClient();
|
final WhoisClient whois = new WhoisClient();
|
||||||
String[] lines;
|
String[] lines;
|
||||||
|
@ -2266,7 +2294,7 @@ public class Mobibot extends PircBot
|
||||||
/**
|
/**
|
||||||
* Returns the index of the specified duplicate entry, if any.
|
* Returns the index of the specified duplicate entry, if any.
|
||||||
*
|
*
|
||||||
* @param link The link.
|
* @param link The link.
|
||||||
*
|
*
|
||||||
* @return The index or -1 if none.
|
* @return The index or -1 if none.
|
||||||
*/
|
*/
|
||||||
|
@ -2304,7 +2332,8 @@ public class Mobibot extends PircBot
|
||||||
|
|
||||||
if (Character.isLetter(c))
|
if (Character.isLetter(c))
|
||||||
{
|
{
|
||||||
buff.append('[').append(String.valueOf(c).toLowerCase()).append(String.valueOf(c).toUpperCase()).append(']');
|
buff.append('[').append(String.valueOf(c).toLowerCase()).append(String.valueOf(c).toUpperCase())
|
||||||
|
.append(']');
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -2329,7 +2358,7 @@ public class Mobibot extends PircBot
|
||||||
* Responds with the Google search results for the specified query.
|
* Responds with the Google search results for the specified query.
|
||||||
*
|
*
|
||||||
* @param sender The nick of the person who sent the private message.
|
* @param sender The nick of the person who sent the private message.
|
||||||
* @param query The Google query to execute.
|
* @param query The Google query to execute.
|
||||||
*/
|
*/
|
||||||
private void googleResponse(String sender, String query)
|
private void googleResponse(String sender, String query)
|
||||||
{
|
{
|
||||||
|
@ -2350,10 +2379,35 @@ public class Mobibot extends PircBot
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Posts a message to Jaiku.
|
||||||
|
*
|
||||||
|
* @param sender The sender's nick.
|
||||||
|
* @param message The message.
|
||||||
|
*/
|
||||||
|
private void jaikuResponse(String sender, String message)
|
||||||
|
{
|
||||||
|
if (isValidString(_jaikuKey) && isValidString(_jaikuUser))
|
||||||
|
{
|
||||||
|
if (message.length() > 0)
|
||||||
|
{
|
||||||
|
new Thread(new Jaiku(this, sender, _jaikuUser, _jaikuKey, message)).start();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
helpResponse(sender, JAIKU_CMD);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
send(sender, "The Jaiku posting facility is disabled.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Responds with the bot's information.
|
* Responds with the bot's information.
|
||||||
*
|
*
|
||||||
* @param sender The nick of the person who sent the message.
|
* @param sender The nick of the person who sent the message.
|
||||||
* @param isPrivate Set to true is the response should be send as a private message.
|
* @param isPrivate Set to true is the response should be send as a private message.
|
||||||
*/
|
*/
|
||||||
private void infoResponse(String sender, boolean isPrivate)
|
private void infoResponse(String sender, boolean isPrivate)
|
||||||
|
@ -2372,14 +2426,16 @@ public class Mobibot extends PircBot
|
||||||
timeInSeconds -= (hours * 3600L);
|
timeInSeconds -= (hours * 3600L);
|
||||||
|
|
||||||
final long minutes = timeInSeconds / 60L;
|
final long minutes = timeInSeconds / 60L;
|
||||||
send(sender, "Uptime: " + days + " day(s) " + hours + " hour(s) " + minutes + " minute(s) [Entries: " +
|
send(sender,
|
||||||
_entries.size() + ']', isPrivate);
|
"Uptime: " + days + " day(s) " + hours + " hour(s) " + minutes + " minute(s) [Entries: " + _entries.size()
|
||||||
|
+ ']',
|
||||||
|
isPrivate);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determines whether the specified nick should be ignored.
|
* Determines whether the specified nick should be ignored.
|
||||||
*
|
*
|
||||||
* @param nick The nick.
|
* @param nick The nick.
|
||||||
*
|
*
|
||||||
* @return <code>true</code> if the nick should be ignored, <code>false</code> otherwise.
|
* @return <code>true</code> if the nick should be ignored, <code>false</code> otherwise.
|
||||||
*/
|
*/
|
||||||
|
@ -2396,7 +2452,7 @@ public class Mobibot extends PircBot
|
||||||
/**
|
/**
|
||||||
* Returns true is the specified sender is an Op on the {@link #_channel channel}.
|
* Returns true is the specified sender is an Op on the {@link #_channel channel}.
|
||||||
*
|
*
|
||||||
* @param sender The sender.
|
* @param sender The sender.
|
||||||
*
|
*
|
||||||
* @return true, if the sender is an Op.
|
* @return true, if the sender is an Op.
|
||||||
*/
|
*/
|
||||||
|
@ -2422,13 +2478,13 @@ public class Mobibot extends PircBot
|
||||||
/**
|
/**
|
||||||
* Loads the backlogs.
|
* Loads the backlogs.
|
||||||
*
|
*
|
||||||
* @param file The file containing the backlogs.
|
* @param file The file containing the backlogs.
|
||||||
*
|
*
|
||||||
* @throws FileNotFoundException If the file was not found.
|
* @throws FileNotFoundException If the file was not found.
|
||||||
* @throws FeedException If an error occurred while reading the feed.
|
* @throws FeedException If an error occurred while reading the feed.
|
||||||
*/
|
*/
|
||||||
private void loadBacklogs(String file)
|
private void loadBacklogs(String file)
|
||||||
throws FileNotFoundException, FeedException
|
throws FileNotFoundException, FeedException
|
||||||
{
|
{
|
||||||
_history.clear();
|
_history.clear();
|
||||||
|
|
||||||
|
@ -2471,13 +2527,13 @@ public class Mobibot extends PircBot
|
||||||
/**
|
/**
|
||||||
* Loads the current entries.
|
* Loads the current entries.
|
||||||
*
|
*
|
||||||
* @param file The file containing the current entries.
|
* @param file The file containing the current entries.
|
||||||
*
|
*
|
||||||
* @throws FileNotFoundException If the file was not found.
|
* @throws FileNotFoundException If the file was not found.
|
||||||
* @throws FeedException If an error occurred while reading the feed.
|
* @throws FeedException If an error occurred while reading the feed.
|
||||||
*/
|
*/
|
||||||
private void loadEntries(String file)
|
private void loadEntries(String file)
|
||||||
throws FileNotFoundException, FeedException
|
throws FileNotFoundException, FeedException
|
||||||
{
|
{
|
||||||
_entries.clear();
|
_entries.clear();
|
||||||
|
|
||||||
|
@ -2504,11 +2560,14 @@ public class Mobibot extends PircBot
|
||||||
for (int i = items.size() - 1; i >= 0; i--)
|
for (int i = items.size() - 1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
item = (SyndEntryImpl) items.get(i);
|
item = (SyndEntryImpl) items.get(i);
|
||||||
author =
|
author = item.getAuthor()
|
||||||
item.getAuthor().substring(item.getAuthor().lastIndexOf('(') + 1, item.getAuthor().length() - 1);
|
.substring(item.getAuthor().lastIndexOf('(') + 1, item.getAuthor().length() - 1);
|
||||||
entry =
|
entry = new EntryLink(item.getLink(),
|
||||||
new EntryLink(item.getLink(), item.getTitle(), author, getChannel(), item.getPublishedDate(),
|
item.getTitle(),
|
||||||
item.getCategories());
|
author,
|
||||||
|
getChannel(),
|
||||||
|
item.getPublishedDate(),
|
||||||
|
item.getCategories());
|
||||||
description = item.getDescription();
|
description = item.getDescription();
|
||||||
comments = description.getValue().split("<br/>");
|
comments = description.getValue().split("<br/>");
|
||||||
|
|
||||||
|
@ -2545,7 +2604,7 @@ public class Mobibot extends PircBot
|
||||||
* Responds with the results of a DNS query.
|
* Responds with the results of a DNS query.
|
||||||
*
|
*
|
||||||
* @param sender The nick of the person who sent the message
|
* @param sender The nick of the person who sent the message
|
||||||
* @param query The hostname or IP address.
|
* @param query The hostname or IP address.
|
||||||
*/
|
*/
|
||||||
private void lookupResponse(String sender, String query)
|
private void lookupResponse(String sender, String query)
|
||||||
{
|
{
|
||||||
|
@ -2557,7 +2616,8 @@ public class Mobibot extends PircBot
|
||||||
}
|
}
|
||||||
catch (UnknownHostException e)
|
catch (UnknownHostException e)
|
||||||
{
|
{
|
||||||
if (query.matches("(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"))
|
if (query.matches(
|
||||||
|
"(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"))
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
@ -2607,7 +2667,7 @@ public class Mobibot extends PircBot
|
||||||
/**
|
/**
|
||||||
* Responds with the last 10 public messages.
|
* Responds with the last 10 public messages.
|
||||||
*
|
*
|
||||||
* @param sender The nick of the person who sent the private message.
|
* @param sender The nick of the person who sent the private message.
|
||||||
* @param isPrivate Set to true is the response should be send as a private message.
|
* @param isPrivate Set to true is the response should be send as a private message.
|
||||||
*/
|
*/
|
||||||
private void recapResponse(String sender, boolean isPrivate)
|
private void recapResponse(String sender, boolean isPrivate)
|
||||||
|
@ -2821,6 +2881,18 @@ public class Mobibot extends PircBot
|
||||||
_googleKey = googleKey;
|
_googleKey = googleKey;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the Jaiku user and API key..
|
||||||
|
*
|
||||||
|
* @param user The Jaiku user.
|
||||||
|
* @param key The Jaiku API key.
|
||||||
|
*/
|
||||||
|
private void setJaikuAuth(String user, String key)
|
||||||
|
{
|
||||||
|
_jaikuKey = key;
|
||||||
|
_jaikuUser = user;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the ident password.
|
* Sets the ident password.
|
||||||
*
|
*
|
||||||
|
@ -2831,7 +2903,6 @@ public class Mobibot extends PircBot
|
||||||
_ident = pwd;
|
_ident = pwd;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the ident message.
|
* Sets the ident message.
|
||||||
*
|
*
|
||||||
|
@ -2842,7 +2913,6 @@ public class Mobibot extends PircBot
|
||||||
_identMsg = msg;
|
_identMsg = msg;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the ident nickname.
|
* Sets the ident nickname.
|
||||||
*
|
*
|
||||||
|
@ -2905,7 +2975,7 @@ public class Mobibot extends PircBot
|
||||||
* Uses Google to correctly spell a sentence.
|
* Uses Google to correctly spell a sentence.
|
||||||
*
|
*
|
||||||
* @param sender The nick of the person who sent the message
|
* @param sender The nick of the person who sent the message
|
||||||
* @param spell The sentence to spell.
|
* @param spell The sentence to spell.
|
||||||
*/
|
*/
|
||||||
private void spellResponse(String sender, String spell)
|
private void spellResponse(String sender, String spell)
|
||||||
{
|
{
|
||||||
|
@ -2947,8 +3017,8 @@ public class Mobibot extends PircBot
|
||||||
/**
|
/**
|
||||||
* Responds with the current time.
|
* Responds with the current time.
|
||||||
*
|
*
|
||||||
* @param sender The nick of the person who sent the message.
|
* @param sender The nick of the person who sent the message.
|
||||||
* @param args The time command arguments.
|
* @param args The time command arguments.
|
||||||
* @param isPrivate Set to true is the response should be send as a private message.
|
* @param isPrivate Set to true is the response should be send as a private message.
|
||||||
*/
|
*/
|
||||||
private void timeResponse(String sender, String args, boolean isPrivate)
|
private void timeResponse(String sender, String args, boolean isPrivate)
|
||||||
|
@ -2966,9 +3036,8 @@ public class Mobibot extends PircBot
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
TIME_SDF.setTimeZone(TimeZone.getTimeZone(tz));
|
TIME_SDF.setTimeZone(TimeZone.getTimeZone(tz));
|
||||||
response =
|
response = TIME_SDF.format(Calendar.getInstance().getTime()) + tz.substring(tz.indexOf('/') + 1)
|
||||||
TIME_SDF.format(Calendar.getInstance().getTime()) +
|
.replace('_', ' ');
|
||||||
tz.substring(tz.indexOf('/') + 1).replace('_', ' ');
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -2997,7 +3066,7 @@ public class Mobibot extends PircBot
|
||||||
/**
|
/**
|
||||||
* Responds with the users on a channel.
|
* Responds with the users on a channel.
|
||||||
*
|
*
|
||||||
* @param sender The nick of the person who sent the message.
|
* @param sender The nick of the person who sent the message.
|
||||||
* @param isPrivate Set to true is the response should be send as a private message.
|
* @param isPrivate Set to true is the response should be send as a private message.
|
||||||
*/
|
*/
|
||||||
private void usersResponse(String sender, boolean isPrivate)
|
private void usersResponse(String sender, boolean isPrivate)
|
||||||
|
@ -3025,8 +3094,8 @@ public class Mobibot extends PircBot
|
||||||
/**
|
/**
|
||||||
* Responds with the stored links.
|
* Responds with the stored links.
|
||||||
*
|
*
|
||||||
* @param sender The nick of the person who sent the message.
|
* @param sender The nick of the person who sent the message.
|
||||||
* @param args The view command arguments.
|
* @param args The view command arguments.
|
||||||
* @param isPrivate Set to true is the response should be send as a private message.
|
* @param isPrivate Set to true is the response should be send as a private message.
|
||||||
*/
|
*/
|
||||||
private void viewResponse(String sender, String args, boolean isPrivate)
|
private void viewResponse(String sender, String args, boolean isPrivate)
|
||||||
|
@ -3085,14 +3154,16 @@ public class Mobibot extends PircBot
|
||||||
|
|
||||||
if (lcArgs.length() > 0)
|
if (lcArgs.length() > 0)
|
||||||
{
|
{
|
||||||
if ((entry.getLink().toLowerCase().indexOf(lcArgs) != -1) ||
|
if ((entry.getLink().toLowerCase().indexOf(lcArgs) != -1)
|
||||||
(entry.getTitle().toLowerCase().indexOf(lcArgs) != -1) ||
|
|| (entry.getTitle().toLowerCase().indexOf(lcArgs) != -1) || (
|
||||||
(entry.getNick().toLowerCase().indexOf(lcArgs) != -1))
|
entry.getNick().toLowerCase().indexOf(lcArgs) != -1))
|
||||||
{
|
{
|
||||||
if (sent > MAX_ENTRIES)
|
if (sent > MAX_ENTRIES)
|
||||||
{
|
{
|
||||||
send(sender, "To view more, try: " +
|
send(sender,
|
||||||
bold(getNick() + ": " + VIEW_CMD + ' ' + (i + 1) + ' ' + lcArgs), isPrivate);
|
"To view more, try: " + bold(
|
||||||
|
getNick() + ": " + VIEW_CMD + ' ' + (i + 1) + ' ' + lcArgs),
|
||||||
|
isPrivate);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -3105,8 +3176,9 @@ public class Mobibot extends PircBot
|
||||||
{
|
{
|
||||||
if (sent > MAX_ENTRIES)
|
if (sent > MAX_ENTRIES)
|
||||||
{
|
{
|
||||||
send(sender, "To view more, try: " + bold(getNick() + ": " + VIEW_CMD + ' ' + (i + 1)),
|
send(sender,
|
||||||
isPrivate);
|
"To view more, try: " + bold(getNick() + ": " + VIEW_CMD + ' ' + (i + 1)),
|
||||||
|
isPrivate);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -3125,8 +3197,8 @@ public class Mobibot extends PircBot
|
||||||
/**
|
/**
|
||||||
* Responds with weather from the specified station ID.
|
* Responds with weather from the specified station ID.
|
||||||
*
|
*
|
||||||
* @param sender The nick of the person who sent the message.
|
* @param sender The nick of the person who sent the message.
|
||||||
* @param id The station's ID.
|
* @param id The station's ID.
|
||||||
* @param isPrivate Set to true is the response should be send as a private message.
|
* @param isPrivate Set to true is the response should be send as a private message.
|
||||||
*/
|
*/
|
||||||
private void weatherResponse(String sender, String id, boolean isPrivate)
|
private void weatherResponse(String sender, String id, boolean isPrivate)
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* Created by JReleaseInfo AntTask from Open Source Competence Group */
|
/* Created by JReleaseInfo AntTask from Open Source Competence Group */
|
||||||
/* Creation date Wed Jul 18 23:09:10 PDT 2007 */
|
/* Creation date Thu Oct 11 16:35:17 PDT 2007 */
|
||||||
package net.thauvin.erik.mobibot;
|
package net.thauvin.erik.mobibot;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
@ -20,21 +20,21 @@ public class ReleaseInfo {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/** buildDate (set during build process to 1184825350594L). */
|
/** buildDate (set during build process to 1192145717288L). */
|
||||||
private static final Date buildDate = new Date(1184825350594L);
|
private static final Date buildDate = new Date(1192145717288L);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get buildDate (set during build process to Wed Jul 18 23:09:10 PDT 2007).
|
* Get buildDate (set during build process to Thu Oct 11 16:35:17 PDT 2007).
|
||||||
* @return Date buildDate
|
* @return Date buildDate
|
||||||
*/
|
*/
|
||||||
public static Date getBuildDate() { return buildDate; }
|
public static Date getBuildDate() { return buildDate; }
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get buildNumber (set during build process to 70).
|
* Get buildNumber (set during build process to 72).
|
||||||
* @return int buildNumber
|
* @return int buildNumber
|
||||||
*/
|
*/
|
||||||
public static int getBuildNumber() { return 70; }
|
public static int getBuildNumber() { return 72; }
|
||||||
|
|
||||||
|
|
||||||
/** project (set during build process to "mobibot"). */
|
/** project (set during build process to "mobibot"). */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue