mirror of
https://github.com/minetest-mods/irc.git
synced 2024-11-15 22:30:20 +01:00
464f2febee
Debian's LuaSocket packages are broken. Then seem to package the 5.1 version of the library as simply a copy of the 5.2 version; however, the libraries are incompatible. Additionally, the package seems to take a number of different names depending on the version of the distro. However, the LuaRocks package seems to be fine, so install that first and then install LuaSocket through LuaRocks.
168 lines
5.2 KiB
Markdown
168 lines
5.2 KiB
Markdown
IRC Mod for Minetest
|
|
====================
|
|
|
|
Introduction
|
|
------------
|
|
This mod is just a glue between IRC and Minetest. It provides two-way
|
|
communication between the in-game chat, and an arbitrary IRC channel.
|
|
|
|
The forum topic is at https://forum.minetest.net/viewtopic.php?f=11&t=3905
|
|
|
|
|
|
Installing
|
|
----------
|
|
|
|
Quick one line install for Linux:
|
|
|
|
cd <Mods directory> && git clone --recursive https://github.com/kaeza/minetest-irc.git irc
|
|
|
|
Please change `<Mods directory>` to fit your installation of Minetest.
|
|
For more information, see [the wiki](http://wiki.minetest.net/Installing_mods).
|
|
|
|
The IRC mod's git repository uses submodules, therefore you will have to run
|
|
`git submodule init` when first installing the mod (unless you used
|
|
`--recursive` as above), and `git submodule update` every time that a submodule
|
|
is updated. These steps can be combined into `git submodule update --init`.
|
|
|
|
You'll need to install LuaSocket. You can do so with your package manager on
|
|
many distributions, for example:
|
|
|
|
# # On Arch Linux:
|
|
# pacman -S lua51-socket
|
|
# # On Debian/Ubuntu:
|
|
# # Debian/Ubuntu's LuaSocket packages are broken, so use LuaRocks.
|
|
# apt-get install luarocks
|
|
# luarocks install luasocket
|
|
|
|
You will also need to add IRC to your trusted mods if you haven't disabled mod
|
|
security. Here's an example configuration line:
|
|
|
|
secure.trusted_mods = irc
|
|
|
|
|
|
Settings
|
|
--------
|
|
All settings are changed in `minetest.conf`. If any of these settings
|
|
are not set, the default value is used.
|
|
|
|
* `irc.server` (string)
|
|
The address of the IRC server to connect to.
|
|
|
|
* `irc.channel` (string)
|
|
The IRC channel to join.
|
|
|
|
* `irc.interval` (number, default 2.0)
|
|
This prevents the server from flooding. It should be at
|
|
least 2.0 but can be higher. After four messages this much
|
|
time must pass between folowing messages.
|
|
|
|
* `irc.nick` (string)
|
|
Nickname the server uses when it connects to IRC.
|
|
|
|
* `irc.password` (string, default nil)
|
|
Password to use when connecting to the server.
|
|
|
|
* `irc.NSPass` (string, default nil)
|
|
NickServ password. Don't set this if you use SASL authentication.
|
|
|
|
* `irc.sasl.pass` (string, default nil)
|
|
SASL password, same as nickserv password.
|
|
You should use this instead of NickServ authentication
|
|
if the server supports it.
|
|
|
|
* `irc.sasl.user` (string, default `irc.nick`)
|
|
The SASL username. This should normaly be set to your NickServ account name.
|
|
|
|
* `irc.debug` (boolean, default false)
|
|
Whether to output debug information.
|
|
|
|
* `irc.disable_auto_connect` (boolean, default false)
|
|
If false, the bot is connected by default. If true, a player with
|
|
the 'irc_admin' privilege has to use the /irc_connect command to
|
|
connect to the server.
|
|
|
|
* `irc.disable_auto_join` (boolean, default false)
|
|
If false, players join the channel automatically upon entering the
|
|
game. If true, each user must manually use the /join command to
|
|
join the channel. In any case, the players may use the /part
|
|
command to opt-out of being in the channel.
|
|
|
|
* `irc.send_join_part` (boolean, default true)
|
|
Determines whether to send player join and part messages to the channel.
|
|
|
|
Usage
|
|
-----
|
|
|
|
Once the game is connected to the IRC channel, chatting in-game will send
|
|
messages to the channel, and will be visible by anyone. Also, messages sent
|
|
to the channel will be visible in-game.
|
|
|
|
Messages that begin with `[off]` from in-game or IRC are not sent to the other side.
|
|
|
|
This mod also adds a few chat commands:
|
|
|
|
* `/irc_msg <nick> <message>`
|
|
Sends a private message to a IRC user.
|
|
|
|
* `/join`
|
|
Join the IRC chat.
|
|
|
|
* `/part`
|
|
Part the IRC chat.
|
|
|
|
* `/irc_connect`
|
|
Connect the bot manually to the IRC network.
|
|
|
|
* `/irc_disconnect`
|
|
Disconnect the bot manually from the IRC network (this does not
|
|
shutdown the game).
|
|
|
|
* `/irc_reconnect`
|
|
Equivilant to `/irc_disconnect` followed by `/irc_connect`.
|
|
|
|
You can also send private messages from IRC to in-game players.
|
|
|
|
To do so, you must send a private message to the bot (set with
|
|
the `irc.nick` option above), in the following format:
|
|
|
|
@playername message
|
|
|
|
For example, if there's a player named `mtuser`, you can send him/her
|
|
a private message from IRC with:
|
|
|
|
/msg server_nick @mtuser Hello!
|
|
|
|
To avoid possible misunderstandings (since all in-game players use the
|
|
same IRC user to converse with you), the "proxy" user will reject any
|
|
private messages that are not in that format, and will send back a
|
|
nice reminder as a private message.
|
|
|
|
The bot also supports some basic commands, which are invoked by sending
|
|
a private message to it. Use `!list` to get a list of commands, and
|
|
`!help <command>` to get help about a specific command.
|
|
|
|
|
|
Thanks
|
|
------
|
|
|
|
I'd like to thank the users who supported this mod both on the Minetest
|
|
Forums and on the #minetest channel. In no particular order:
|
|
|
|
0gb.us, ShadowNinja, Shaun/kizeren, RAPHAEL, DARGON, Calinou, Exio,
|
|
vortexlabs/mrtux, marveidemanis, marktraceur, jmf/john\_minetest,
|
|
sdzen/Muadtralk, VanessaE, PilzAdam, sfan5, celeron55, KikaRz,
|
|
OldCoder, RealBadAngel, and all the people who commented in the
|
|
forum topic. Thanks to you all!
|
|
|
|
|
|
License
|
|
-------
|
|
|
|
Copyright © 2012-2013 Diego Martínez <kaeza@users.sf.net>
|
|
|
|
See LICENSE.txt for licensing information.
|
|
|
|
The files in the irc directory are part of the LuaIRC project.
|
|
See irc/LICENSE.txt for licensing information.
|
|
|