mirror of
https://github.com/mikaela/mikaela.github.io/
synced 2024-11-25 05:49:23 +01:00
221 lines
8.5 KiB
Markdown
221 lines
8.5 KiB
Markdown
---
|
|
layout: page
|
|
title: The IRC bot Euforia
|
|
permalink: /irc/bot.html
|
|
sitemap: true
|
|
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?"
|
|
redirect_from: /bot.html
|
|
published: false
|
|
---
|
|
|
|
_Please read also [rules of my channels.](https://mikaela.info/channel.html)_
|
|
|
|
**_This page is more or less outdated._**
|
|
|
|
- [Web interface](https://bot.mikaela.info)
|
|
- [Plugin documentation](https://bot.mikaela.info/plugindoc/)
|
|
|
|
## Limnoria
|
|
|
|
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 reasonable. Most
|
|
of [documentation] since [Supybot] and before my leaving is also written by me.
|
|
|
|
[supybot]: https://github.com/Supybot/Supybot
|
|
[limnoria]: https://github.com/ProgVal/Limnoria
|
|
[gribble]: https://github.com/nanotube/supybot_fixes
|
|
[documentation]: https://limnoria-doc.readthedocs.org/en/latest/
|
|
|
|
## Usage
|
|
|
|
### Addressing the bot
|
|
|
|
The following table opens where the bot will reply to in channel. In PM the bot
|
|
replies to everything _(without prefix)_.
|
|
|
|
<table>
|
|
<tr>
|
|
<th>Replies to</th>
|
|
<th>Examples</th>
|
|
<th>Changeable per-channel</th>
|
|
</tr>
|
|
<tr>
|
|
<td>prefix characters: <code>%</code> <code>+</code>
|
|
<code>!</code></td>
|
|
<td><code>+ping</code> <code>%ping</code> <code>+ping</code></td>
|
|
<td>Yes</td>
|
|
</tr>
|
|
<tr>
|
|
<td>nick in the beginning and end</td>
|
|
<td><code>bot: ping</code> <code>ping, bot</code></td>
|
|
<td>Yes (not nick), but why?</td>
|
|
</tr>
|
|
<tr>
|
|
<td> prefix strings: <code>msb1</code> & <code>msb2</code>
|
|
(for legacy reasons) and <code>__</code></td>
|
|
<td><code>msb1ping</code> <code>msb2ping</code>
|
|
<code>__ping</code></td>
|
|
<td>Yes</td>
|
|
</tr>
|
|
<tr>
|
|
<td>MessageParser (in the middle of line): <code>__</code> &
|
|
<code>__()</code></td>
|
|
<td><code>Does the bot work? __ping</code> for single-worded
|
|
commands and <code>what is Linux? __(wiki Linux)</code> for
|
|
commands with multiple words.</td>
|
|
<td><strong><em>no</em></strong> (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>
|
|
<tr>
|
|
<th>Prefix</th>
|
|
<th>Command</th>
|
|
</tr>
|
|
<tr>
|
|
<td>Prefix characters</td>
|
|
<td><code>channel reply.whenAddressedBy.chars</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Nick (beginning & end)</td>
|
|
<td><code>channel reply.whenAddressedBy.nick</code> and
|
|
<code>channel reply.whenAddressedBy.nick.atEnd</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td>prefix strings</td>
|
|
<td><code>channel reply.whenAddressedBy.strings</code></td>
|
|
</tr>
|
|
</table>
|
|
|
|
### 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 for
|
|
\<command\> in \<plugin\>.
|
|
|
|
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, identd and static host.
|
|
- identd alone is not enough.
|
|
|
|
### Identifying
|
|
|
|
_All users have a password in the bot, but I have made them invalid (by adding
|
|
`!` in front of the hash in users.conf). If you have password set separately as
|
|
said below, it will work._
|
|
|
|
- If you have a password, `/msg <bot> user identify username password`
|
|
- Passwords can be asked from 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
|
|
|
|
List of the channels where the bot is on can be seen with /whois. However this
|
|
list doesn't include secret/private channels (mode +s/+p).
|
|
|
|
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 to the bot.
|
|
|
|
## What does the bot do?
|
|
|
|
Currently the bot is primarily spamming my channels with new items in some 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)
|
|
|
|
The bot also has `ops` command for getting op attention, but it requires correct
|
|
prefix to be used.
|
|
|
|
## Issues you may encounter
|
|
|
|
For all known issues, see the issue tracker link below relevant subtopic as this
|
|
section only lists those that you are likely to see or that others have asked
|
|
about from me.
|
|
|
|
I am trying to run
|
|
[the latest released version of Limnoria.](https://github.com/ProgVal/Limnoria/tags)
|
|
|
|
External plugins are updated whenever I see need for it, but at least when I
|
|
upgrade Limnoria.
|
|
|
|
### Limnoria issues
|
|
|
|
- Issue tracker: https://github.com/ProgVal/Limnoria/issues
|
|
|
|
_Includes Limnoria core and
|
|
[included plugins](https://github.com/ProgVal/Limnoria/tree/master/plugins)._
|
|
|
|
- [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)
|
|
- [RSS: no announced feeds in web interface](https://github.com/ProgVal/Limnoria/issues/1085)
|
|
- [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"
|
|
- [Google says: Error invalid resultSize](https://github.com/ProgVal/Limnoria/issues/1163)
|
|
- [Web title & titlesnarfer are broken](https://github.com/ProgVal/Limnoria/issues/1173)
|
|
|
|
## ProgVal/Supybot-plugins issues
|
|
|
|
- Issue tracker: https://github.com/ProgVal/Supybot-plugins/issues
|
|
|
|
_Includes plugins from @ProgVal's/pinkieval's
|
|
[plugin repository.](https://github.com/ProgVal/Supybot-plugins)_
|
|
|
|
- LinkRelay
|
|
- [Doesn't sync topics between relayed channels](https://github.com/ProgVal/Supybot-plugins/issues/31)
|
|
- [Status of user in the channel isn't shown](https://github.com/ProgVal/Supybot-plugins/issues/60)
|
|
- [What the bot says isn't relayed.](https://github.com/ProgVal/Supybot-plugins/issues/288)
|
|
- **This is currently the most visible issue on channels where LinkRelay is
|
|
used.**
|