
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()
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())
| 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 |