Zodbot

From FedoraProject

(Difference between revisions)
Jump to: navigation, search
(Add ext function)
(Contact)
(35 intermediate revisions by 10 users not shown)
Line 1: Line 1:
'''zodbot''' is a [ supybot http://sourceforge.net/projects/supybot/ ] instance connected to the irc.freenode.net IRC network and joined to many [[Communicate#IRC|Fedora-related IRC channels]].
+
'''zodbot''' is a [http://sourceforge.net/projects/supybot/ supybot] instance connected to the irc.freenode.net IRC network and joined to many [[Communicate#IRC|Fedora-related IRC channels]].
  
zodbot runs on the noc1.fedoraproject.org host, hosted by Fedora infrastructure.  
+
zodbot runs on the value01.fedoraproject.org host, hosted by Fedora infrastructure.  
  
This page describes what zodbot does and how it can be used by those with the permissions to operate it.  
+
This page describes what zodbot does and how it can be used by those with the permissions to operate it. Most functions do not require any special permissions. Those the do are noted as such.
  
 
== Addressing zodbot ==  
 
== Addressing zodbot ==  
  
zodbot watches for . as it's prefix, so if you want to query it in a channel, you will need to add . to the beginning of any of the listed commands below.  
+
zodbot watches for . as its prefix, so if you want to query it in a channel, you will need to add . to the beginning of any of the listed commands below.  
 
If you wish to avoid chatter in channel from zodbot, you can address zodbot directly.  You may wish to do this in channels with a large number of users or if you have a number of queries.  For example:
 
If you wish to avoid chatter in channel from zodbot, you can address zodbot directly.  You may wish to do this in channels with a large number of users or if you have a number of queries.  For example:
  
Line 20: Line 20:
 
== Fedora-specific functions ==
 
== Fedora-specific functions ==
  
* '''whoowns''' ''package_name'' (pkgdb)
 
:: Returns the FAS account of the owner of a package.
 
 
* '''branches''' ''package_name'' (pkgdb)
 
* '''branches''' ''package_name'' (pkgdb)
 
:: Returns the branches of a package.
 
:: Returns the branches of a package.
* '''ext''' ''account_name'' (fas)
+
* '''bug''' ''bug_number'' (RH bugzilla)
:: Return the talk.fedoraproject.org extension number for a Fedora Account System username.
+
:: Return the name and URL of a Red Hat Bugzilla ticket.
 
* '''fas''' ''query'' (fas)
 
* '''fas''' ''query'' (fas)
 
:: Searches the Fedora Account System database in usernames, emails, full names, and IRC nicks. (Note that some accounts have enabled privacy, so nothing but their FAS username will be searchable.)
 
:: Searches the Fedora Account System database in usernames, emails, full names, and IRC nicks. (Note that some accounts have enabled privacy, so nothing but their FAS username will be searchable.)
 
* '''fasinfo''' ''account_name'' (fas)
 
* '''fasinfo''' ''account_name'' (fas)
 
:: Provides detailed Fedora Account System information about the specific account name. This requires an exact username.
 
:: Provides detailed Fedora Account System information about the specific account name. This requires an exact username.
 +
* '''fesco''' ''ticket_number'' (fesco)
 +
:: Return the name and URL of a FESCo ticket.
 +
* '''group''' ''group_name'' (fas)
 +
:: Return information about a Fedora Account System group.
 +
* '''members''' ''group_name'' (fas)
 +
:: Return a list of members of the specified group.
 +
* <s>'''pingall''' ''message''
 +
:: Ping everyone in the IRC channel.</s>
 +
{{admon/note | Use pinglist instead | Pinglist allows people to opt-in instead. Refer to [http://ur1.ca/3d7yo the instructions] for more information.}}
 +
* '''refresh'''
 +
:: Refresh the necessary caches. '''''This requires special permissions'''''
 
* '''sponsors''' ''group_name'' (fas)
 
* '''sponsors''' ''group_name'' (fas)
:: Provides a list of sponsors for an exact group name, with @ indicating administrators of the group.  
+
:: Provides a list of sponsors for an exact group name, with @ indicating administrators of the group.
 +
* '''swbug''' ''bug_number'' (SW bugzilla)
 +
::  Return the name and URL of a Sourceware Bugzilla ticket.
 +
* '''swedish''' (zodbot)
 +
:: Bot version. (Humor mmcgrath.)
 +
* '''ticket''' ''ticket_number'' (infrastructure)
 +
:: Return the name and URL of a Fedora Infrastructure ticket.
 
* '''what''' ''package_name'' (pkgdb)
 
* '''what''' ''package_name'' (pkgdb)
 
:: Returns a description of a package.
 
:: Returns a description of a package.
 +
* '''whoowns''' ''package_name'' (pkgdb)
 +
:: Returns the FAS account of the owner of a package. To get directly the fasinfo of the owner, you can use: '''fasinfo <nowiki>[</nowiki>whoowns''' ''package_name''''']'''
 +
* '''wikilink''' ''account_name'' (fas)
 +
:: Return MediaWiki link syntax for a FAS user's page on the wiki.
  
 
== Koji-specific functions ==   
 
== Koji-specific functions ==   
Line 44: Line 63:
 
== Meeting Functions ==
 
== Meeting Functions ==
  
zodbot has the supybot-meetbot plugin package installed and configured. See: [http://wiki.debian.org/MeetBot the MeetBot wiki page] for more information on the meeting commands. Meeting logs will be at [ http://meetbot.fedoraproject.org ].  
+
zodbot has the supybot-meetbot plugin package installed and configured. See: [http://wiki.debian.org/MeetBot the MeetBot wiki page] for more information on the meeting commands. Meeting logs will be at [http://meetbot.fedoraproject.org meetbot.fedoraproject.org].
  
 
In general for meetings using the plugin, you will want to use this sequence of commands:  
 
In general for meetings using the plugin, you will want to use this sequence of commands:  
  
 
* #startmeeting - start the meeting.  
 
* #startmeeting - start the meeting.  
 +
* #meetingname <meeting-name> - Usually the name of the team meeting (example: fesco).
 
* #meetingtopic <topic> - overall meeting topic (example: FESCo meeting)
 
* #meetingtopic <topic> - overall meeting topic (example: FESCo meeting)
 
* #topic <currenttopic> - Use topic to go through each of the topics in your adgenda. The main meetingtopic will stay the same.
 
* #topic <currenttopic> - Use topic to go through each of the topics in your adgenda. The main meetingtopic will stay the same.
* #info, #help, #agreed, #denied, etc - as needed in the meeting.  
+
* #action, #accepted, #agreed, #chair, #help, #idea, #info, #link, #rejected, etc. - as needed in the meeting. (#commands will provide a full list of available commands.)
 
* #endmeeting
 
* #endmeeting
  
Zodbot also has some aliases setup to list the time until various meetings:  
+
zodbot also has some aliases setup to list the time until various meetings:  
  
 
nextfescomeeting, nextkdemeeting, nextepelmeeting, nextinframeeting, nextrelengmeeting, etc.  
 
nextfescomeeting, nextkdemeeting, nextepelmeeting, nextinframeeting, nextrelengmeeting, etc.  
 
These commands will list the time until the next meeting of that sig or group.  
 
These commands will list the time until the next meeting of that sig or group.  
 +
 +
=== Meeting admin commands ===
 +
 +
These all require special permissions to run.
 +
 +
* '''addchair''' ''channel'' freenode ''nick'' - Add a chair to a meeting. Useful if you need to end a meeting that someone has going in a channel that they forgot to end.
 +
* '''listmeetings''' - list the currently in-progress meetings
 +
* '''deletemeeting''' ''channel'' freenode - used to end a meeting. Contrary to the name, it saves the meeting first, unless you specify False as the last parameter
 +
* '''recent''' - list recent meetings
 +
* '''savemeetings''' - save all currently active meetings
 +
 +
=== zodbot blew up while it was logging my meeting, what can I do? ===
 +
 +
First, go to [http://meetbot.fedoraproject.org/ meetbot.fedoraproject.org] and find the incomplete log of your meeting. Then extract the remainder of the log from your IRC client and save that to a text file. The log must end with somebody saying "#endmeeting". ''Please do not upload HTMLified logs.''
 +
 +
Go to the [https://fedorahosted.org/fedora-infrastructure Fedora Infrastructure Trac], login with your FAS account, and click "New Ticket" at the top. Mention that your meeting log is incomplete and the meetbot.fedoraproject.org URL of the incomplete log. Also include the URL for the [[Zodbot Infrastructure SOP]] for the convenience of the person processing the ticket. Click "I have files to attach to this ticket," then click "Submit ticket." Attach the remainder of the log.
 +
 +
{{admon/note | Example ticket | Please make your ticket as similar to [https://fedorahosted.org/fedora-infrastructure/ticket/2213 ticket 2213] as possible. }}
  
 
== Other useful commands ==
 
== Other useful commands ==
  
 
* seen <nick> - returns the last time nick was seen in that channel and what they were saying.  
 
* seen <nick> - returns the last time nick was seen in that channel and what they were saying.  
* any <nick> - returns the last time nick was in any channel zodbot is in and what they were saying.  
+
* any <nick> - returns the last time nick was in any channel zodbot is in and what they were saying.
 +
 
 +
== Source code ==
 +
 
 +
The source code for the Fedora extensions are available in the [http://git.fedorahosted.org/git/supybot-fedora.git supybot-fedora git repository].
 +
 
 +
== Additional Reading ==
 +
 
 +
More general information on supybot can be found in the excellent [http://supybook.fealdia.org/devel/ supybook].  
  
 
== Contact ==
 
== Contact ==
  
 
For any questions about zodbot, please ask in #fedora-admin.
 
For any questions about zodbot, please ask in #fedora-admin.
 +
 +
Bugs and feature requests can also be reported in the [https://fedorahosted.org/fedora-infrastructure/newticket Fedora Infrastructurce trac] using the component ''General''.

Revision as of 14:26, 3 December 2012

zodbot is a supybot instance connected to the irc.freenode.net IRC network and joined to many Fedora-related IRC channels.

zodbot runs on the value01.fedoraproject.org host, hosted by Fedora infrastructure.

This page describes what zodbot does and how it can be used by those with the permissions to operate it. Most functions do not require any special permissions. Those the do are noted as such.

Contents

Addressing zodbot

zodbot watches for . as its prefix, so if you want to query it in a channel, you will need to add . to the beginning of any of the listed commands below. If you wish to avoid chatter in channel from zodbot, you can address zodbot directly. You may wish to do this in channels with a large number of users or if you have a number of queries. For example:

/msg zodbot whoowns fedora-release

for a single query, or

/query zodbot whoowns fedora-release

for an extended conversation.

Fedora-specific functions

  • branches package_name (pkgdb)
Returns the branches of a package.
  • bug bug_number (RH bugzilla)
Return the name and URL of a Red Hat Bugzilla ticket.
  • fas query (fas)
Searches the Fedora Account System database in usernames, emails, full names, and IRC nicks. (Note that some accounts have enabled privacy, so nothing but their FAS username will be searchable.)
  • fasinfo account_name (fas)
Provides detailed Fedora Account System information about the specific account name. This requires an exact username.
  • fesco ticket_number (fesco)
Return the name and URL of a FESCo ticket.
  • group group_name (fas)
Return information about a Fedora Account System group.
  • members group_name (fas)
Return a list of members of the specified group.
  • pingall message
Ping everyone in the IRC channel.
Note.png
Use pinglist instead
Pinglist allows people to opt-in instead. Refer to the instructions for more information.
  • refresh
Refresh the necessary caches. This requires special permissions
  • sponsors group_name (fas)
Provides a list of sponsors for an exact group name, with @ indicating administrators of the group.
  • swbug bug_number (SW bugzilla)
Return the name and URL of a Sourceware Bugzilla ticket.
  • swedish (zodbot)
Bot version. (Humor mmcgrath.)
  • ticket ticket_number (infrastructure)
Return the name and URL of a Fedora Infrastructure ticket.
  • what package_name (pkgdb)
Returns a description of a package.
  • whoowns package_name (pkgdb)
Returns the FAS account of the owner of a package. To get directly the fasinfo of the owner, you can use: fasinfo [whoowns package_name]
  • wikilink account_name (fas)
Return MediaWiki link syntax for a FAS user's page on the wiki.

Koji-specific functions

  • builders - returns a list of build machines enabled and disabled.
  • building <builder> - returns what is building on builder number <builder>
  • taskload - lists number of current koji tasks.
  • buildload - lists load on all koji build cluster.

Meeting Functions

zodbot has the supybot-meetbot plugin package installed and configured. See: the MeetBot wiki page for more information on the meeting commands. Meeting logs will be at meetbot.fedoraproject.org.

In general for meetings using the plugin, you will want to use this sequence of commands:

  • #startmeeting - start the meeting.
  • #meetingname <meeting-name> - Usually the name of the team meeting (example: fesco).
  • #meetingtopic <topic> - overall meeting topic (example: FESCo meeting)
  • #topic <currenttopic> - Use topic to go through each of the topics in your adgenda. The main meetingtopic will stay the same.
  • #action, #accepted, #agreed, #chair, #help, #idea, #info, #link, #rejected, etc. - as needed in the meeting. (#commands will provide a full list of available commands.)
  • #endmeeting

zodbot also has some aliases setup to list the time until various meetings:

nextfescomeeting, nextkdemeeting, nextepelmeeting, nextinframeeting, nextrelengmeeting, etc. These commands will list the time until the next meeting of that sig or group.

Meeting admin commands

These all require special permissions to run.

  • addchair channel freenode nick - Add a chair to a meeting. Useful if you need to end a meeting that someone has going in a channel that they forgot to end.
  • listmeetings - list the currently in-progress meetings
  • deletemeeting channel freenode - used to end a meeting. Contrary to the name, it saves the meeting first, unless you specify False as the last parameter
  • recent - list recent meetings
  • savemeetings - save all currently active meetings

zodbot blew up while it was logging my meeting, what can I do?

First, go to meetbot.fedoraproject.org and find the incomplete log of your meeting. Then extract the remainder of the log from your IRC client and save that to a text file. The log must end with somebody saying "#endmeeting". Please do not upload HTMLified logs.

Go to the Fedora Infrastructure Trac, login with your FAS account, and click "New Ticket" at the top. Mention that your meeting log is incomplete and the meetbot.fedoraproject.org URL of the incomplete log. Also include the URL for the Zodbot Infrastructure SOP for the convenience of the person processing the ticket. Click "I have files to attach to this ticket," then click "Submit ticket." Attach the remainder of the log.

Note.png
Example ticket
Please make your ticket as similar to ticket 2213 as possible.

Other useful commands

  • seen <nick> - returns the last time nick was seen in that channel and what they were saying.
  • any <nick> - returns the last time nick was in any channel zodbot is in and what they were saying.

Source code

The source code for the Fedora extensions are available in the supybot-fedora git repository.

Additional Reading

More general information on supybot can be found in the excellent supybook.

Contact

For any questions about zodbot, please ask in #fedora-admin.

Bugs and feature requests can also be reported in the Fedora Infrastructurce trac using the component General.