Skip to content

juancolacelli/ircbot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IRC Bot

Dependencies

Showcase

Basic usage

val server = Server("irc.freenode.net", 6697, true)
val user = User("ircbot", "ircbot", "GNU IRCBot - https://gitlab.com/juancolacelli/ircbot")
val bot = IRCBot(server, user)

bot.connect()

Basic plugin definition

class BasicPlugin : Plugin {
    private val listener = object : OnConnectListener {
        override fun onConnect(connection: Connection, server: Server, user: User) {
            connection.join("#gnu")
        }
    }
        
    override var name = "basic_plugin"

    override fun onLoad(bot: IRCBot) {
        bot.addListener(listener)
    }

    override fun onUnload(bot: IRCBot) {
        bot.removeListener(listener)
    }
}
bot.pluginLoader.add(BasicPlugin())

Plugins

Plugin Description
Access Grant/Revoke bot access
Auto OP Claim op when join a channel
Auto reconnect Auto-reconnect on disconnection
Auto response Auto-response when text triggers are detected
CTCP VERSION Customize your CTCP VERSION response
Help Bot help
IRCop IRCop authentication
Join and part Join and part channels by request
Plugin loader Plugins can be loaded and unloaded by request
NickServ NickServ authentication
Operator Basic operator commands (i.e, !op, !voice, etc.)
Re-join on kick Join channels when kicked
RSS feed Get RSS feed notices and send them to subscribers
Search Search on DuckDuckGo
Torrent Search torrents on ThePirateBay
Translate Translate text using Apertium
Uptime Shows bot uptime
Website title Get website title when an URL is detected