def build_msg_trade(bot, chat_id, player_id=None): if player_id is None: MessageHelper.build_choose_friend_message( bot=bot, chat_id=chat_id, mode=Constants.CHOOSE_FRIEND_MODE.TRADE) return else: player = DBAccessor.get_player(chat_id) friend = DBAccessor.get_player(int(player_id)) if player.trade is not None: bot.send_message(chat_id=player.chat_id, text='You are currently trading with {}'.format( DBAccessor.get_player( int(player.trade.partner_id)).username)) return if friend.trade is not None: bot.send_message( chat_id=player.chat_id, text='Your friend is currently trading with somebody else') return keys = [[ InlineKeyboardButton( text='Yes', callback_data=Constants.CALLBACK.TRADE_IVITE_CONFIRM( player.chat_id)), InlineKeyboardButton( text='No', callback_data=Constants.CALLBACK.TRADE_INVITE_DENY( player.chat_id)) ]] reply_keyboard = InlineKeyboardMarkup(inline_keyboard=keys) invite_msg = bot.send_message(chat_id=player_id, text='Your friend ' + str(player.username) + ' wants to trade. Are you interested?', reply_markup=reply_keyboard) friend.messages_to_delete.append( Message.Message(_id=invite_msg.message_id, _title=Constants.MESSAGE_TYPES.TRADE_INVITE_MSG, _time_sent=time.time())) query_friend = DBAccessor.get_update_query_player( messages_to_delete=friend.messages_to_delete) DBAccessor.update_player(_id=friend.chat_id, update=query_friend) player.trade = Trade(partner_id=friend.chat_id) query_player = DBAccessor.get_update_query_player(trade=player.trade) DBAccessor.update_player(_id=player.chat_id, update=query_player) msg = bot.send_message(chat_id=chat_id, text='Choose your Pokemon to trade:') MessageHelper.append_message_to_player( player.chat_id, message_id=msg.message_id, type=Constants.MESSAGE_TYPES.BAG_MSG) BagMessageBuilder.build_msg_bag(bot=bot, chat_id=player.chat_id, page_number=0, trade_mode=True)
def build_msg_duel_start_nofriend(bot, chat_id): MessageHelper.build_choose_friend_message( bot=bot, chat_id=chat_id, mode=Constants.CHOOSE_FRIEND_MODE.DUEL)