Example #1
0
 def __init__(self, ssbot, md):
     BotInterface.__init__(self, ssbot, md)
     # register Your Module
     ssbot.register_module_info(
         __name__,
         "SG Peering Assistant",
         "The Junky",
         "adds peered arenas to ini dynamically",
         ".01"
     )
     # "CZ":[4, set()] the 4 means it will go into [peer4] section
     self.zones = {
         "TW": [0, set(), ["", "0"]],
         "SWZ": [1, set(), ["", "0"]],
         "CZ": [2, set(), ["", "0"]],
         "DSB": [3, set(), ["", "0", ]],
         "PB": [4, set(), ["", "0", "replay"]],
         "EG2": [5, set(), ["", "0", "egfl"]],
         "TS": [6, set(), ["", "0"]]
     }
     self.peers = {
         # peerid:(old, new)
         0: [set(), set()],
         1: [set(), set()],
         2: [set(), set()],
         3: [set(), set()],
         4: [set(), set()],
         5: [set(), set()],
         6: [set(), set()]
     }
     self.timer_man = TimerManager.TimerManager()
     self.timer_man.set(20, 1)
Example #2
0
    def __init__(self, ssbot, md):
        BotInterface.__init__(self, ssbot, md)
        # register Your Module
        ssbot.register_module_info(
            __name__, "Popset", "The Junky",
            "Controls settings based on current # of players in ships", ".01")
        # register your commands
        self.cmddt = ssbot.register_command('!doTransition', "!dt", 2,
                                            COMMAND_LIST_PP, "Popset", "",
                                            "Control settings based on pop")
        self.cmdlt = ssbot.register_command('!listTransition', "!lt", 0,
                                            COMMAND_LIST_PP, "Popset", "",
                                            "list all transitions/settings")
        self.tiers = [
            Tier(10, ["Team:MaxPerTeam:4", "Team:MaxPerPrivateTeam:4"],
                 "Small"),
            Tier(20, ["Team:MaxPerTeam:7", "Team:MaxPerPrivateTeam:7"],
                 "Medium"),
            Tier(30, ["Team:MaxPerTeam:10", "Team:MaxPerPrivateTeam:10"],
                 "Normal"),
            Tier(60, ["Team:MaxPerTeam:12", "Team:MaxPerPrivateTeam:12"],
                 "Big"),
            Tier(100, ["Team:MaxPerTeam:15", "Team:MaxPerPrivateTeam:15"],
                 "WTF")
        ]

        self.current = None
        self.tm = TimerManager.TimerManager()
Example #3
0
    def __init__(self, bot, md):
        BotInterface.__init__(self, bot, md)
        bot.register_module_info(__name__, "MysqLtest", "The Junky",
                                 "mysqlclient for ss", ".01")
        self._db = Amysql(self.logger)
        # self._db.setDbCredentialsFromFile(
        #   self.module_path + R"/db.conf", "db")
        self._db.setDbCredentialsFromFile(self.module_path + R"/egnetdb.conf",
                                          "db")
        self._db.start()
        self.clist = [
            COMMAND_TYPE_PUBLIC, COMMAND_TYPE_TEAM, COMMAND_TYPE_FREQ,
            COMMAND_TYPE_PRIVATE, COMMAND_TYPE_CHAT
        ]
        self._sql_command_id = bot.register_command('!sql', None, 9,
                                                    self.clist, "web",
                                                    "[query]", 'sql it zz')
        self._sqlnl_command_id = bot.register_command('!sqlnl', None, 9,
                                                      self.clist, "web",
                                                      "[query]", 'sql it zz')
        self.level = logging.DEBUG
        self.timer_man = TimerManager.TimerManager()
        self.timer_man.set(.01, 1)
        self.timer_man.set(300, 2)
        self.chat = bot.add_chat("st4ff")

        formatter = logging.Formatter('%(message)s')
        handler = LoggingRemoteHandler(logging.DEBUG, bot, "Ratio")
        handler.setFormatter(formatter)
        self.logger.addHandler(handler)
