def bidding(call): if call.from_user.id != id_list[Preferans.current_player()]: return if Preferans.update_bidding(call.data): ask_bidding() else: result = '' if Preferans.game_type() == 'game': result = 'Играет ' + name_list[ Preferans.declarer()] + '. Ждем пока игрок закажет игру.' if Preferans.game_type() == 'misere': result = name_list[Preferans.declarer( )] + ' играет мизер. Ждем пока игрок понесет карты.' if Preferans.game_type() == 'all-pass': result = 'Распас. Ход с игрока ' + name_list[Preferans.move()] for i in id_list: if i != id_list[Preferans.declarer()]: bot.send_message(i, result) if Preferans.game_type() == 'game' or Preferans.game_type( ) == 'misere': talon = 'Прикуп:\n' + hand_to_string(Preferans.talon()) for i in id_list: bot.send_message(i, talon) Preferans.add_talon() keyboard = hand_to_keyboard(Preferans.hand_declarer()) bot.send_message(id_list[Preferans.declarer()], text='Что хотите понести?', reply_markup=keyboard) else: start()
def discarding(call): if call.from_user.id != id_list[Preferans.current_player()]: return Preferans.discard(int(call.data)) Preferans.inc_discard() bot.edit_message_reply_markup(chat_id=call.from_user.id, message_id=call.message.message_id, reply_markup=hand_to_keyboard(Preferans.hand_declarer())) if Preferans.discarded() == 2: Preferans.inc_discard() if Preferans.game_type() == 'game': config.state = 'set_game' bot.send_message(id_list[Preferans.declarer()], text='Закажите игру', reply_markup=game_keyboard()) else: config.state = 'game' start()