ether2any/tunnel/ircvpn/voicebot.py

43 lines
1.1 KiB
Python
Executable File

#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Copyright (C) 2011 Sebastian Lohff <seba@seba-geek.de>
# Licensed under GPL v3 or later
import irclib
from conf import Conf
def voiceThem(chan, voiceword, c, e):
if e.arguments()[0] == voiceword:
c.mode(chan, "+v "+irclib.nm_to_n(e.source()))
def main():
botname = None
voiceword = None
ircserver = None
broadcastchan = None
try:
cfg = Conf.get('voicebot')
botname = cfg.get('name')
voiceword = cfg.get('voiceword')
ircserver = Conf.get('ircserver')
broadcastchan = Conf.get('broadcastchan')
except:
print "Error: Bad Configuration!"
print ""
print "You need a voicebot section with a name and voiceword configured"
print "Also, ircserver and broadcastchan are needed"
return 1
print "Voicebot is starting.."
irc = irclib.IRC()
irc.add_global_handler("pubmsg", lambda c, e: voiceThem(broadcastchan, voiceword, c, e), -20)
server = irc.server()
server.connect(ircserver[0], ircserver[1], botname)
server.join(broadcastchan)
print "Connected, joining eventloop."
irc.process_forever()
if __name__ == '__main__':
main()