def ensure_players_in_db(): existing = db.get_players() local_player_map = player_map.copy() for player in existing: if player.name in local_player_map: del local_player_map[player.name] if len(local_player_map) == 0: return # Get users list response = slack.slack_client.users.list() users = response.body['members'] user_map = {} for user in users: for name, grouping in local_player_map.items(): if user['profile']['real_name'].startswith( name) and not user['deleted']: user_map[name] = user['id'] db.add_player(user['id'], name, grouping) if len(user_map) != len(local_player_map): for key, value in user_map.items(): del local_player_map[key] print('Could not find slack ids for the following ', local_player_map)
def __call__(self, bot, update): user_id = update.message.from_user.id player = fetch_player(user_id, self._players) if player is not None: return player = Player(user_id, update.message.chat_id) text = "User {} is welcome in chat {}".format(user_id, update.message.chat_id) keyboard = [[("CONTINUE", u"Продолжить")]] with self._players.connect() as conn: add_player(player, conn) send_message(player, conn, bot, text, keyboard) logging.info("NEW_USER\t{}".format(user_id))
def post(self): user_id = users.get_current_user().user_id() first_name = self.request.get('first_name') last_name = self.request.get('last_name') psn_id = self.request.get('psn_id') list_me = self.request.get('list_me') == 'on' telegram = self.request.get('telegram') bungie = self.request.get('bungie') dtr = self.request.get('dtr') youtube = self.request.get('youtube') twitch = self.request.get('twitch') player = db.find_player(user_id) if player is None: db.add_player(user_id, first_name, last_name, psn_id, telegram, bungie, dtr, youtube, twitch, list_me) self.redirect('/') else: db.update_player(player, first_name, last_name, psn_id, telegram, bungie, dtr, youtube, twitch, list_me) self.redirect('/players')
def post(self): user_id = users.get_current_user().user_id() first_name = self.request.get("first_name") last_name = self.request.get("last_name") psn_id = self.request.get("psn_id") list_me = self.request.get("list_me") == "on" telegram = self.request.get("telegram") bungie = self.request.get("bungie") dtr = self.request.get("dtr") youtube = self.request.get("youtube") twitch = self.request.get("twitch") player = db.find_player(user_id) if player is None: db.add_player(user_id, first_name, last_name, psn_id, telegram, bungie, dtr, youtube, twitch, list_me) self.redirect("/") else: db.update_player(player, first_name, last_name, psn_id, telegram, bungie, dtr, youtube, twitch, list_me) self.redirect("/players")
def player(handler, name): new_player_added = db.add_player(handler.dbc, handler.sender_id, name, handler.group.gameid, db.ROLE_PLAYER) if new_player_added: template = db.get_template_from_gameid(handler.dbc, handler.group.gameid) db.add_default_items(handler.dbc, handler.sender_id, handler.group.gameid, template) handler.send('Welcome, {}.'.format(name)) else: handler.send('You will now be known as {}.'.format(name))
def start(message): try: global isgamestarted global players isinbase = db.add_player(message.from_user.id, message.from_user.username, message.from_user.first_name, message.from_user.last_name) if isinbase: response = 'You already registered.\n*/rules* - Rules.' else: response = 'Hola, thanks for registration!\n*/rules* - Rules.' players.append(message.from_user.id) if isgamestarted: response += '\n\n_The game is going!_' else: response += '\n\n_The game will begin soon._' bot.send_message(message.chat.id, response, parse_mode='Markdown') except Exception as e: print(e) bot.send_message(message.chat.id, 'Oh, exception :(')
def register_user_post(response): username = response.get_field("username") if not db.user_exists(username): player_id = db.add_player(username) login_cookies(response, username, player_id)
def players(): if request.method == 'POST': if not request.is_json: return jsonify({"msg": "Missing JSON in request"}), 400 return add_player(request.get_json()) return get_players()