Example #4
0
    def __init__(self, ssbot, md):
        BotInterface.__init__(self, ssbot, md)
        #register Your Module
        ssbot.registerModuleInfo(
            __name__, "Popset", "The Junky",
            "Controls settings based on current # of players in ships", ".03")
        #register your commands
        self.cmddt = ssbot.registerCommand('!doTransition', "!dt", 2,
                                           COMMAND_LIST_PP, "Popset",
                                           "[on|off|normal]",
                                           "Control settings based on pop")
        self.cmdlt = ssbot.registerCommand('!listTransition', "!lt", 0,
                                           COMMAND_LIST_PP, "Popset", "",
                                           "list all transitions/settings")
        self.normal = Tier(20,
                           ["Team:MaxPerTeam:10", "Team:MaxPerPrivateTeam:10"],
                           "Normal", 15 * 60)
        self.tiers = [
            Tier(10, ["Team:MaxPerTeam:5", "Team:MaxPerPrivateTeam:5"],
                 "Small", 3 * 60),
            Tier(16, ["Team:MaxPerTeam:8", "Team:MaxPerPrivateTeam:8"],
                 "Medium", 10 * 60),
            self.normal  #,	
            #Tier(60,["Team:MaxPerTeam:12","Team:MaxPerPrivateTeam:12"],"Big"),
            #Tier(100,["Team:MaxPerTeam:15","Team:MaxPerPrivateTeam:15"],"WTF")
        ]

        self.current = None
        self.tm = TimerManager.TimerManager()
        self.enabled = True
Example #5
0
 def __init__(self, ssbot, md):
     ssbot.register_module_info(
         __name__,
         "pubeventskiller",
         "The Junky",
         "pubeventsk",
         ".01"
     )
     self.botname2kill = "Bot-EG-Pubvents"
     self.answered = True
     self.tm = TimerManager.TimerManager()
     self.tm.set(10, 1)
     self.bots_to_check = {
         "Bot-EG-Pubvents": True,
     }
     pass
Example #6
0
    def __init__(self, bot, md):
        BotInterface.__init__(self, bot, md)
        bot.register_module_info(__name__, "stats", "The Junky",
                                 "Stats Retrieval Module", ".01")
        self._db = Amysql(self.logger)
        self._db.setDbCredentialsFromFile(self.module_path + R"/statsdb.conf",
                                          "db")
        self._db.start()
        # self.clist = [COMMAND_TYPE_PUBLIC, COMMAND_TYPE_TEAM,
        #   COMMAND_TYPE_FREQ, COMMAND_TYPE_PRIVATE, COMMAND_TYPE_CHAT]
        self.clist = [COMMAND_TYPE_PRIVATE]
        # self._sql_command_id = bot.register_command(
        #   '!sql', None, 9, self.clist, "web", "[query]", 'sql it zz')
        # self._sqlnl_command_id = bot.register_command(
        #   '!sqlnl', None, 9, self.clist, "web", "[query]", 'sql it zz')
        self._last_jp = bot.register_command('!jackpots', None, 0, self.clist,
                                             "Stats", "", 'last jackpots won')
        self._recs = bot.register_command('!recs', None, 0, self.clist,
                                          "Stats", "[reset id]", 'top ratios')
        self._points = bot.register_command('!points', None, 0, self.clist,
                                            "Stats", "[reset id]",
                                            'Top points')
        self._squads = bot.register_command('!squads', None, 0, self.clist,
                                            "Stats", "[reset id]",
                                            'top squads')
        self._resets = bot.register_command('!resets', None, 0, self.clist,
                                            "Stats", "", 'recentreset ids')
        self.level = logging.DEBUG
        self.timer_man = TimerManager.TimerManager()
        self.timer_man.set(.01, 1)
        self.timer_man.set(300, 2)
        self.chat = bot.add_chat("st4ff")
        self.cache = {
            # !cmd: (Cached_result, time)
            "!jackpots": (None, 0, "jackpots.txt"),
            "!recs": (None, 0, "recs.txt"),
            "!points": (None, 0, "points.txt"),
            "!squads": (None, 0, "squads.txt")
        }

        formatter = logging.Formatter('%(message)s')
        handler = LoggingRemoteHandler(logging.DEBUG, bot, "Ratio")
        handler.setFormatter(formatter)
        self.logger.addHandler(handler)
