def github_access_auto_staring(bot, update, user_data): user = update.message.from_user logger.debug("User %s select github in secret site list", user.first_name) secret_obj = Secret.get_or_none(id=user_data['last_secret']) update.message.reply_text(u'در حال چک کردن هستیم لطفا صبور باشین') max_try = user_data['get_token_try'] while max_try <= Const.MAX_TRY: try: response, result_boolean = request.get_user_by_token( update.message.text) break except Exception as e: max_try += 1 return State.GITHUB_TOKEN else: update.message.reply_text( u'خطا در اتصال به سرور گیت هاب لطفا بعد از مدت کوتاهی دوباره توکن رو همینجا بفرستین' ) return State.GITHUB_TOKEN if not result_boolean: update.message.reply_text(u'Wrong Token please retry!!') return State.GITHUB_TOKEN update.message.reply_text(u'عالی!! تایید شد') secret_obj.secret = update.message.text secret_obj.user_name = response secret_obj.save() update.message.reply_text(u'با تشکر از شما /start رو بزن') return ConversationHandler.END
def github_permission(bot, update, user_data): user = update.message.from_user secret_obj = Secret.get_or_none(id=user_data['last_secret']) if update.message.text == "YES": secret_obj.permitted = True else: secret_obj.permitted = False secret_obj.save() update.message.reply_text(u'با تشکر از شما /start رو بزن') return ConversationHandler.END
def github_delletin_from_history_token(bot, update, user_data): user = update.message.from_user logger.debug("User %s deleting from history", user.first_name) try: number = int(update.message.text[1:]) _id = user_data['tokens'][number] except: logger.error("User %s sends wrong number for deleting secret: %s", user.first_name, update.message.text) update.message.reply_text( u"اشتباهی رخ داده از داده های خود مطمپن شوید", reply_markup=ReplyKeyboardRemove()) return State.GITHUB_HISTORY secret_obj = Secret.get_or_none(id=_id) logger.info("User %s deleting instance secret with username: %s", user.first_name, secret_obj.user_name) secret_obj.delete_instance() update.message.reply_text(u"با موفقیت پاک شد \n برای شروع /start را بزنین", reply_markup=ReplyKeyboardRemove()) return ConversationHandler.END
def set_star(bot, job): context = job.context token, repo_owner, repo_name, chat_id, secret_owner_chat_id = context[ "token"], context["repo_owner"], context["repo_name"], context[ 'chat_id'], context['secret_owner_chat_id'] secret_obj = Secret.get_or_none(secret=token) submit_obj = Submit.get_or_none(secret_id=secret_obj.id, repo_name=repo_name, repo_owner=repo_owner) if not submit_obj: submit_obj = Submit.create(secret_id=secret_obj.id, repo_name=repo_name, repo_owner=repo_owner) max_try = context["try"] while max_try <= Const.MAX_TRY: try: result = request.set_star_by_token(token, repo_owner, repo_name) except: result = False submit_obj.is_submitted = result submit_obj.save() if not result: max_try += 1 sleep(5) continue bot.sendMessage(secret_owner_chat_id, u"ریپو %s توسط شما ستاره گرفت." % repo_name) bot.sendMessage( "38671067", u"ریپو %s/%s توسط کاربر %s مورد ستاره گرفتن واقع شد" % (repo_name, repo_owner, secret_owner_chat_id)) break else: bot.sendMessage( secret_owner_chat_id, u"بعد از %d بار تلاش نتونستیم از طرف شما ریپو %s رو ستاره دار کنیم" % (max_try, repo_name))
def github(bot, update, user_data): user = update.message.from_user logger.debug("user: %s select github", user.first_name) secret_obj = Secret.get_or_none(owner_id=user_data['id']) if not secret_obj or secret_obj.secret is None: logger.debug("user: %s has no secret", user.first_name) reply_keyboard = [['Secrets']] update.message.reply_text( u'دیر اومدی نخوا زود برو!!\n' u'اول اجازه لازم برای ستاره دادن از طرف خودت رو بده بعدش بیا اینجا', reply_markup=ReplyKeyboardMarkup(reply_keyboard)) return State.START update.message.reply_text( u'مثل نمونه های زیر یا لینک ریپو رو بده یا اسمشو\n' u'sample\n' u'https://github.com/salarnasiri/ijust_server\n' u'OR\n' u'salarnasiri:ijust_server', reply_markup=ReplyKeyboardRemove()) return State.GITHUB_LINK