def existed_user_action(user, message): if user.state == 1: ask_for_refer(user, message) elif user.state == 2: wait_for_refer(user, message) elif user.state == 3: main_menu_action(user, message) elif user.state == 4: invest_page_action(user, message) elif user.state == 5: referal_page_action(user, message) elif user.state == 10: pay_in_action(user, message) return elif user.state == 20: remind_outcome_page(user, message) elif user.state == 40: payment_page_action(user, message) elif user.state == 41: wait_for_payeer(user, message) elif user.state == 30: if message.text == 'Инвестировать': user.dol_invested_sum += user.dol_accumulated_sum user.rub_invested_sum += user.rub_accumulated_sum user.rub_accumulated_sum = 0 user.dol_accumulated_sum = 0 to_main_page(user, 'Накопленная сумма успешно инвестирована') elif message.text == 'Назад': to_main_page(user) user.save()
def remind_outcome_page(user, message): if message.text == 'Реинвестировать': user.dol_invested_sum += user.dol_remind_outcome user.rub_invested_sum += user.rub_remind_outcome user.dol_remind_outcome = 0 user.rub_remind_outcome = 0 to_main_page(user, 'Ваши накопления успешно реинвестированы') elif message.text == 'Назад': to_main_page(user)
def pay_in_action(user, message): if message.text == 'Назад': to_main_page(user, '✅') elif message.text == 'Оплатил': bot.send_message( user.id, '''Мы запустили проверку. Если все верно, вы узнаете о результатах. \n\nЕсли вам ничего не пришло, проверьте верность платежа. Адрес назначения, секретный ключ, отсутствие секретной фразы.''' ) run_payment_check()
def ask_for_refer(user, message): if message.text == 'Да': user.state = 2 markup = types.ReplyKeyboardMarkup(resize_keyboard=True) back_button = types.KeyboardButton('Пропустить') markup.add(back_button) bot.send_message( user.id, 'Есть ли у вас ID пользователя-рефера? Без него вам будет выплаченно 115%', reply_markup=markup) elif message.text == 'Нет': user.state = 3 to_main_page(user, success_registration) else: bot.send_message(user.id, 'Я понимаю только Да и Нет')
def wait_for_payeer(user, message): if message.text == 'Назад': to_main_page(user) else: import re p = re.compile('P[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$') res = p.match(message.text) if res: user.payeer = message.text to_main_page(user) else: bot.send_message( user.id, 'Это не является номером кошелька в системе Payeer.\n\n Более подробно на https://payeer.com' )
def payment_page_action(user, message): # if message.text == 'Подтвердить': # status = send_remind(user, message.text) # if status == 0: # message = 'Перевод был успешно выполнен' # elif status == 1: # message = 'В настоящий момент мы не можем перевести вам средства, зайдите в этот раздел позже' # elif status == 2: # message = 'Возникла ошибка при переводе рублей' # elif status == 3: # message = 'Возникла ошибка при переводе долларов' # elif status == 4: # message = 'Перевод не был выполнен. Мы делаем переводы от 1 рулбля и/или 0.01 доллара.' # else: # message = 'Возникла неизвестная ошибка, повторите попытку позже' # to_main_page(user, message) if message.text == 'Изменить': change_payeer(user) elif message.text == 'Назад': to_main_page(user)
def referal_page_action(user, message): if message.text == 'Количество оплативших реералов': payed_refs = User.objects.filter(ref_user_id=user.id, have_payed=True).all() bot.send_message( user.id, 'Количество оплативших рефералов: %d чел.' % len(payed_refs)) elif message.text == 'Накопленная сумма': user.state = 30 markup = types.ReplyKeyboardMarkup(resize_keyboard=True) markup.add(types.KeyboardButton('Инвестировать'), types.KeyboardButton('Назад')) bot.send_message(user.id, 'Накопленная Вами сумма: %.2f рублей, %.2f долларов' % (user.rub_accumulated_sum, user.dol_accumulated_sum), reply_markup=markup) elif message.text == 'ID для рефералов': bot.send_message(user.id, 'Ваш ID: %s' % str(user.id)) elif message.text == 'Назад': to_main_page(user, '✅')
def run(): try: now = timezone_now().astimezone(tz) check_time = Time.objects.filter(id=1).first() if not check_time: check_time = Time(time=now) previous_check = now - datetime.timedelta(days=10) else: previous_check = check_time.time.astimezone(tz) data = get_json_data(previous_check, now) errors = int(data['auth_error']) if errors != 0: raise Exception(data['errors']) else: history = data['history'] if len(history): for key, operation in history.items(): if operation['to'] == payeer_account and operation[ 'status'] == 'success': user = User.objects.filter( id=operation['comment']).first() if user: amount = float(operation['creditedAmount']) if operation['creditedCurrency'] == 'RUB': currency = True else: currency = False proceed_invest(user, amount, currency) to_main_page( user, 'Мы приняли вашу оплату %.2f %s в качестве бунуса даём вам ссылку на обучающий канал "Криптонит" https://t.me/cryptoparadise' % (float(operation['creditedAmount']), operation['creditedCurrency'])) user.save() check_time.time = now check_time.save() except Exception as e: import traceback traceback.print_exc() print(e)
def wait_for_refer(user, message): if message.text == 'Пропустить': user.state = 3 to_main_page(user, success_registration) else: try: ref_user = User.objects.filter(id=message.text).first() except Exception: bot.send_message(user.id, 'Невалидный ID') return if ref_user: if ref_user.id == user.id: bot.send_message(user.id, 'Вы не можете указать себя рефералом') else: user.ref_user = ref_user user.state = 3 user.save() to_main_page(user, success_registration) else: bot.send_message( user.id, 'Пользователь с таким ID не найден! Попробуйте еще раз.')
def invest_page_action(user, message): if message.text == 'Инвестировать': markup = types.ReplyKeyboardMarkup(resize_keyboard=True) user.state = 10 # new_key = get_new_key(user) # user.payment_key = new_key bot.send_message(user.id, user.id) pay = types.KeyboardButton('Оплатил') back = types.KeyboardButton('Назад') markup.add(pay, back) bot.send_message( user.id, '''Это ваш ключ для оплаты. Вставьте его в поле комментарий при оплате в системе payeer. \n\n Средства перечислять на счет %s \n\nБольше информации на https://payeer.com/''' % payeer_account, reply_markup=markup) elif message.text == 'Инвестированная сумма': bot.send_message( user.id, 'Вы инвестировали %.2f рублей, %.2f долларов' % (user.rub_invested_sum, user.dol_invested_sum)) elif message.text == 'Выплаченная сумма': bot.send_message( user.id, 'Вы получили %.2f рублей, %.2f долларов' % (user.rub_payed_outcome, user.dol_payed_outcome)) elif message.text == 'Остаток по выплатам': # user.state = 20 # markup = types.ReplyKeyboardMarkup(resize_keyboard=True) # markup.add(types.KeyboardButton('Реинвестировать'), # types.KeyboardButton('Назад') # ) bot.send_message( user.id, 'Вы должны получить ещё %.2f рублей, %.2f долларов' % (user.rub_remind_outcome, user.dol_remind_outcome)) elif message.text == 'Назад': to_main_page(user, '✅')