Beispiel #1
0
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)