Exemple #1
0
 def _addRandomWord(self):
     if 'randomPlayers' not in self._roundSettings or not self._roundSettings[
             'randomPlayers']:
         return
     if 'randomWordsLimit' not in self._roundSettings or not self._roundSettings[
             'randomWordsLimit']:
         return
     randomPlayersProcessed = 0
     for randomPlayer in self._RANDOM_PLAYER:
         if randomPlayersProcessed >= self._roundSettings['randomPlayers']:
             break
         if not Player.get(telegram_id=randomPlayer['id']):
             Player.add(telegram_id=randomPlayer['id'],
                        name=randomPlayer['first_name'])
         randomPlayersProcessed += 1
         if Word.getListByRoundId(telegram_id=randomPlayer['id'],
                                  **self._gameState['query']):
             continue
         randomWordsCount = 0
         wordsAdded = 0
         while wordsAdded <= self._roundSettings['randomWordsLimit']:
             if randomWordsCount > 20:
                 break
             randomWordsCount += 1
             word = self._getRandom(
                 "ushakov",
                 wordMinLength=self._roundSettings['minWordsPerPlayer'])
             if not word:
                 continue
             Word.add(word=word,
                      player_id=Player.getId(randomPlayer),
                      wordsLimit=self._roundSettings['randomWordsLimit'],
                      wordMinLength=self._roundSettings['minWordLength'],
                      **self._gameState['query'])
             wordsAdded += 1
Exemple #2
0
 def _refreshPlayerState(self, newPlayer=False):
     telegram_id = self.update.effective_user.id
     logging.info("Refreshing player telegram_id %s" % str(telegram_id))
     if self._playerState and not telegram_id:
         telegram_id = self._playerState['telegram_id']
     self._playerState = Player.get(telegram_id=telegram_id)
     if not self._playerState:
         if newPlayer:
             raise PlayerAddingError
         Player.add(self.update)
         self._refreshPlayerState(True)