def process_change_group_step(message): if db_manager.is_group(message.text): db_manager.update_user_group(message.chat.id, message.text) if db_manager.is_user(message.chat.id): if db_manager.get_user_by_chat_id( message.chat.id).language == constants.lang_en: bot.send_message(message.chat.id, constants.change_group_en) else: bot.send_message(message.chat.id, constants.change_group) else: if message.text == "/cancel": if db_manager.get_user_by_chat_id( message.chat.id).language == constants.lang_en: bot.send_message(message.chat.id, constants.cancel_success_en) else: bot.send_message(message.chat.id, constants.cancel_success) return groups = get_groups() answer_pick = constants.pick_your_group.split("\n")[0] cancel = constants.cancel if db_manager.get_user_by_chat_id( message.chat.id).language == constants.lang_en: answer_pick = constants.pick_your_group_en.split("\n")[0] cancel = constants.cancel_en reply_message = bot.send_message(message.chat.id, answer_pick + "\n\n" + groups + cancel, parse_mode="HTML") bot.register_next_step_handler(reply_message, process_change_group_step)
def process_rename_group_id(message): group_id = str(message.text).replace(" ", "").split(",") if db_manager.is_group(group_id[0]): bot.send_message(message.chat.id, "this is correct group_id") db_manager.rename_group_id(group_id[0], group_id[-1]) else: bot.send_message(message.chat.id, "this is dont correct group_id")
def process_remove_group(message): group_id = str(message.text) if db_manager.is_group(group_id): try: db_manager.remove_group(group_id) bot.send_message(message.chat.id, "Remove {} success".format(group_id)) except: bot.send_message(message.chat.id, "Error remove group {}".format(group_id)) else: bot.send_message(message.chat.id, "Dont found group: {}".format(group_id))
def process_group_step(message): global lang chat_id = message.chat.id group_id = str(message.text) is_group = db_manager.is_group(group_id) if message.text == "/teacher": reply_message = bot.send_message(chat_id, "Enter you name: ") bot.register_next_step_handler(reply_message, process_register_teacher) return if message.text == "/en": lang = constants.lang_en elif message.text == "/ua": lang = constants.lang_ua if is_group: user = tools.get_user_info_from_message(message) if user: user.group_id = group_id user.language = lang db_manager.add_user(user) select_answer = constants.thanks_for_a_registration if lang == constants.lang_en: select_answer = constants.thanks_for_a_registration_en bot.send_message(chat_id, select_answer, reply_markup=tools.get_required_keyboard(lang)) parse_send_message( constants.admin_log, tools.to_bold("New user") + " - @{0} , {1}: {2}".format( user.name_user, tools.to_bold("group"), user.group_id)) else: select_answer = constants.pick_your_group if lang == constants.lang_en: select_answer = constants.pick_your_group_en reply_message = bot.reply_to(message, select_answer + "\n\n" + get_groups(), parse_mode="HTML") bot.register_next_step_handler(reply_message, process_group_step)
def process_check_group_id(message): group_id = str(message.text) if db_manager.is_group(group_id): bot.send_message(message.chat.id, "{} is group".format(group_id)) else: bot.send_message(message.chat.id, "{} is dont group".format(group_id))
def file_handler(message): path = FileManager.path_for_excel file_path = "" FileManager.if_not_exists_dir_make(constants.documents_directory) xlsx_file = "{}.{}".format(path, constants.excel_file_type) xls_file = "{}.{}".format(path, constants.excel_file_type_a) FileManager.if_file_exists_remove(xlsx_file) FileManager.if_file_exists_remove(xls_file) FileManager.download_file(bot, message, FileManager.path_for_excel) file_info = bot.get_file(message.document.file_id) name_file = str(message.document.file_name) type_file = str(file_info.file_path).split(".")[-1] if os.path.isfile(xlsx_file): file_path = xlsx_file elif os.path.isfile(xls_file): file_path = xls_file if name_file[0] == "s": session_array = read_session.read_session(file_path) group_id = session_array[0].group_id if db_manager.is_group_on_session(group_id): db_manager.remove_session_by_group_id(group_id) if session_array: for session in session_array: try: db_manager.add_session(session) except sqlite3.Error as error: bot.send_message( constants.admin_chat_id, "Error in add session to DB\n\n" + str(error)) answer_str = "Session {0} group add to db".format(group_id) parse_send_message(message.chat.id, answer_str) parse_send_message(constants.admin_log, answer_str) print(answer_str) elif name_file[0] == "q": qualification_array = read_session.read_session(file_path) group_id = qualification_array[0].group_id if db_manager.is_group_on_qualification(group_id): db_manager.remove_qualification_by_group_id(group_id) if qualification_array: for item in qualification_array: try: db_manager.add_qualification(item) except sqlite3.Error as error: bot.send_message( constants.admin_chat_id, "Error in add qualification to DB\n\n" + str(error)) answer_str = "Qualification {0} group add to db".format(group_id) parse_send_message(message.chat.id, answer_str) parse_send_message(constants.admin_log, answer_str) print(answer_str) elif type_file == constants.excel_file_type or type_file == constants.excel_file_type_a: lessons = read_lessons.read_lessons(file_path) if lessons: group_id = lessons[0].group_id if db_manager.is_group(group_id): db_manager.remove_lessons_by_group_id(group_id) for lesson in lessons: try: db_manager.add_lesson(lesson) except sqlite3.Error as error: bot.send_message(constants.admin_chat_id, "Error in add lesson to DB " + str(error)) answer_str = "Lessons {0} add to db".format(group_id) parse_send_message(message.chat.id, answer_str) parse_send_message(constants.admin_log, answer_str) print(answer_str) else: bot.send_message(message.chat.id, "Lessons dont found") else: parse_send_message( message.chat.id, "File is not" + tools.to_bold("xlsx") + " and " + tools.to_bold("xls"))