eir is a freenode utility bot platform. Originally written to manage voicing in the social channel, #defocus, subsequent utility components, such as the replacement for dircbot, have since been added. eir is open source; the source code can be found at https://github.com/freenode/eir.
These may be sent in PM to the bot, or in any channel in which the bot is present by prefixing them with '!' Note that if commands are sent to the bot in a channel the reply will be sent to the channel.
This will show you information about one ban if btinfo [index] is used. For example, the following command will show information about a ban with an index of 1058.
/msg eir btinfo 1058
If btinfo [nick] is used, then it will show all the active bans set by the nick, and how many bans the nick has set in total. For example, the following command will show all active bans set by nhandler.
/msg eir btinfo nhandler
If btinfo [#channel] is used, the it will return a list of all the recorded bans set in a channel (warning, this may be a long list). For example, the following command will show a list of all of the recorded bans set in #freenode.
/msg eir btinfo #freenode
btcheck [#channel] [nick|fullMask]
This will return a list of active bans on the #channel that match the user either by nick or full mask (nick will use the bot's internal list). For example, the following command will show a list of all active bans set in #freenode that match nhandler.
/msg eir btcheck #freenode nhandler!~nhandler@freenode/staff/ubuntu.member.nhandler
This command will list all of the bans that are both active and uncommented for the #channel or set by the specified nick. For example, the following command will show all active and uncommented bans for #freenode.
/msg eir btpending #freenode
This command will list all of the bans in #channel that are active and expired. For example, the following command will show all active and expired bans in #freenode.
/msg eir btexpired #freenode
btset index [~time]|[reason]
Sets the ban expiry time and/or the reason for the ban by index. For example, the following command will set a ban with an index of 2634 to expire in 1 week with a reason of 'Trolling'.
/msg eir btset 2634 ~7d Trolling
When you set a ban, the bot will PM you requesting a comment on the ban. Simply reply to the comment, whatever you send will be recorded. If you have set more than one ban you will be promted for each in turn.
If you wish to extend the default ban time (channel dependent, typically 24 hours), type this when you enter your comment: ~time comment - e.g. "~14d Trolling".
When commenting or using the btset command times can be specified in days, hours, minutes, seconds or any combination.
- "~1h" For 1 hour from the time set.
- "~4h1m4s" For 4 hours, 1 minute and 4 seconds from the time set.
- "~48h" For 48 hours from the time set, (can also use ~2d).
- "~14d" For 2 weeks (or 14 days) from the time set.
When specifying an expiry time it is also possible to change the action that will be taken when the ban expires by prefixing the time with a special character.
- # Report the ban has expired to the report channel.
- @ Remove the ban eir is opped in the channel, otherwise report the expiry to the report channel.
- % Remove the ban if eir is opped, if not try and obtain ops from chanserv. If neither of these is possible the ban will not be removed and the expiry will not be reported.
- "@~1h" Remove the ban in one hour if eir is opped, or report the expiry