Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "IRC bot"

(Feature Requests: PM support has been added.)
 
(19 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 was created using the [[Eclipse Communication Framework]] project's [[Bot Framework]]. The bot sat in the [[IRC|Freenode IRC]] Eclipse channels and was 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''' or '''nitind''' on IRC.
  
 
==Status==
 
==Status==
The bot is hosted on ecf.eclipse.org. KOS-MOS is currently <font color="#00ff00">'''ONLINE'''</font>.
+
The bot was hosted by Nitin Dahyabhai, a committer on the Eclipse Web Tools Platform. It is a modified version of the original KOS-MOS bot operated by Remy Suen. It has been offline since the mandatory adoption of SASL authentication.
 
+
*Host: ecf1.osuosl.org
+
*Repository Path: /ecf
+
*User: anonymous
+
*Password not required
+
*Connection type: pserver
+
*Module: plugins/org.eclipse.ecf.presence.bot.kosmos
+
*CVS Path: :pserver:anonymous@ecf1.osuosl.org:/ecf
+
  
 
===Channels===
 
===Channels===
KOS-MOS is set to autojoin the following channels on Freenode (irc.freenode.net):
+
Arbalest was 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-e4
 
*<nowiki>#</nowiki>eclipse-ecf
 
*<nowiki>#</nowiki>eclipse-ecf
 
*<nowiki>#</nowiki>eclipse-linux
 
*<nowiki>#</nowiki>eclipse-linux
 +
*<nowiki>#</nowiki>eclipse-modeling
 +
*<nowiki>#</nowiki>eclipse-orion
 
*<nowiki>#</nowiki>eclipse-soc
 
*<nowiki>#</nowiki>eclipse-soc
 +
*<nowiki>#</nowiki>equinox-dev
 +
*<nowiki>#</nowiki>jetty
 +
*<nowiki>#</nowiki>osgi
  
 
==Source Code==
 
==Source Code==
The bot's source code is currently hosted at ECF's OSUOSL servers. Until we resolve [https://bugs.eclipse.org/bugs/show_bug.cgi?id=180585 bug 180585] and host it at eclipse.org, it will likely stay there.
+
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 .*|~eh *|~source|~ecf|~tm|~deadlock|~keys)
 
  
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}: I 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/
+
+
# ~news .*|~newsgroup .*
+
NewsgroupSearch = Newsgroup search URL - http://www.eclipse.org/search/search.cgi?q={0}&cmd=Search%21&form=extended&wf=574a74&ps=10&m=all&t=5&ul=%2Fnewslists%2Fnews.{1}&wm=wrd&t=News&t=Mail
+
NewsgroupSearch_Reply = {0}: Newsgroup search URL - http://www.eclipse.org/search/search.cgi?q={1}&cmd=Search%21&form=extended&wf=574a74&ps=10&m=all&t=5&ul=%2Fnewslists%2Fnews.{2}&wm=wrd&t=News&t=Mail
+
+
# ~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}
+
+
# ~eh .*
+
EclipseHelp = Check out the fine manual - http://help.eclipse.org/help32/advanced/searchView.jsp?&searchWord={0}
+
EclipseHelp_Reply = {0}: Check out the fine manual - http://help.eclipse.org/help32/advanced/searchView.jsp?searchWord={1}
+
+
# ~source
+
Source = My source code can be found at :pserver:anonymous@ecf1.osuosl.org:/ecf under the plugins/org.eclipse.ecf.presence.bot.kosmos module.
+
Source_Reply = {0}: My source code can be found at :pserver:anonymous@ecf1.osuosl.org:/ecf under the plugins/org.eclipse.ecf.presence.bot.kosmos module.
+
+
# ~ecf
+
ECF = Take a look at the Eclipse Communication Framework - http://www.eclipse.org/ecf/
+
ECF_Reply = {0}: Take a look at the Eclipse Communication Framework - http://www.eclipse.org/ecf/
+
+
# ~tm
+
TM = Check out Eclipse's Target Management project - http://www.eclipse.org/dsdp/tm/
+
TM_Reply = {0}: Check out Eclipse's Target Management project - http://www.eclipse.org/dsdp/tm/
+
+
# ~deadlock
+
Deadlock = In a deadlock? http://wiki.eclipse.org/index.php/How_to_report_a_deadlock
+
Deadlock_Reply = {0}: In a deadlock? http://wiki.eclipse.org/index.php/How_to_report_a_deadlock
+
+
# ~keys
+
Keys = For a list of available keybindings press Ctrl + Shift + l - http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/wrkAdv_keyBindings_accelSet.htm
+
Keys_Reply = {0}: For a list of available keybindings press Ctrl + Shift + l - http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/wrkAdv_keyBindings_accelSet.htm
+
  
 
==Feature Requests==
 
==Feature Requests==
Please add all feature requests for the bot in this section if you are '''not''' providing a patch. If you have a patch for the new functionality, please file a bug to bugzilla under the ECF product and with a summary prefixed with '[bot]' instead of adding them here.
+
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 147: Line 46:
 
*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 182606])
+
* ~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].

Latest revision as of 11:20, 15 March 2022

An IRC bot named Arbalest was created using the Eclipse Communication Framework project's Bot Framework. The bot sat in the Freenode IRC Eclipse channels and was 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 or nitind on IRC.

Status

The bot was hosted by Nitin Dahyabhai, a committer on the Eclipse Web Tools Platform. It is a modified version of the original KOS-MOS bot operated by Remy Suen. It has been offline since the mandatory adoption of SASL authentication.

Channels

Arbalest was set to autojoin the following channels on Freenode (irc.freenode.net):

  • #eclipse
  • #eclipse-bugs
  • #eclipse-de
  • #eclipse-dev
  • #eclipse-e4
  • #eclipse-ecf
  • #eclipse-linux
  • #eclipse-modeling
  • #eclipse-orion
  • #eclipse-soc
  • #equinox-dev
  • #jetty
  • #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.

Back to the top