Firebot

From MozillaWiki
Jump to: navigation, search

firebot is a bot on irc.mozilla.org.

Modules

Bugzilla

  • The Bugzilla module provides an interface to the bugzilla bug database
  • It will spot anyone mentioning bugs, too, and report on what they are
  • eg. If someone says 'I think that's a dup of bug 5693, the :hover thing', then this module will display information about bug 5693
  • This module also provides the ability to report on changes to bugs in near real-time in channel
  • eg. "New mozilla.org - CA Certificates bug 123456 filed by someone@example.com"

bug-total

  • Same as 'bug' but only displays the total line

bugs

  • A simple DWIM search. Not very clever. ;-)
  • Syntax: '<query string> bugs' e.g. 'mozbot bugs'

ignore

  • Causes the bot to stop reporting all bug changes made by a particular user in the current channel
  • Syntax: 'ignore <user@domain.com>'

unignore

  • Causes the bot to un-ignore a previously ignored user. See 'ignore' for more details

Checkins

  • This feature has been replaced by glandium's pulsebot, which listens for mercurial commits via pulse and announces accordingly

Converter

  • A generic converter
  • Currently supports converting between positive integers in binary, octal, decimal and hexidecimal forms, and converting temperatures, lengths, times and masses
  • To convert a number, simply give the number with units or appropriate prefixes, for example to convert from hexadecimal: '0x2F'

integers

  • Decimal: Simply give the number
  • Hexadecimal: Prefix with 0x
  • Octal: Prefix with 0
  • Binary: Prefix with 0b

temperature

  • Kelvin: Suffix with K
  • Celsius: Suffix with C
  • Fahrenheit: Suffix with F

length

  • Imperial: in, ft, yd, mi
  • Metric: A, nm, mm, cm, m, km

time

  • ISO time units: year, month, week, day, hour, minute, second
  • Exotic time units: millifortnight

mass

  • Imperial: lbs, oz, stone
  • Metric: kg, g

Crashstats

FortuneCookies

  • A module to get random fortune cookies

cookie

  • Get a fortune cookie

fortune

  • Same as 'cookie'

new

  • To set a new fortune cookie, say 'new cookie' followed by the text
  • eg. 'new cookie: you will have a nice day'
  • The string %from% will be replaced by the name of whoever requests the cookie

add

  • Same as 'new'

fetch

  • The command 'fetch cookies from <uri>' will add each line in <uri> to the cookie list
  • Cookie lists must start with one line that reads 'DATA FILE: cookies' and must be at most 100 lines long
  • Blank lines and lines starting with a hash ('#') are ignored

General

  • A module that provides the bot-wide services

help

  • Gives information about modules and commands

shutup

  • Tells the bot to stop talking to you

Greeting

  • A polite module for saying hello and goodbye and so on

hi

  • To greet the bot

bye

  • To say goodbye to the bot

ping

  • To check the bot is alive

status

  • Gives the amount of time that the bot has been active

Infobot

  • Keeps track of factoids and returns them on request
  • To set factoids, just tell me something in the form 'apple is a company' or 'apples are fruit'
  • To find out about something, say 'apple?' or 'what are apples'
  • To correct me, you can use any of: 'no, apple is a fruit', 'apple =~ s/company/fruit/', or 'apple is also a fruit'
  • To make me forget a factoid, 'forget apple'
  • You can use '|' to separate several alternative answers

who

  • If a definition contains $who, then it will be replaced by the name of the person who asked the question

reply

  • If a definition starts with <reply> then when responding the initial prefix will be skipped
  • eg. 'apples are <reply>mm, apples' will mean that 'what are apples' will get the response 'mm, apples'

action

  • If a definition starts with <action> then when responding the definition will be used as an action
  • eg. 'apples are <action>eats one' will mean that 'what are apples' will get the response '* bot eats one'

alias

  • If a definition starts with <alias> then it will be treated as a symlink to whatever follows
  • eg. 'crab apples are <alias>apples' and 'apples are fruit' will mean that 'what are crab apples' will get the response 'apples are fruit'

status

  • Reports on how many factoids are in the database

tell

  • Make me tell someone something. eg. 'tell pikachu what apples are' or 'tell fred about me'

literal

  • To find out exactly what is stored for an entry apples, you would say to me: literal apples

remember

  • If you are having trouble making me remember something (for example 'well, foo is bar' getting treated as 'foo' is 'bar'), then you can prefix your statement with 'remember:' (following the 'no,' if you are changing an entry)
  • eg. 'remember: well, foo is bar'
  • Note that 'well, foo?' is treated as 'what is foo' not is 'what is well, foo', so this is not always useful

no

  • To correct an entry, prefix your statement with 'no,'
  • eg. 'no, I am good' to correct your entry from 'is bad' to 'is good' :-)

Karma

  • A karma tracker

++

  • Increase someone's karma
  • Syntax: victim++

--

  • Decrease someone's karma
  • Syntax: victim--

rank

  • Find someone's karma level
  • Omit the victim's name to get a top 10 list
  • Syntax: 'rank victim' or just 'rank'

MagicEightBall

  • The all knowing magic eight ball, in electronic form

!8ball

  • Ask a question and the answer shall be provided
  • Syntax: '!8ball: will it happen?

Parrot

  • This module allows you to make the bot do stuff

say

  • Makes the bot say something
  • The <target> can be a person or channel
  • Syntax: say <target> <text>

do

  • Makes the bot do (/me) something
  • The <target> can be a person or channel
  • Syntax: do <target> <text>

invite

  • Makes the bot invite (/invite) somebody to a channel
  • Syntax: invite <who> <channel>

announce

  • Makes the bot announce something to every channel in which this module is enabled
  • Syntax: announce <text>

RDF

  • The RDF module monitors various websites

Seen

  • The Seen module watches channels and stores when someone last spoke or performed an action for later recall

seen

  • Says how long it's been since the last time someone was seen
  • Syntax: 'seen <nick>'
  • eg. 'seen mozbot'

TimeIn

time in

  • Tells you the time in the specified location
  • Syntax: 'time in <location>'
  • eg. 'time in perth'

UUIDGen

  • This module is an interface to the uuidgen application

uuid

  • Generates a UUID

cid

  • Generates a UUID but outputs format suitable for components (CID)