Exemplo n.º 1
0
def delete_handler(message):
    try:
        db.del_user(message.from_user.id)
        tg_bot.send_message(message.chat.id, "Вас больше нет в базе данных")
    except:
        tg_bot.send_message(message.chat.id, "Не удалось удалить, возможно, вас нет в базе данных")
    tg_bot.send_message(message.chat.id,
                        reply_markup=bot_markup.main_menu_keyboard())
Exemplo n.º 2
0
def about_handler(message):
    logging.debug("Handling /about command")
    tg_bot.send_message(message.chat.id, "mptBot - свободный телеграмм бот с открытым " \
                                         "исходным кодом под лицензией MPL 2.0 для " \
                                         "расписания МПТ, которое парсится с сайта.\n"
                                         f"Версия: {config.version}\n" \
                                         "Исходный код: github.com/wellWINeo/mptBot \n"
                                         "В случае обнаружения ошибок, просьба сообщить, " \
                                         "создав issue \n" \
                                         "Чтобы увидеть список команд: /help")
    tg_bot.send_message(message.chat.id,
                        reply_markup=bot_markup.main_menu_keyboard())
Exemplo n.º 3
0
def me_handler(message):
    logging.debug("Handling /me command")
    
    cur_user = db.get_user(message.from_user.id)

    if cur_user != None:
        tg_bot.send_message(message.chat.id, f"Имя - {cur_user.name}\n" \
                                             f"ID - {cur_user.user_id}\n" \
                                             f"Группа - {cur_user.group}")
    else:
        tg_bot.send_message(message.chat.id, "Вас еще нет в базе данных")
    
    tg_bot.send_message(message.chat.id,
                        reply_markup=bot_markup.main_menu_keyboard())
Exemplo n.º 4
0
def start_handler(message):
    logging.debug("[" + str(message.from_user.id) + "] " + "Bot received \"start\" command")
    tg_bot.reply_to(message, "Привет, бот запущен!\nЕго цель — удобный просмотр "\
                             "расписания МПТ, а также он предупреждает о заменах.\n "\
                             "Для того чтобы узнать о комманда введите:\n " \
                             "/help")
    logging.debug("[" + str(message.from_user.id) + "] " + "Initial answer on \"start\" command sent")
    if db.get_user(message.from_user.id) is None:
        logging.debug("[" + str(message.from_user.id) + "] " + "User not present in db")
        tg_bot.send_message(message.chat.id, "Выберите направление: ",
            reply_markup=bot_markup.direction_choose_keyboard())
        logging.debug("[" + str(message.from_user.id) + "] " + "Bot send keyboard markup")

        new_user = users.user(message.from_user.id, message.from_user.first_name)
        db.add_user(new_user)
    else:
        tg_bot.send_message(message.chat.id, "Вы уже есть в базе данных",
                            reply_markup=bot_markup.main_menu_keyboard())
Exemplo n.º 5
0
def schedule_handler(message):
    logging.debug("[{message.from_user.id}] Shedule command")
    cur_user = db.get_user(message.from_user.id)
    if len(message.text.split()) > 1:
        if cur_user == None:
            db.add_user(users.user(message.from_user.id, 
                                   message.from_user.first_name,
                                   _group=" ".join(message.text.split()[1:]),
                                   _status=users.status.ANON))
        else:
            cur_user.comm = cur_user.group
            cur_user.group = " ".join(message.text.split()[1:])
            cur_user.status = users.status.ANOTHER
            db.update(cur_user)
    
    utils.schedule_date(message)
    tg_bot.send_message(message.chat.id,
                        reply_markup=bot_markup.main_menu_keyboard())
Exemplo n.º 6
0
def answer_message_handler(message):
    logging.debug(f"[{message.from_user.id}] Received answer on dir choosing")
    user = db.get_user(message.from_user.id)

    if user != None:
        if user.status == users.status.UNKNOWN:
            groups = utils.mpt.get_groups_by_dir(message.text)
            if len(groups) == 0:
                logging.debug(f"[{user.user_id}] Invalid dir")
                tg_bot.send_message(message.chat.id, "Некорректный ответ, " \
                                                     "попробуйте еще раз",
                                    reply_markup=bot_markup.direction_choose_keyboard())
            else:
                utils.wait_group_choose(message, groups)
                logging.debug(f"[{message.from_user.id}] User hasn't group")
                user.status = users.status.NO_GROUP
                user.group = message.text
                db.update(user)

        elif user.status == users.status.NO_GROUP:
            groups = utils.mpt.get_groups_by_dir(user.group)
            logging.debug(f"[{message.from_user.id}] User fields completed")
            
            if message.text not in groups:
                logging.debug(f"[{user.user_id}] Invalid group")
                tg_bot.send_message(message.chat.id, "Некорректный номер группы," \
                                                     "выберите, используя клавиатуру")
            else:
                utils.group_choosed(message)
                user.group = message.text
                user.status = users.status.COMPLETE
                db.update(user)
                tg_bot.send_message(message.chat.id, "Вы успешно добавлены в бд",
                                    reply_markup=bot_markup.main_menu_keyboard())
    else:
        tg_bot.send_message(message.chat.id, "Something went wrong")
Exemplo n.º 7
0
def changes_handler(message):
    logging.debug("[" + str(message.from_user.id) + "] " + "Changes command")
    utils.changes_handler(message)
    tg_bot.send_message(message.chat.id,
                        reply_markup=bot_markup.main_menu_keyboard())
Exemplo n.º 8
0
def callback_query(call):
    logging.debug("[" + str(call.message.from_user.id) + "] " + "Callback query received")
    utils.schedule_handler(call)
    tg_bot.send_message(call.message.chat.id, "Test",
                        reply_markup=bot_markup.main_menu_keyboard())
Exemplo n.º 9
0
def ping_handler(message):
    tg_bot.send_message(message.chat.id, "Еще здесь <3")
    tg_bot.send_message(message.chat.id,
                        reply_markup=bot_markup.main_menu_keyboard())