Example #7
0
    def __init__(self, bot, md):
        BotInterface.__init__(self, bot, md)
        bot.register_module_info(
            __name__,
            "MysqLtest",
            "The Junky",
            "egdldb helper",
            ".01b"
        )
        self._db = Amysql(self.logger)
        self._db.setDbCredentialsFromFile(
            self.module_path + R"/egdldb.conf", "db")
        self._db.start()
        self.clist = [COMMAND_TYPE_PUBLIC, COMMAND_TYPE_TEAM,
                      COMMAND_TYPE_FREQ, COMMAND_TYPE_PRIVATE,
                      COMMAND_TYPE_CHAT]
        self.commands = {
            # bot.register_command(
            #     '!sql',
            #     None,
            #     9,
            #     self.clist,
            #     "db",
            #     "[query]",
            #     'sql it zz'
            # ): (self.cmd_sql, ""),
            bot.register_command(
                '!sqlnl',
                None,
                9,
                self.clist,
                "db",
                "[query]",
                'sql it zz'
            ): (self.cmd_sql, "nl"),
            bot.register_command(
                '!addplayer',
                "!ap",
                5,
                self.clist,
                "egdl",
                "[name:vp:squadid]",
                'create/add new player to current league'
            ): (self.cmd_ap, ""),
            bot.register_command(
                '!changeplayer',
                "!cp",
                5,
                self.clist,
                "egdl",
                "[name:vp:squadid]",
                'update existing player'
            ): (self.cmd_cp, ""),
            bot.register_command(
                '!deleteplayer',
                "!dp",
                5,
                self.clist,
                "egdl",
                "[name]",
                'update existing player'
            ): (self.cmd_dp, ""),
            bot.register_command(
                '!listsquads',
                "!ls",
                5,
                self.clist,
                "egdl",
                "",
                'list squads'
            ): (self.cmd_ls, ""),
            bot.register_command(
                '!listplayers',
                "!lp",
                5,
                self.clist,
                "egdl",
                "[squad]",
                'list squads'
            ): (self.cmd_lp, "")
        }
        self.level = logging.DEBUG
        self.timer_man = TimerManager.TimerManager()
        self.timer_man.set(.01, 1)
        self.timer_man.set(300, 2)
        self.chat = bot.add_chat("st4ff")

        formatter = logging.Formatter('%(message)s')
        handler = LoggingRemoteHandler(logging.DEBUG, bot, "Ratio")
        handler.setFormatter(formatter)
        self.logger.addHandler(handler)
Example #8
0
    def __init__(self, bot, md):
        BotInterface.__init__(self, bot, md)
        bot.register_module_info(
            __name__,
            "Population Monitoring/Logger",
            "The Junky",
            "logs some pop stats to chart later",
            ".001"
        )
        self._db = Amysql(self.logger)
        self._db.setDbCredentialsFromFile(
            self.module_path + R"/popmon.conf", "db")
        self._db.start()
        self.clist = [
            COMMAND_TYPE_PUBLIC,
            COMMAND_TYPE_TEAM,
            COMMAND_TYPE_FREQ,
            COMMAND_TYPE_PRIVATE,
            COMMAND_TYPE_CHAT
        ]
        self.CID_SP = bot.register_command(
            '!showpop',
            "!sp",
            2,
            self.clist,
            "Pop",
            "limit",
            'show last x entries'
        )
        self.CID_SPG = bot.register_command(
            '!showpopgraph',
            "!spg",
            2,
            self.clist,
            "Pop",
            "",
            'graph last 70 pop entries'
        )
        self.level = logging.DEBUG

        self.chat = bot.add_chat("st4ff")
        self.QTYPE_SQL = 1
        self.QTYPE_SPG = 2
        self.QTYPE_ADDPOP = 3

        self.timer_man = TimerManager.TimerManager()

        self.TID_CHECK_RESULTS = 1
        self.TID_PING_DB = 2
        self.TID_PARSE_STATS = 3
        self.TID_LOG_STATS = 4

        self.timer_man.set(.01, self.TID_CHECK_RESULTS)
        self.timer_man.set(300, self.TID_PING_DB)
        self.timer_man.set(30, self.TID_PARSE_STATS)

        formatter = logging.Formatter('%(message)s')
        handler = LoggingPublicHandler(logging.DEBUG, bot, "*bot")
        handler.setFormatter(formatter)
        self.logger.addHandler(handler)
        # gayness because of master bot doesnt auto load all the other
        # classes in the file int ts context

        try:  # if running in stand alone
            self.popStats = PopStats()
        except NameError:
            self.popStats = md.module.PopStats()