コード例 #1
0
ファイル: bot.py プロジェクト: jordangedney/bots_for_days
class Bot(object):
    def __init__(self, config_file_name):
        self.params = self._load_config(config_file_name)
        self.commands = {}

    def connect(self):
        if self.params['type'] == 'irc':
            from modules.irc import Server
        elif self.params['type'] == 'slack':
            from modules.irc import Server
        self.server = Server(self.params)

    def _load_config(self, config_file_name):
        config_params = {}
        with open('bot_configs/' + config_file_name, 'r') as file:
            for line in file.readlines():
                key, value = line.split()
                config_params[key] = value

        return config_params

    def send(self, msg):
        return self.server._send(msg)
    
    def say(self, msg):
        return self.server.say(msg)

    def recv(self):
        return self.server._recv()

    def private_message(self, user, msg):
        self.server.private_message(user, msg)

    def main_loop(self):
        while True:
            data = self.recv()
            if self.server.ping in data: 
                self.server.pong(data)
            elif self.params['nick'] in data:
                for key_word, function in self.commands.items():
                    if key_word in data: function(data)

    def _add_commands(self):
        #OVERRIDE IN SUBCLASS
        print('bot.py: _add_commands needs to be overwritten')
        exit()
コード例 #2
0
ファイル: bot.py プロジェクト: jordangedney/bots_for_days
 def connect(self):
     if self.params['type'] == 'irc':
         from modules.irc import Server
     elif self.params['type'] == 'slack':
         from modules.irc import Server
     self.server = Server(self.params)