User Tools

Site Tools


melanobot:modules:irc

IRC Module

This module allows to integrate Melanobot with IRC. (Enabled by default)

Log Type

  • irc Logs IRC events and messages.

Connection

IRC Network Settings

  • protocol irc (REQUIRED)
  • nick Bot nick (REQUIRED)
  • server Container for the server settings, can optionally have a value in the form host:port instead of the structured fields (REQUIRED)
    • host Host name/address for the IRC server
    • port 6667 Port number
    • password Server password

Bot User Settings

  • channels Channels to join (separated by spaces)
  • modes User modes
  • login IRC login credentials
    • nick same as nick above Auth Nickname
    • password Auth password
    • service Auth service (Eg: NickServ or Q@CServe.quakenet.org)
    • command Auth service command (Eg: IDENTIFY or AUTH)

Formatting Options

  • notice 1 Whether private replies should use NOTICE or PRIVMSG
  • string_format irc String encoding

User Management

  • groups Container to define authorization groups
    • name [inheritance list] Defines a group called namewhich inherits the permissions of groups specified in inheritance list. (Note that defining groups is optional, they are added automatically when used).
  • users Container to add users to authorization groups
    • User Groups Add User (if it starts with "!", will check the logged-in name, with "@" the host name, otherwise the nick name) to Groups (a list of identifiers separated by commas or spaces)

Flood Buffer Settings

  • buffer Internal buffer/flood control settings, most likely no need to change these
    • timer_max 10 Number of seconds for the user message timer
    • message_penalty 2 Number of penalty seconds for each message
    • bytes_penalty 120 An extra second of penalty is added after these many bytes are sent to the server
    • max_length 510 Maximum message length (Excluding \r\n)

IRC Action Handlers

These handlers manage responses to various IRC commands

IrcKickRejoin

Inherits Handler.

Joins after being kicked.

  • message Message sent when re-joining the channel (optional)
    • %channel – channel name
    • %kicker – nick of the user who triggered the kick
    • %message – kick message

CTCP

These are to be used for IRC connections to enable CTCP support.

CtcpBase

Inherits Handler.

Abstract CTCP handler.

CtcpVersion

Inherits CtcpBase.

Replies to CTCP VERSION.

  • version Melanobot:2.0:C++ – Version string to show in the reply

CtcpSource

Inherits CtcpBase.

Replies to CTCP SOURCE. To comply to the AGPL this must be present for irc connections. Also if you modify the bot sources you need to update url to point to the sources of your instance.

CtcpClientInfo

Inherits CtcpBase.

Replies to CTCP CLIENTINFO showing help about available CTCP commands.

It is strongly recommended to add this handler to allow the users to know how to use the bot.

CtcpUserInfo

Inherits CtcpBase.

Shows user-defined information.

  • ctcp USERINFO – CTCP command to reply too (case insensitive)
  • reply – Fixed string to be returned in replies
  • clientinfo – String to show on CLIENTINFO

CtcpPing

Inherits CtcpBase.

Replies to CTCP PING.

CtcpTime

Inherits CtcpBase.

Replies to CTCP TIME.

Ctcp

Inherits PresetGroup.

Preset group containing:

  • CtcpVersion
  • CtcpSource
  • CtcpPing
  • CtcpTime
  • CtcpClientInfo

IRC User recognition

These handlers are used to recognized authed users on IRC.

Whois330

Inherits Handler.

Uses an IRC 330 reply to detect authed users. (The server sends a 330 as a reply to WHOIS, which must be triggered by some other handler)

WhoisCheckMe

Inherits SimpleAction.

Makes the bot ask the server for WHOIS on the message sender.

  • trigger checkme

QGetWhois/QSendWhois

Inherits Handler.

Automatic auth detection on QuakeNet.

When someone joins a channel, the bot will ask Q for WHOIS on that user (Needs a Q account for the bot). When the bot joins a channel, it will ask Q for USERS on that channel (Requires +k or better on the channel).

  • q_to Q@CServe.quakenet.org name of the target to sends the commands to.
  • q_from Q name of the user to detect the messages.

QWhois is a PresetGroup containing both of these.

Bot Administation

Nick

Inherits SimpleAction.

Changes the bot nickname.

Join

Inherits SimpleAction.

Instructs the bot to join channels.

Part

Inherits SimpleAction.

Instructs the bot to part channels.

AcceptInvite

Inherits Handler.

Accepts a IRC INVITE command to join a channel. To allow only on a specific connection, place it in a Group.

Raw

Inherits SimpleAction.

Executes raw IRC commands.

melanobot/modules/irc.txt · Last modified: 2015/06/07 14:31 by melanosuchus