goirc/README.md

93 lines
3.3 KiB
Markdown

rbot
======================
### Getting started
Assuming you have go set up (http://golang.org/),
git clone git://github.com/raylu/rbot.git
cd rbot
git submodule init
git submodule update
gomake
rbot.conf and auth.conf will be copied. Configure those and then run the bot:
./rbot
### Flags
Access is configured in auth.conf, is per-channel, based on ident and host; nick is ignored. The owner is configured per server and other access is configured per channel. Owners can use any commands. Ignores are checked before access.
The following is a description of the commands enabled by each flag:
- `a`: add remove ignore unignore
- `o`: op halfop deop dehalfop kick|k ban|b unban|u kb
- `h`: halfop|hop dehalfop|dehop kick|k ban|b unban|u kb (hop and dehop can only be used on yourself and you cannot kick or kb people with o or h)
- `v`: voice, devoice
- `t`: topic appendtopic
- `s`: say
In addition, a user must have at least one flag to use `flags` and `list` (so users without access can't spam the bot).
### Commands
All commands are prefixed with the trigger configured in rbot.conf.
Access related commands:
- `flags raylu`: get's raylu's flags
- `flags`: get's your flags
- `add raylu t`: gives raylu the t flag
- `remove raylu t`: removes the t flag from raylu
- `remove raylu`: removes all of raylu's flags
- `ignore raylu`: ignores all messages from raylu's host on this network
- `unignore raylu`: unignore raylu
- `list`: lists all users and their access
- `list raylu`: searches the access list for raylu
Admin commands:
- `nick john`: changes the bot's nick to john
- `say text`: says text to the channel
Op commands:
- `halfop|hop`: halfop yourself
- `halfop|hop raylu john`: halfop raylu and john
- `op`: op yourself
- `op raylu john`: op raylu and john
- `deop`: deop yourself
- `deop raylu john`: deop raylu and john
- `dehalfop`: dehalfop yourself
- `dehalfop|dehop raylu john`: dehalfop raylu and john
- `voice`: voice yourself
- `voice raylu john`: voice raylu and john
- `devoice`: devoice yourself
- `devoice raylu john`: devoice raylu and john
- `kick|k raylu`: kick raylu
- `ban|b raylu john!*@*`: ban raylu by hostname and john by nick
- `unban|u raylu john!*@*`: unban raylu by hostname and john by nick
- `kb raylu`: kick raylu, then ban him by hostname
- `topic text`: sets the topic and basetopic to text
- `topic`: gets the current basetopic
- `appendtopic text`: if the topic does not starts with basetopic, sets the basetopic to the current topic. Makes the topic basetopic+text.
- `part`: leaves the channel
Google API commands:
- `tr text`: detect the language of text
- `tr en|ja en|es text`: translate text into Japanese and Spanish
- `roman text`: translate text into romaji (see rbot.conf.example)
- `calc 1 usd in yen`: convert 1 USD to Japanese yen
Commands that don't require access behave the same when sent to a channel the bot is in and when whispered to the bot.
Commands that require access are listed above as if they were sent to a channel. When sent as a whisper, the first argument must be a channel name.
The bot will accept invites from the owner to any channel and only the owner can use `part`.
### Miscellaneous
This project was forked from jessta/goirc which is in turn forked from fluffle/goirc. Both of those projects are focused on developing the goirc framework whereas this is focused on developing a bot.