mirror of https://github.com/nealey/firebot
39 lines
1016 B
Python
Executable File
39 lines
1016 B
Python
Executable File
#! /usr/bin/env python
|
|
|
|
"""OpBot -- Hands out channel ops
|
|
|
|
This bot joins every channel on the server, and if opped in a channel
|
|
will op anyone who joins. It will poll the server for a channel list
|
|
and join any new channels as they appear. Once it has joined, it never
|
|
leaves a channel.
|
|
|
|
"""
|
|
|
|
import irc
|
|
|
|
class NopBot(irc.Bot):
|
|
#debug = True
|
|
heartbeat_interval = 60
|
|
|
|
def cmd_001(self, sender, forum, addl):
|
|
irc.Bot.cmd_001(self, sender, forum, addl)
|
|
self.write(['LIST'])
|
|
|
|
def cmd_322(self, sender, forum, addl):
|
|
self.write(['JOIN', addl[0]])
|
|
|
|
def cmd_join(self, sender, forum, addl):
|
|
if sender.name() == self.nick:
|
|
forum.notice('If you op me, I will op everyone who joins this channel.')
|
|
forum.write(['MODE', forum.name(), '+o'], sender.name())
|
|
|
|
def heartbeat(self):
|
|
irc.Bot.heartbeat(self)
|
|
self.write(['LIST'])
|
|
|
|
n = NopBot(('woozle.org', 6667),
|
|
['OpBot'],
|
|
'Op me!',
|
|
[])
|
|
irc.run_forever()
|