コード例 #1
0
ファイル: bot.py プロジェクト: kgc/botmily
	def __init__(self):
		self.server = config.server
		self.nickname = config.name
		self.realname = b"Botmily https://github.com/kgc/botmily"
		self.channels = config.channels
		self.password = config.password

		self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
		self.socket.connect((self.server, 6667))
		self.irc = irc.irc_handler(self.socket, self , self.irc_error)

		print("Initializing plugins...")
		self.commands = {}
		self.triggers = []
		for importer, modname, ispkg in pkgutil.iter_modules(plugins.__path__):
			print("Loading plugin " + modname)
			plugin = __import__("plugins." + modname, fromlist="hook")
			self.commands.update(plugin.commands)
			self.triggers.extend(plugin.triggers)

		asyncore.loop()
コード例 #2
0
			print("Bot is ignoring out of date handler. Masti is bad at threading!")

	def connect(self):
		# we COULD close our old socket, if we have one, but... it should get closed in garbage collection so who cares?
		
		print("Connecting to:",self.server)

		self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

		try:
			self.socket.connect((self.server, 6667))
		except socket.gaierror, err:
			print("Could not initiate connection!")
			return True

		self.irc = irc.irc_handler(self.socket, self , self.irc_error)

		print("Connection loop starting...")

		try:
			asyncore.loop()
		except select.error, err:
			pass
		except KeyboardInterrupt, err:
			print(" <- Keyboard Interupt detected, cancelling thread timers where possible...")
			self.irc.stop()
			return False

		return True

	def join(self, nick, user, host, channel):