Exemple #1
0
def callback(message):
    try:
        user = get_user(message)
        logger.info("{0}|{1}|{2}: {3}".format(message.chat.username,
                                              message.chat.first_name,
                                              message.chat.last_name,
                                              message.text))

        if message.text in [
                'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница',
                'Суббота'
        ]:
            bot_send_message_with_keyboard(
                message.chat.id, get_week_day_schedule(message.text, user))
        elif message.text == 'Сегодня':
            weekday = get_time().weekday()
            if weekday == 6:
                bot_send_message_with_keyboard(message.chat.id,
                                               "Сегодня выходной :)\n")
            else:
                bot_send_message_with_keyboard(
                    message.chat.id, "<b>{0}:</b>\n{1}".format(
                        message.text,
                        database.getschedule(user.course, user.idgroup,
                                             user.subgroup, weekday,
                                             get_week_number())))
        elif message.text == 'Завтра':
            tomorrow = get_time() + datetime.timedelta(days=1)
            weekday = tomorrow.weekday()
            if weekday == 6:
                bot_send_message_with_keyboard(message.chat.id,
                                               "Завтра выходной :)\n")
            else:
                bot_send_message_with_keyboard(
                    message.chat.id, "<b>{0}:</b>\n{1}".format(
                        message.text,
                        database.getschedule(user.course, user.idgroup,
                                             user.subgroup, weekday,
                                             get_week_number(tomorrow))))
        elif message.text == 'Сброс':
            bot.reply_to(message, 'Сброс настроек!')
            registration(message)
        elif message.text.lower() == 'anime' or message.text.lower(
        ) == 'аниме':
            bot.reply_to(message, 'cила !')
        elif message.chat.type == 'private':
            bot.send_message(
                message.chat.id,
                'Я не знаю что ответить 😢 Попробуйте команду /help')
    except Exception as e:
        bot.reply_to(message,
                     'Что-то пошло не так :/ Попробуйте команду /help')
        logger.error("{0}|{1}|{2}: {3} - ERROR_MSG: {4}".format(
            message.chat.username, message.chat.first_name,
            message.chat.last_name, message.text, e))
Exemple #2
0
def get_week_day_schedule(week_day, user):
    current_week_day = get_time().weekday()
    week = get_week_number()

    if current_week_day > database.day_number[week_day.lower()]:
        week = 2 if week == 1 else 1
        return "<b>{0} на следующей неделе:</b>\n{1}".format(
            week_day,
            database.getschedule(user.course, user.idgroup, user.subgroup,
                                 database.day_number[week_day.lower()], week))

    return "<b>{0}:</b>\n{1}".format(
        week_day,
        database.getschedule(user.course, user.idgroup, user.subgroup,
                             database.day_number[week_day.lower()], week))
Exemple #3
0
def tomorrow(message):
    logger.info("{0}|{1}|{2}: {3}".format(message.chat.username,
                                          message.chat.first_name,
                                          message.chat.last_name,
                                          message.text))
    try:
        user = get_user(message)
        tomorrow = get_time() + datetime.timedelta(days=1)
        weekday = tomorrow.weekday()
        if weekday == 6:
            bot_send_message_with_keyboard(message.chat.id,
                                           "Завтра выходной :)\n")
        else:
            bot_send_message_with_keyboard(
                message.chat.id, "<b>{0}:</b>\n{1}".format(
                    'Завтра',
                    database.getschedule(user.course, user.idgroup,
                                         user.subgroup, weekday,
                                         get_week_number(tomorrow))))
    except Exception as e:
        bot.reply_to(message,
                     'Что-то пошло не так :/ Попробуйте команду /help')
        logger.error("{0}|{1}|{2}: {3} - ERROR_MSG: {4}".format(
            message.chat.username, message.chat.first_name,
            message.chat.last_name, message.text, e))
Exemple #4
0
def schedule():

    username = get_username()
    if not username:
        return redirect(url_for("login"))

    days = [
        "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday",
        "Sunday"
    ]

    amhourlist = [
        "0000-0030", "0030-0100", "0100-0130", "0130-0200", "0200-0230",
        "0230-0300", "0300-0330", "0330-0400", "0400-0430", "0430-0500",
        "0500-0530", "0530-0600", "0600-0630", "0630-0700", "0700-0730",
        "0730-0800", "0800-0830", "0830-0900", "0900-0930", "0930-1000",
        "1000-1030", "1030-1100", "1100-1130", "1130-1200"
    ]

    pmhourlist = [
        "1200-1230", "1230-1300", "1300-1330", "1330-1400", "1400-1430",
        "1430-1500", "1500-1530", "1530-1600", "1600-1630", "1630-1700",
        "1700-1730", "1730-1800", "1800-1830", "1830-1900", "1900-1930",
        "1930-2000", "2000-2030", "2030-2100", "2100-2130", "2130-2200",
        "2200-2230", "2230-2300", "2300-2330", "2330-0000"
    ]

    if request.method == "GET":
        schedule_string = db.getschedule(username)
        return render_template("schedule.html",
                               days=days,
                               amhourlist=amhourlist,
                               pmhourlist=pmhourlist,
                               schedule_string=schedule_string)
    else:
        #post
        sched_data = request.form.getlist('scheduledata')

        s = ["0" for i in range(336)]
        for item in sched_data:
            s[int(item)] = "1"
        s = "".join(s)

        db.editschedule(username, s)
        return render_template("schedule.html",
                               days=days,
                               amhourlist=amhourlist,
                               pmhourlist=pmhourlist,
                               schedule_string=s)