Firebot
From MozillaWiki
firebot is a bot on irc.mozilla.org.
Channel OPs can use /invite to get firefox to join their channel.
- Administrator: glob <byron@glob.com.au>
- Repository: github/globau/firebot
- Blog : blog.glob.com.au
Firebot is in maintenance mode – while new feature generally are not being added it will continue to run for the foreseeable future.
Contents
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
- Listens in channel for crash stats uuids and responds with a link to the crash.
- eg. "bp-28411feb-90d8-40fc-ab5d-238822140522" --> "https://crash-stats.mozilla.com/report/index/28411feb-90d8-40fc-ab5d-238822140522"
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)