2015-04-14 13:30:00 +02:00
|
|
|
---
|
|
|
|
layout: page
|
|
|
|
permalink: /bot.html
|
2015-04-26 19:01:42 +02:00
|
|
|
sitemap: false
|
2015-05-03 10:14:24 +02:00
|
|
|
excerpt: "A little about my IRC bot. Useful links, why it doesn't reply to me, how to make it recognize me, what does it actually do?"
|
2015-04-14 13:30:00 +02:00
|
|
|
---
|
2015-04-14 13:43:14 +02:00
|
|
|
|
2015-04-14 20:39:31 +02:00
|
|
|
*Please read also [rules of my channels.](https://mikaela.info/channel.html)*
|
2015-04-14 13:43:14 +02:00
|
|
|
|
|
|
|
* [Web interface](https://bot.mikaela.info)
|
|
|
|
* [Plugin documentation](https://bot.mikaela.info/plugindoc/)
|
|
|
|
|
2015-06-19 09:45:23 +02:00
|
|
|
## Limnoria
|
2015-04-14 20:39:31 +02:00
|
|
|
|
2015-06-19 09:45:23 +02:00
|
|
|
My bot is [Limnoria] which is currently the most popular [Supybot] fork
|
|
|
|
that is still under active development and it has merged in features of
|
|
|
|
another popular fork, [Gribble].
|
|
|
|
|
|
|
|
My role with [Limnoria] was Finnish translator and IRC support and I also
|
|
|
|
made minor changes to make some default configuration variables more sane.
|
2015-06-19 09:48:54 +02:00
|
|
|
Most of [documentation] since [Supybot] and before my leaving is also
|
2015-06-19 09:45:23 +02:00
|
|
|
written by me.
|
|
|
|
|
|
|
|
* [Blog: Leaving Limnoria]({% post_url 2015-03-25-leaving-bots-life %})
|
|
|
|
* [Blog: My background on Limnoria]({% post_url 2015-05-18-life-bot-background %})
|
|
|
|
|
|
|
|
[Supybot]:https://github.com/Supybot/Supybot
|
|
|
|
[Limnoria]:https://github.com/ProgVal/Limnoria
|
|
|
|
[Gribble]:https://github.com/nanotube/supybot_fixes
|
2015-06-19 09:48:54 +02:00
|
|
|
[documentation]:https://limnoria-doc.readthedocs.org/en/latest/
|
2015-06-19 09:45:23 +02:00
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
2015-08-22 15:42:47 +02:00
|
|
|
### Addressing the bot
|
|
|
|
|
2015-08-22 16:03:26 +02:00
|
|
|
The following table opens where the bot will reply to in channel. In PM
|
|
|
|
the bot replies to everything *(without prefix)*.
|
|
|
|
|
|
|
|
<table border="1">
|
|
|
|
<tr>
|
|
|
|
<th>Replies to</th>
|
|
|
|
<th>Examples</th>
|
|
|
|
<th>Changeable per-channel>/th>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>prefix characters: `%` `+` `!`</td>
|
|
|
|
<td>+ping` `%ping` `+ping`</td>
|
|
|
|
<td>yes</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>nick in the beginning and end</td>
|
|
|
|
<td>`bot: ping` `ping, bot`</td>
|
|
|
|
<td>Yes (not nick), but why?</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td> prefix strings: `msb1` & `msb2` (for legacy reasons) and
|
|
|
|
`__`</td>
|
|
|
|
<td>`msb1ping` `msb2ping` `__ping`</td>
|
|
|
|
<td>yes</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>MessageParser (in the middle of line): `__` & `__()`</td>
|
|
|
|
<td>`Does the bot work? __ping` for single-worded commands and
|
|
|
|
`what is Linux? __(wiki Linux)` for commands with multiple
|
|
|
|
words.</td>
|
|
|
|
<td>**no**(too difficult, but possible)</td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
|
|
|
|
For checking the channel specific prefixes, refer to the following
|
|
|
|
commands. They can be used in channel (if you know the prefix) or PM.
|
|
|
|
|
|
|
|
<table border="1">
|
|
|
|
<tr>
|
|
|
|
<th>Prefix</th>
|
|
|
|
<th>Command</th>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>Prefix characters</td>
|
|
|
|
<td>`channel reply.whenaddressedby.chars</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>Nick (beginning & end)</td>
|
|
|
|
<td>`channel reply.whenaddressedby.nick` &
|
|
|
|
` channel reply.whenaddressedby.nick.atend`
|
|
|
|
</tr>
|
|
|
|
<td>prefix strings</td>
|
|
|
|
<td>`channel reply.whenaddressedby.strings`
|
|
|
|
</tr>
|
|
|
|
</table>
|
2015-08-22 15:42:47 +02:00
|
|
|
|
2015-06-19 09:45:23 +02:00
|
|
|
### Quick start
|
|
|
|
|
|
|
|
Use `list` command to get list of plugins, `list <plugin>` to get list of
|
|
|
|
commands in plugin, `help <plugin> <command>` to get usage instructions
|
2015-06-19 09:48:54 +02:00
|
|
|
for \<command\> in \<plugin\>.
|
2015-06-19 09:45:23 +02:00
|
|
|
|
|
|
|
If the bot tells you `(X more messages)`, use the `more` command to see
|
|
|
|
more output.
|
|
|
|
|
|
|
|
There are also default plugins which means that when you use only
|
|
|
|
`<command>` the command is automatically understood as `<plugin> <command>`
|
|
|
|
for example `tell` is configured to be `later tell` which tells text
|
|
|
|
to nick next time it's seen. If `command` exists only in one plugin,
|
|
|
|
it's gets turned to `<plugin> <command>` automatically.
|
|
|
|
|
|
|
|
In case command exists in multiple plugins, the bot will tell you that
|
|
|
|
the command exists in multiple plugins and asks you to specify the plugin
|
|
|
|
before it.
|
|
|
|
|
|
|
|
## Users
|
|
|
|
|
|
|
|
The bot doesn't allow anyone to register and I will register channel ops
|
|
|
|
manually on the channels the bot is on. Users are primarily identified by
|
|
|
|
NickServ account, but on networks where there are no services it's required
|
|
|
|
to use hostmasks.
|
|
|
|
|
|
|
|
Requirements for getting account:
|
|
|
|
|
|
|
|
* being op on channel where the bot is on or similar good reason
|
|
|
|
* having NickServ account
|
|
|
|
* or on networks where there are no services hostmask that you can be
|
|
|
|
identified with
|
|
|
|
* static host
|
|
|
|
* identd
|
|
|
|
|
|
|
|
|
2015-06-19 09:48:54 +02:00
|
|
|
### Identifying
|
2015-06-19 09:45:23 +02:00
|
|
|
|
|
|
|
The bot requires users to have password, but I always set the password
|
|
|
|
as something from pwgen as I primarily identify users based on NickServ
|
|
|
|
account or hostmask.
|
|
|
|
|
|
|
|
* If you have a password, `/msg <bot> user identify username password`
|
|
|
|
* Passwords can be asked for me if needed, after getting one, change
|
|
|
|
it immediately with `/msg <bot> user set password OLDPASSWORD NEWPASSWORD`
|
|
|
|
* If you use NickServ account:
|
|
|
|
* Use the `auth` command.
|
|
|
|
* `/cycle` so extended-join sends your account name to the bot.
|
|
|
|
* `/kick <bot>` so the bot will automatically rejoin and send whox
|
|
|
|
requests to the channel receiving your NickServ account.
|
|
|
|
* [Other methods / Official documentation](https://limnoria-doc.readthedocs.org/en/latest/use/getting_started.html#making-supybot-recognize-you)
|
|
|
|
|
|
|
|
## Channels
|
2015-04-14 20:39:31 +02:00
|
|
|
|
|
|
|
List of the channels where the bot is on can be seen with /whois. However
|
|
|
|
this list doesn't include secret/private channels (mode +sp).
|
2015-04-14 13:43:14 +02:00
|
|
|
|
|
|
|
The bot can also be requested to join other channels, but I reserve the
|
|
|
|
right to not join it anywhere or to not register specific channel ops
|
2015-06-19 09:45:23 +02:00
|
|
|
to the bot.
|
2015-04-14 20:39:31 +02:00
|
|
|
|
|
|
|
## What does the bot do?
|
|
|
|
|
2015-06-19 09:45:23 +02:00
|
|
|
Currently the bot is primarily spamming my channels with new items in some
|
2015-04-14 20:39:31 +02:00
|
|
|
RSS feeds. You can find list of the feeds added to the bot at
|
|
|
|
[the web documentation for RSS plugin](https://bot.mikaela.info/plugindoc/RSS/),
|
|
|
|
but listing the feeds automatically announced on the channel isn't
|
|
|
|
possible [yet](https://github.com/ProgVal/Limnoria/issues/1085).
|
|
|
|
|
|
|
|
It's also protecting channels from spam using the [AttackProtector plugin.](https://github.com/ProgVal/Supybot-plugins/tree/master/AttackProtector)
|
2015-05-07 11:38:46 +02:00
|
|
|
|
|
|
|
The bot also has `ops` command for getting op attention, but it requires
|
|
|
|
correct prefix to be used, check
|
|
|
|
`/msg <bot> config channel <#channel> reply.whenaddressedby.chars`. The
|
|
|
|
prefix can be different on different channels.
|
2015-06-20 15:24:55 +02:00
|
|
|
|
|
|
|
## Issues you may encounter
|
|
|
|
|
|
|
|
*For all known issues [see issue tracker of ProgVal/Limnoria](https://github.com/ProgVal/Limnoria/issues)
|
|
|
|
this section only lists those that you are likely to see or that others
|
|
|
|
have asked about from me.*
|
|
|
|
|
|
|
|
* [Title is only told for the first link in a message](https://github.com/ProgVal/Limnoria/issues/152)
|
|
|
|
* [Some commands using hostmasks behave weirdly](https://github.com/ProgVal/Limnoria/issues/281)
|
|
|
|
* [Users cannot log out](https://github.com/ProgVal/Limnoria/issues/461)
|
|
|
|
* no idea why they would want to do that though.
|
|
|
|
* [There is no way to add capabilities to group of users](https://github.com/ProgVal/Limnoria/issues/471)
|
|
|
|
* [Users cannot change their usernames](https://github.com/ProgVal/Limnoria/issues/616)
|
|
|
|
* so ping me instead if you need it changed
|
|
|
|
* [Meta descriptions for links aren't told](https://github.com/ProgVal/Limnoria/issues/650)
|
|
|
|
* these could be useful with news sites.
|
|
|
|
* [DNS command doesn't mention CNAMEs/ALIASes](https://github.com/ProgVal/Limnoria/issues/864)
|
|
|
|
* Internet whois is quite broken [1](https://github.com/ProgVal/Limnoria/issues/993) [2](https://github.com/ProgVal/Limnoria/issues/994)
|
|
|
|
* [html/javascript redirects aren't followed](https://github.com/ProgVal/Limnoria/issues/1120)
|
|
|
|
* you will especially see this if you encounter links to my
|
|
|
|
"URL shortener"
|
|
|
|
* [RSS: no announced feeds in web interface](https://github.com/ProgVal/Limnoria/issues/1085)
|