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
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
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
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
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
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
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
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
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
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
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
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
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
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
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