예제 #1
0
def start(bot, update, user_data):
    result = update.message.to_dict()

    if update['_effective_user']['username']:
        # check username is admin
        is_admin = database().is_admin(update['_effective_user']['username'])
        user_data["is_admin"] = is_admin
        if is_admin:
            bot.send_message(
                get_chat_id(update),
                BotMessage.admin_menu,
                reply_markup=ReplyKeyboardMarkup([[
                    ButtonMessage.add_admin, ButtonMessage.add_user,
                    ButtonMessage.remove_user, ButtonMessage.submit_help,
                    ButtonMessage.show_help_by_user,
                    ButtonMessage.show_all_helps, ButtonMessage.back_to_main
                ]],
                                                 one_time_keyboard=True))
            return BotState.admin_menu
        else:
            reply_keyboard = [[ButtonMessage.start]]
            bot.send_message(
                get_chat_id(update),
                BotMessage.not_auth,
                reply_markup=ReplyKeyboardMarkup(keyboard=reply_keyboard))
            return BotState.start
    else:
        reply_keyboard = [[ButtonMessage.start]]
        bot.send_message(
            get_chat_id(update),
            BotMessage.not_auth,
            reply_markup=ReplyKeyboardMarkup(keyboard=reply_keyboard))
        return BotState.start
예제 #2
0
def add_user_step_3_handler(bot, update, user_data):
    result = update.message.to_dict()
    if len(result.get("text")) > 0:
        text = result.get("text")
        user_data["add_user"]["nationid"] = text
        bot.send_message(get_chat_id(update), BotMessage.description)
        return BotState.add_user_step_4
예제 #3
0
def add_user_step_2_handler(bot, update, user_data):
    result = update.message.to_dict()
    if len(result.get("text")) > 0:
        text = result.get("text")
        user_data["add_user"]["phonenumber"] = text

    bot.send_message(get_chat_id(update), BotMessage.enter_nation_id)
    return BotState.add_user_step_3
예제 #4
0
def add_user_step_1_handler(bot, update, user_data):
    result = update.message.to_dict()
    if len(result.get("text")) > 0:
        text = result.get("text")
        user_data["add_user"] = {"name": text}

    bot.send_message(get_chat_id(update), BotMessage.enter_phone)
    return BotState.add_user_step_2
예제 #5
0
def help_user_step_1_handler(bot, update, user_data):
    result = update.message.to_dict()
    if len(result.get("text")) > 0:
        text = result.get("text")
        user_data["help_user"] = {"nation_id": text}

    bot.send_message(get_chat_id(update), BotMessage.enter_amount)
    return BotState.help_user_step_2
예제 #6
0
def show_helps_by_user_step_0_handler(bot, update, user_data):
    def users_to_replymarkup():
        result = ''
        for user in database().get_all_user():
            result += \
                "[" + user["name"] + "]" + \
                '(send:' + str(user['nation_id']) + ') \n'
        return result

    bot.send_message(get_chat_id(update), BotMessage.select_user + "\n" + users_to_replymarkup())
    return BotState.show_helps_by_user_step_1_handler
예제 #7
0
def show_helps_by_user_step_1_handler(bot, update, user_data):
    def helps_to_text(id):
        result = ''
        for temp_help in database().get_all_helps_order_by_nation_id(id):
            result += \
                "توضیحات : " + temp_help["description"] + " | " + \
                'مبلغ : ' + temp_help["amount"] + '\n'
        return result

    result = update.message.to_dict()
    if len(result.get("text")) > 0:
        text = result.get("text")
        if not database().is_exist_user_by_nation_id(text):
            bot.send_message(get_chat_id(update), BotMessage.dosnt_exist,
				 reply_markup=ReplyKeyboardMarkup([[ButtonMessage.back_to_main]], one_time_keyboard=True))
            return BotState.admin_menu
        else:
            bot.send_message(get_chat_id(update), helps_to_text(text), reply_markup=ReplyKeyboardMarkup([[ButtonMessage.back_to_main]], one_time_keyboard=True))
            return BotState.admin_menu
    return BotState.admin_menu
예제 #8
0
def add_admin_step_1_handler(bot, update, user_data):
    result = update.message.to_dict()
    if len(result.get("text")) > 0:
        text = result.get("text")
        user_data["add_admin"] = text
    bot.send_message(get_chat_id(update), BotMessage.are_u_sure,
                     reply_markup=ReplyKeyboardMarkup([[
                         ButtonMessage.yes,
                         ButtonMessage.no]],
                         one_time_keyboard=True))
    return BotState.add_admin_step_2
예제 #9
0
def help_user_step_3_handler(bot, update, user_data):
    result = update.message.to_dict()
    if len(result.get("text")) > 0:
        text = result.get("text")
        user_data["help_user"]["description"] = text
        if not database().is_exist_user_by_nation_id(
                user_data["help_user"]["nation_id"]):
            bot.send_message(get_chat_id(update),
                             BotMessage.dosnt_exist,
                             reply_markup=ReplyKeyboardMarkup(
                                 [[ButtonMessage.back_to_main]],
                                 one_time_keyboard=True))
            return BotState.admin_menu
        else:
            database().insert_help(user_data["help_user"]["nation_id"],
                                   user_data["help_user"]["amount"],
                                   user_data["help_user"]["description"])
            bot.send_message(get_chat_id(update),
                             BotMessage.success_insert,
                             reply_markup=ReplyKeyboardMarkup(
                                 [[ButtonMessage.back_to_main]],
                                 one_time_keyboard=True))
            return BotState.admin_menu
예제 #10
0
def show_helps_step_0_handler(bot, update, user_data):
    def show_helps():
        result = ''
        for temp_help in database().get_all_helps():
            result += \
                "نام : " + temp_help["name"] + " | " + \
                "توضیحات : " + temp_help["description"] + " | " + \
                'مبلغ : ' + temp_help["amount"] + '\n'
        return result

    bot.send_message(get_chat_id(update),
                     show_helps(),
                     reply_markup=ReplyKeyboardMarkup(
                         [[ButtonMessage.back_to_main]],
                         one_time_keyboard=True))
    return BotState.admin_menu
예제 #11
0
def add_admin_step_0_handler(bot, update, user_data):
    bot.send_message(get_chat_id(update), BotMessage.enter_username)
    return BotState.add_admin_step_1
예제 #12
0
def add_admin_step_2_cancel_handler(bot, update, user_data):
    bot.send_message(get_chat_id(update), BotMessage.cancel, reply_markup=ReplyKeyboardMarkup([[ButtonMessage.back_to_main]], one_time_keyboard=True))
    return BotState.admin_menu
예제 #13
0
def add_admin_step_2_handler(bot, update, user_data):
    database().insert_admin(user_data["add_admin"])
    bot.send_message(get_chat_id(update), BotMessage.success, reply_markup=ReplyKeyboardMarkup([[ButtonMessage.back_to_main]], one_time_keyboard=True))
    return BotState.admin_menu
예제 #14
0
def remove_user_step_0_handler(bot, update, user_data):
    bot.send_message(get_chat_id(update), BotMessage.select_user)
    return BotState.remove_user_step_1
예제 #15
0
def remove_user_step_2_handler(bot, update, user_data):
    database().remove_user(user_data["remove_user"]["nation_id"])
    bot.send_message(get_chat_id(update), BotMessage.success, reply_markup=ReplyKeyboardMarkup([[ButtonMessage.back_to_main]], one_time_keyboard=True))
    return BotState.admin_menu