示例#1
0
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
示例#2
0
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
示例#3
0
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
示例#4
0
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))
示例#5
0
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