Пример #1
0
# -*- coding: utf-8 -*-

import ConfigParser
from straight.plugin import load
from ircbot import IRCBot

if __name__ == '__main__':
    from modules.module import Module
    
    config = ConfigParser.ConfigParser()
    config.readfp(open('config.ini'))
    
    bot = IRCBot()
    bot.set_config(config)
    
    plugins = [plugin_class() for plugin_class in load("modules", Module)]
    for plugin in plugins:
        bot.load_module(plugin)
    bot.end_load_modules()
    
    bot.connect(config.get('core', 'server'), int(config.get('core', 'port')))
Пример #2
0
      return f**e    
    if split[0]=="fibonacci":
      a = [0, 1]
      tgt = int(split[1])
      v = 0
      while tgt >= 2:
        v = a[0] + a[1]
        a[0] = a[1]
        a[1] = v
        tgt -= 1
      return v


if __name__ == '__main__':
  import sys
  c = IRCBot(sys.argv[1], verbosity=True)
  def exampleexitcallback(user, host, dest, mesg):
    if (user == 'ChloeD'):
      print("Oh, hello ChloeD")
      c.send_chat("#bottest", "I'm leaving now")
      c.disconnect()
      sys.exit(0)
  c.add_privmsg_callback(re.compile("!exit"), exampleexitcallback)
  bot = Botsync(c, "#bottest")
  bot.add_work_executor(StupidMathsWorker())
  t1 = Thread(target=lambda:c.connect("irc.freenode.net", 6667, "#bottest"))
  t2 = Thread(target=bot.schedule_start)
  t1.start()
  t2.start()
  [ x.join() for x in [ t1, t2 ] ]
Пример #3
0
import yaml
from ircbot import IRCBot
from channelmodule import ChannelModule
from permissionmodule import PermissionModule
from autoopmodule import AutoOPModule
from titlemodule import TitleModule
from calcmodule import CalcModule
from codeforcesmodule import CodeForcesModule
from adminmodule import AdminModule
from dynamicmoduleloadermodule import DynamicModuleLoaderModule

if __name__ == '__main__':
    settings = yaml.load(open('settings.yaml'))

    bot = IRCBot(settings['nick'], settings['user'], settings['realname'])
    for network, server in settings['servers'].items():
        bot.connect(network, **server)

    bot.install_module(ChannelModule, channels=settings['channels'])
    bot.install_module(PermissionModule)
    bot.install_module(AutoOPModule)
    bot.install_module(TitleModule)
    bot.install_module(CalcModule)
    bot.install_module(CodeForcesModule)
    bot.install_module(AdminModule)
    bot.install_module(DynamicModuleLoaderModule)

    bot.run()