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