Пример #1
0
 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)
Пример #2
0
 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)
Пример #3
0
 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)
Пример #4
0
 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)
Пример #5
0
#                                                                      #
# 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