Jump to: navigation, search

Difference between revisions of "IRC bot"

(Feature Requests)
(36 intermediate revisions by 4 users not shown)
Line 1: Line 1:
An '''IRC bot''' named KOS-MOS has recently been created using the [[Eclipse Communication Framework]] project's [[Bot Framework]]. The bot sits in the [[IRC|Freenode IRC]] Eclipse channels and is intended to help make the lives of everyone in the channel a little easier by being able to access Bugzilla and provide helpful links that users often needs to go to such as the Eclipse platform's APIs.
+
An '''IRC bot''' named Arbalest has recently been created using the [[Eclipse Communication Framework]] project's [[Bot Framework]]. The bot sits in the [[IRC|Freenode IRC]] Eclipse channels and is intended to help make the lives of everyone in the channel a little easier by being able to access Bugzilla and provide helpful links that users often needs to go to such as the Eclipse platform's APIs.
  
 
For any questions, please contact '''rcjsuen''' on IRC.
 
For any questions, please contact '''rcjsuen''' on IRC.
  
 
==Status==
 
==Status==
Due to hosting issues, the bot is currently not online 24/7. [https://bugs.eclipse.org/bugs/show_bug.cgi?id=180585 Bug 180585] is tracking this issue and we hope to resolve it as soon as possible.
+
The bot is hosted by Nitin D, a committer on the Web Tools Platform.
  
==Channels==
+
===Channels===
 
KOS-MOS is set to autojoin the following channels on Freenode (irc.freenode.net):
 
KOS-MOS is set to autojoin the following channels on Freenode (irc.freenode.net):
*<nowiki>#</nowiki>easyeclipse
 
 
*<nowiki>#</nowiki>eclipse
 
*<nowiki>#</nowiki>eclipse
 +
*<nowiki>#</nowiki>eclipse-bugs
 
*<nowiki>#</nowiki>eclipse-de
 
*<nowiki>#</nowiki>eclipse-de
 
*<nowiki>#</nowiki>eclipse-dev
 
*<nowiki>#</nowiki>eclipse-dev
 
*<nowiki>#</nowiki>eclipse-ecf
 
*<nowiki>#</nowiki>eclipse-ecf
 
*<nowiki>#</nowiki>eclipse-linux
 
*<nowiki>#</nowiki>eclipse-linux
 +
*<nowiki>#</nowiki>eclipse-orion
 +
*<nowiki>#</nowiki>eclipse-modeling
 
*<nowiki>#</nowiki>eclipse-soc
 
*<nowiki>#</nowiki>eclipse-soc
 +
*<nowiki>#</nowiki>eclipse-stp
 +
*<nowiki>#</nowiki>equinox-dev
 +
*<nowiki>#</nowiki>higgins
 +
*<nowiki>#</nowiki>osgi
 +
 +
==Source Code==
 +
http://git.eclipse.org/c/ecf/org.eclipse.ecf.git/tree/applications/kosmos/bundles/org.eclipse.ecf.presence.bot.kosmos
  
 
==Available Commands==
 
==Available Commands==
At the moment, the regular expression contained within the plug-in's plugin.xml is:
 
((~bug|~bug[0-9]+|~bug[0-9]+c[0-9]+|~[0-9]+|~[0-9]+c[0-9]+|~manage|~log|~logs|~about|~paste|~pastebin|~tell .*|~snippet|~snippets|~javadoc|~api|~plugin|~bot|~wtp|~php|~svn|~news|~newsgroup|~cmd|~commands|~help|~g .*|~wiki .*)
 
  
To prepend a user's name to the message that the bot will output, use a syntax of '''~tell name about item'''.
+
There are two types of commands that the bot can understand:
  
If a valid http connection can be made to Bugzilla, the bot will output the bug's summary into its message, otherwise, it will fall back to simply providing a link to the bug.
+
* Keyword-Based Messages: ~snippets, ~logs, ~deadlock
  
Below is a list of all possible commands at the moment. This page will be updated as often as possible.
+
* Commands With Operands: ~wiki IRC_FAQ, ~bug206528
  
# ~bug
+
To prepend a user's name to the message that the bot will output, use '''~tell name about message-keyword''' or '''~tell name about command operand'''.
EclipseBugzilla = Eclipse Bugzilla - https://bugs.eclipse.org/bugs/
+
EclipseBugzilla_Reply = {0}: Eclipse Bugzilla - https://bugs.eclipse.org/bugs/
+
+
# ~bug[0-9]+|~[0-9]+
+
Bug = See bug {0} - {1}
+
Bug_Reply = {0}: See bug {1} - {2}
+
+
# ~bug[0-9]+c[0-9]+|~[0-9]+c[0-9]+
+
BugContent = Bug {0} - {1} - {2}
+
BugContent_Reply = {0}: Bug {1} - {2} - {3}
+
+
# ~manage
+
Manage = Manage your Eclipse environment - http://www-128.ibm.com/developerworks/opensource/library/os-ecl-manage/
+
Manage_Reply = {0}: Manage your Eclipse environment - http://www-128.ibm.com/developerworks/opensource/library/os-ecl-manage/
+
+
# ~log|~logs
+
Logs = Eclipse logs - http://wiki.eclipse.org/index.php/FAQ_Where_can_I_find_that_elusive_.log_file%3F - http://wiki.eclipse.org/index.php/IRC_FAQ#Where_are_Eclipse.27s_log_files_located_at.3F
+
Logs_Reply = {0}: Eclipse logs - http://wiki.eclipse.org/index.php/FAQ_Where_can_I_find_that_elusive_.log_file%3F - http://wiki.eclipse.org/index.php/IRC_FAQ#Where_are_Eclipse.27s_log_files_located_at.3F
+
+
# ~about|~bot
+
About = I am an IRC bot written by rcjsuen using the ECF bot framework. See http://wiki.eclipse.org/index.php/Bot_Framework
+
About_Reply = {0}: am an IRC bot written by rcjsuen using the ECF bot framework. See http://wiki.eclipse.org/index.php/Bot_Framework
+
+
# ~paste|~pastebin
+
Pastebin = Please paste the relevant information to a pastebin - http://rafb.net/paste/ - http://pastebin.com - http://pastebin.ca
+
Pastebin_Reply = {0}: Please paste the relevant information to a pastebin - http://rafb.net/paste/ - http://pastebin.com - http://pastebin.ca
+
+
# ~snippet|~snippets
+
Snippets = SWT Snippets - http://www.eclipse.org/swt/snippets/
+
Snippets_Reply = {0}: SWT Snippets - http://www.eclipse.org/swt/snippets/
+
+
# ~javadoc|~api
+
Javadoc = The Eclipse Platform APIs are at - http://help.eclipse.org/help32/nftopic/org.eclipse.platform.doc.isv/reference/api/index.html
+
Javadoc_Reply = {0}: The Eclipse Platform APIs are at - http://help.eclipse.org/help32/nftopic/org.eclipse.platform.doc.isv/reference/api/index.html
+
+
# ~plugin
+
Plugins = Look for plug-ins at the Eclipse Plug-in Central (http://www.eclipseplugincentral.com/) and EclipsePlugins (http://eclipse-plugins.info)
+
Plugins_Reply = {0}: Look for plug-ins at the Eclipse Plug-in Central (http://www.eclipseplugincentral.com/) and EclipsePlugins (http://eclipse-plugins.info)
+
+
# ~wtp
+
Webtools = Check out Eclipse's Web Tools Platform - http://www.eclipse.org/wtp/
+
Webtools_Reply = {0}: Check out Eclipse's Web Tools Platform - http://www.eclipse.org/wtp/
+
+
# ~php
+
PHP = Take a look at PDT (http://www.eclipse.org/pdt/) or PHPEclipse (http://www.phpeclipse.de)
+
PHP_Reply = {0}: Take a look at PDT (http://www.eclipse.org/pdt/) or PHPEclipse (http://www.phpeclipse.de)
+
+
# ~svn
+
Subversion = For Subversion support, try Subclipse (http://subclipse.tigris.org/) or Subversive (http://www.polarion.org/index.php?page=overview&project=subversive)
+
Subversion_Reply = {0}: For Subversion support, try Subclipse (http://subclipse.tigris.org/) or Subversive (http://www.polarion.org/index.php?page=overview&project=subversive)
+
+
# ~news|~newsgroup
+
Newsgroup = Try asking for help on the newsgroups - http://www.eclipse.org/newsgroups/
+
Newsgroup_Reply = {0}: Try asking for help on the newsgroups - http://www.eclipse.org/newsgroups/
+
+
# ~cmd|~commands|~help
+
Help = For a list of the available commands that I provide, see http://wiki.eclipse.org/index.php/IRC_bot
+
Help_Reply = {0}: For a list of the available commands that I provide, see http://wiki.eclipse.org/index.php/IRC_bot
+
+
# ~g .*
+
Google = Try googling - http://google.com/search?q={0}
+
Google_Reply = {0}: Try googling - http://google.com/search?q={1}
+
+
# ~wiki .*
+
Wiki = Check out this wiki article - http://wiki.eclipse.org/index.php/{0}
+
Wiki_Reply = {0}: Check out this wiki article - http://wiki.eclipse.org/index.php/{1}
+
  
 
==Feature Requests==
 
==Feature Requests==
 +
Please add all feature requests for the bot [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=ECF&component=ecf.core&short_desc=%5Bbot%5D%20&bug_severity=enhancement in Bugzilla].
  
*Would like to see a set of commands supported for every project...e.g.
+
Some older requests (without open bugs) include:
**~ecf javadocs
+
**~wtp home
+
**~dsdp wiki
+
  
 
*IRC session logging and control...e.g. ~startlogging, ~stoplogging, ~sendlog
 
*IRC session logging and control...e.g. ~startlogging, ~stoplogging, ~sendlog
Line 106: Line 45:
  
 
*Commands for project build:  start build, run tests.  Restricted by channel and user.
 
*Commands for project build:  start build, run tests.  Restricted by channel and user.
 +
 +
* ~newsgroup eclipse.tools.emf genmodel generation (support querying newsgroup for relevant threads [https://bugs.eclipse.org/bugs/show_bug.cgi?id=182606 bug 182606])
 +
 +
*Would like to see a set of commands supported for every project (solved by [https://bugs.eclipse.org/bugs/show_bug.cgi?id=201751 bug 201751]) ...e.g.
 +
**~ecf-javadocs
 +
**~wtp-home
 +
**~dsdp-wiki
 +
 +
See also: [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=%5Bbot%5D&classification=Technology&product=ECF&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Importance&field0-0-0=noop&type0-0-0=noop&value0-0-0= Open Bugs], [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=%5Bbot%5D&classification=Technology&product=ECF&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Importance&field0-0-0=noop&type0-0-0=noop&value0-0-0= Closed Bugs].

Revision as of 13:23, 25 February 2011

An IRC bot named Arbalest has recently been created using the Eclipse Communication Framework project's Bot Framework. The bot sits in the Freenode IRC Eclipse channels and is intended to help make the lives of everyone in the channel a little easier by being able to access Bugzilla and provide helpful links that users often needs to go to such as the Eclipse platform's APIs.

For any questions, please contact rcjsuen on IRC.

Status

The bot is hosted by Nitin D, a committer on the Web Tools Platform.

Channels

KOS-MOS is set to autojoin the following channels on Freenode (irc.freenode.net):

  • #eclipse
  • #eclipse-bugs
  • #eclipse-de
  • #eclipse-dev
  • #eclipse-ecf
  • #eclipse-linux
  • #eclipse-orion
  • #eclipse-modeling
  • #eclipse-soc
  • #eclipse-stp
  • #equinox-dev
  • #higgins
  • #osgi

Source Code

http://git.eclipse.org/c/ecf/org.eclipse.ecf.git/tree/applications/kosmos/bundles/org.eclipse.ecf.presence.bot.kosmos

Available Commands

There are two types of commands that the bot can understand:

  • Keyword-Based Messages: ~snippets, ~logs, ~deadlock
  • Commands With Operands: ~wiki IRC_FAQ, ~bug206528

To prepend a user's name to the message that the bot will output, use ~tell name about message-keyword or ~tell name about command operand.

Feature Requests

Please add all feature requests for the bot in Bugzilla.

Some older requests (without open bugs) include:

  • IRC session logging and control...e.g. ~startlogging, ~stoplogging, ~sendlog
  • Execute commands only if sender user has permission to do so
  • Commands for project build: start build, run tests. Restricted by channel and user.
  • ~newsgroup eclipse.tools.emf genmodel generation (support querying newsgroup for relevant threads bug 182606)
  • Would like to see a set of commands supported for every project (solved by bug 201751) ...e.g.
    • ~ecf-javadocs
    • ~wtp-home
    • ~dsdp-wiki

See also: Open Bugs, Closed Bugs.