def join_spree_get_amount(update, context): global current_spree_id text = update.message.text validation = Validation(None) validation_result = validation.isValidAmount(text) if validation_result == "": buttons = [[InlineKeyboardButton(text='Back', callback_data=str(END))]] keyboard = InlineKeyboardMarkup(buttons) update.message.reply_text(text='Successfully joined Spree! ✅', reply_markup=keyboard) amt = "%.2f" % (float(text)) user_name = update.effective_user['username'] spree_ref = db.collection(u'Sprees').document(current_spree_id) spree_obj = spree_ref.get().to_dict() total_people = spree_obj.get('total_people') total_people.append(user_name) people_num = spree_obj.get('people_num') + 1 curr_amt = float(spree_obj.get('current_amount')) + float(amt) remaining_amt = float(spree_obj.get('remaining_amount')) - float(amt) spree_ref.set( { u'total_people': total_people, u'people_num': people_num, u'current_amount': curr_amt, u'remaining_amount': remaining_amt }, merge=True) if remaining_amt <= 0.0: #send shit here send_text = 'Your spree ' + spree_obj.get( 'Spree_name' ) + ', is complete! 🎉\nThe minimum spending of $' + str( spree_obj.get('min_amount') ) + ' has been met. \n\nHere are your fellow Spreenters: ' for list_username in total_people: send_text += '\n @' + list_username print(send_text) user_db = db.collection(u'Users') for list_username in total_people: temp_user = user_db.where(u'Username', u'==', list_username).limit(1).stream() for temp_o in temp_user: lol = temp_o.to_dict() list_userid = lol['User_id'] bot.sendMessage(chat_id=list_userid, text=send_text) spree_ref.delete() current_spree_id = None return SHOWING else: bot.sendMessage(chat_id=update.effective_user['id'], text=validation_result)
def join_spree_get_amount(update, context): global current_spree_id text = update.message.text validation = Validation(None) validation_result = validation.isValidAmount(text) if validation_result == "": buttons = [[InlineKeyboardButton(text='Back', callback_data=str(END))]] keyboard = InlineKeyboardMarkup(buttons) update.message.reply_text(text='Successfully joined Spree!', reply_markup=keyboard) amt = "%.2f" % (float(text)) user_name = update.effective_user['username'] spree_ref = db.collection(u'Sprees').document(current_spree_id) spree_obj = spree_ref.get().to_dict() total_people = spree_obj.get('total_people') total_people.append(user_name) people_num = spree_obj.get('people_num') + 1 curr_amt = spree_obj.get('current_amount') + float(amt) remaining_amt = spree_obj.get('remaining_amount') - float(amt) spree_ref.set( { u'total_people': total_people, u'people_num': people_num, u'current_amount': curr_amt, u'remaining_amount': remaining_amt }, merge=True) if remaining_amt <= 0: #send shit here spree_ref.delete() current_spree_id = None return SHOWING else: bot.sendMessage(chat_id=update.effective_user['id'], text=validation_result)