def __init__(self, env): self.env = env self.log = log.logger() if not os.access(config.LOGF, 0): fp = file(config.LOGF, 'w') fp.write('# freQ log\n') fp.close() twisted.python.log.startLogging(open(config.LOGF, 'a')) twisted.python.log.addObserver(self.error_handler) self.stopped = False self.smart_shutdown = False self.censor = censor() self.g = {} self.cmdhandlers = [] self.msghandlers = [] self.topichandlers = [] self.joinhandlers = [] self.leavehandlers = [] self.badhandlers = [] self.rewriteengines = [] self.access_modificators = [] self.cmd_cache = {} self.want_restart = False featlist = [ 'http://jabber.org/protocol/caps', 'http://jabber.org/protocol/muc', 'http://jabber.org/protocol/disco#info', 'urn:xmpp:ping', 'urn:xmpp:time', 'jabber:iq:version', 'vcard-temp' ] self.features = sorted(featlist) self.version_name = u'FreQ-bot' self.version_version = self.getVer() self.log.version = self.version_version self.caps = self.genCaps() if config.SHARE_OS: self.version_os = u'Twisted %s, Python %s' % (twisted.__version__, sys.version) else: self.version_os = 'SomeOS' self.authd = 0 self.wrapper = wrapper(self.version_version, self.caps) self.wrapper.onauthd = self.onauthd self.wrapper.c.addBootstrap('//event/client/basicauth/authfailed', self.failed) self.wrapper.c.addBootstrap('//event/client/basicauth/invaliduser', self.failed) self.plug = pluginloader(self) self.log.log('<b>freQ %s (PID: %s) Initialized</b>' % (self.version_version, os.getpid())) #reactor.addSystemEventTrigger('before', 'shutdown', self.shutdown) self.cc = task.LoopingCall(self.clean_cmd_cache) self.cc.start(10) self.k_a = task.LoopingCall(self.keep_alive) self.k_a.start(config.KEEP_ALIVE_INTERVAL)
def __init__(self, env): self.env = env self.log = log.logger() if not os.access(config.LOGF, 0): fp = open(config.LOGF, 'w') fp.write('# freQ log\n') fp.close() twisted.python.log.startLogging(open(config.LOGF, 'a')) twisted.python.log.addObserver(self.error_handler) self.stopped = False self.smart_shutdown = False self.censor = censor() self.g = {} self.cmdhandlers = [] self.msghandlers = [] self.topichandlers = [] self.joinhandlers = [] self.leavehandlers = [] self.badhandlers = [] self.rewriteengines = [] self.access_modificators = [] self.cmd_cache = {} self.want_restart = False featlist = ['http://jabber.org/protocol/caps', 'http://jabber.org/protocol/muc', 'http://jabber.org/protocol/disco#info', 'urn:xmpp:ping', 'urn:xmpp:time', 'jabber:iq:version', 'vcard-temp'] self.features = sorted(featlist) self.version_name = u'FreQ-bot' self.version_version = self.getVer() self.log.version = self.version_version self.caps = self.genCaps() if config.SHARE_OS: self.version_os = u'Twisted %s, Python %s' % (twisted.__version__, sys.version) else: self.version_os = 'SomeOS' self.authd = 0 self.wrapper = wrapper(self.version_version, self.caps) self.wrapper.onauthd = self.onauthd self.wrapper.c.addBootstrap('//event/client/basicauth/authfailed', self.failed) self.wrapper.c.addBootstrap('//event/client/basicauth/invaliduser', self.failed) self.plug = pluginloader(self) self.log.log('<b>freQ %s (PID: %s) Initialized</b>' % (self.version_version, os.getpid())) #reactor.addSystemEventTrigger('before', 'shutdown', self.shutdown) self.cc = task.LoopingCall(self.clean_cmd_cache) self.cc.start(10) self.k_a = task.LoopingCall(self.keep_alive) self.k_a.start(config.KEEP_ALIVE_INTERVAL)
def __init__(self, env): self.env = env self.log = log.logger() if not os.access(config.LOGF, 0): fp = file(config.LOGF, "w") fp.write("# freQ log\n") fp.close() twisted.python.log.startLogging(open(config.LOGF, "a")) twisted.python.log.addObserver(self.error_handler) self.stopped = False self.smart_shutdown = False self.censor = censor() self.g = {} self.cmdhandlers = [] self.msghandlers = [] self.topichandlers = [] self.joinhandlers = [] self.leavehandlers = [] self.badhandlers = [] self.rewriteengines = [] self.access_modificators = [] self.cmd_cache = {} self.want_restart = False self.version_name = u"freqbot" self.version_version = self.getVer() self.log.version = self.version_version if config.SHARE_OS: self.version_os = u"Twisted %s, Python %s" % (twisted.__version__, sys.version) else: self.version_os = "SomeOS" self.authd = 0 self.wrapper = wrapper(self.version_version) self.wrapper.onauthd = self.onauthd self.wrapper.c.addBootstrap("//event/client/basicauth/authfailed", self.failed) self.wrapper.c.addBootstrap("//event/client/basicauth/invaliduser", self.failed) self.plug = pluginloader(self) self.log.log("<b>freQ %s (PID: %s) Initialized</b>" % (self.version_version, os.getpid())) # reactor.addSystemEventTrigger('before', 'shutdown', self.shutdown) self.cc = task.LoopingCall(self.clean_cmd_cache) self.cc.start(10) self.k_a = task.LoopingCall(self.keep_alive) self.k_a.start(config.KEEP_ALIVE_INTERVAL)
def __init__(self, q): self.log = log.logger() if not os.access(config.LOGF, 0): fp = file(config.LOGF, 'w') fp.write('# freQ log\n') fp.close() twisted.python.log.startLogging(open(config.LOGF, 'a')) twisted.python.log.addObserver(self.error_handler) self.stopped = False self.smart_shutdown = False self.censor = censor() self.g = {} self.cmdhandlers = [] self.msghandlers = [] self.topichandlers = [] self.joinhandlers = [] self.leavehandlers = [] self.badhandlers = [] self.rewriteengines = [] self.access_modificators = [] self.cmd_cache = {} self.version_name = u'freQ' self.version_version = u'1.1.0 (20080131)' self.log.version = self.version_version self.version_os = u'Twisted %s, Python %s' % (twisted.__version__, sys.version) self.authd = 0 self.wrapper = wrapper(self.version_version) self.wrapper.onauthd = self.onauthd self.wrapper.c.addBootstrap('//event/client/basicauth/authfailed', self.failed) self.wrapper.c.addBootstrap('//event/client/basicauth/invaliduser', self.failed) if config.ENABLE_SQLITE: self.db = db.db() self.plug = pluginloader(self, q) print 'Initialized' self.log.log('<b>freQ %s (PID: %s) Initialized</b>' % (self.version_version, os.getpid())) #reactor.addSystemEventTrigger('before', 'shutdown', self.shutdown) self.cc = task.LoopingCall(self.clean_cmd_cache) self.cc.start(10) self.k_a = task.LoopingCall(self.keep_alive) self.k_a.start(config.KEEP_ALIVE_INTERVAL)
# # # FreQ-bot is distributed in the hope that it will be useful, # # but WITHOUT ANY WARRANTY; without even the implied warranty of # # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # # GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License # # along with FreQ-bot. If not, see <http://www.gnu.org/licenses/>. # ######################################################################## from twisted.web.html import escape from twisted.words.protocols.jabber import jid from cerberus import censor wBad = censor().values wGood = censor().good LOG_FILES = {} TOPICS = {} log_header = '<div class="logdate">$day.$month.$year</div>' log_footer = '' def censor_msg(msg): return msg for i in range(0, len(wBad)): bad_words = [ match.group().strip() for match in re.finditer(wBad[i], msg) ] for bad_word in set(bad_words): is_good = False