Example #1
0
    def check_command(self, params):
        if params[0] == 0:  # don't react to server-own messages
            return
        #
        msg = params[2].strip()
        if not msg.startswith('/'):
            return
        #
        msg = msg[1:]

        echo = None
        if msg in self.callvotes:
            vote_details = self.callvotes[msg]
            echo = messages.Echo(vote_details[0], vote_details[1])

            login = params[1]
            player = self.controller.get_player_by_login(login)
            try:
                if self.controller.call_vote_ex(echo, self.ratio, self.timeout,
                                                1):
                    nickname_clean = utilities.strip_colors(player.nickname)
                    #self.controller.chat_send_server_message(nickname_clean + ' started the vote: ' + vote_details[1] + '')
                    #self.controller.chat_send_server_message(nickname_clean)
                #
            except Exception as exc:
                self.controller.logger.message(str(exc), log.LOG_ERROR)
Example #2
0
 def player_list_to_dc(self, msg):
     players = self.controller.get_player_list()
     msg = str(len(players)) + ' playing.\n'
     for player in players:
         msg += utilities.strip_colors(
             player['NickName']) + ' [' + player['Login'] + ']\n'
     #
     self.send_string_to_dc(msg)
Example #3
0
    def player_connect(self, login):
        player = self.controller.get_player_by_login(login)
        if player is None:
            return
        #

        nickname_clean = utilities.strip_colors(player.nickname)
        msg = '**' + nickname_clean + '**[' + player.login + '] connected. (' + str(
            len(self.controller.players)) + ' online)'
        self.send_string_to_dc(msg)
Example #4
0
    def chat_to_dc(self, params):
        if params[0] == 0:
            return
        #
        if params[2].startswith('/'):
            return
        #

        login = params[1]
        player = self.controller.get_player_by_login(login)
        if player is None:
            return
        #

        nickname_clean = utilities.strip_colors(player.nickname)
        if nickname_clean is None:
            nickname_clean = ''
        #

        msg = '**' + nickname_clean + '**[' + login + '] : ' + params[2]

        self.send_string_to_dc(msg)
Example #5
0
 def echo(self, params):
     if len(params) != 2:
         return
     #
     if params[1] == 'xaseco::dedimania':
         vals = params[0].split('#')
         if len(vals) < 3:
             return
         #
         place = vals[0]
         time = vals[1]
         login = vals[2]
         if len(vals) > 3:
             # login contains the '#' character (is it even possible?)
             login = ''.join(vals[2:])
         #
         player = self.controller.get_player_by_login(login)
         if player is None:
             nickname = login
         else:
             nickname = utilities.strip_colors(player.nickname)
         #
         msg = '**' + nickname + '**[' + login + '] gained Dedimania place **' + place + '** with a time of **' + time + '**'
         self.send_string_to_dc(msg)
Example #6
0
 def new_challenge(self, params):
     map = params[0]
     mapname_clean = utilities.strip_colors(map['Name'])
     msg = 'Switching to map **' + mapname_clean + '** by **' + map[
         'Author'] + '**'
     self.send_string_to_dc(msg)