Example #1
0
def repeat(message):
    user.user_id = str(message.chat.id)
    keyboard_hider = types.ReplyKeyboardRemove()
    if user.get_status(message.chat.id):
        print('User exsist')
        markup_key = markup.main_menu()
        bot.send_message(
            message.chat.id,
            'Пользователь существует, чтобы зарегистрироваться вы должны удалить анкету',
            reply_markup=markup_key)
        return False
    if message.text == 'Просмотр анкет':
        bot.send_message(message.chat.id,
                         'Просмотр анкет',
                         reply_markup=keyboard_hider)
    if message.text == 'Проверить статус':
        bot.send_message(message.chat.id,
                         'Проверить статус',
                         reply_markup=keyboard_hider)
    if message.text == 'Зарегистрироваться':
        print('status - ' + str(config.START))
        user.set_status(config.START)
        chose_special(message)
    if message.text == 'Удалить анкету':
        bot.send_message(message.chat.id,
                         'Удалить анкету',
                         reply_markup=keyboard_hider)
        user.delete_user()
        print('Delete from table')
    else:
        bot.send_message(message.chat.id, 'Usage')
Example #2
0
def send_start(message):
    try:
        _id = message.chat.id
        user_id = {'_id': _id}
        if not dict_users.get(_id):
            dict_users[_id] = User(id=_id)
        if not users.find_one(user_id):
            user_id.update({
                'warn_time': dict_users[_id].warn_time,
                'daily_warn_time': {
                    'h': dict_users[_id].daily_warn_time.hour,
                    'm': dict_users[_id].daily_warn_time.minute
                }
            })
            users.insert_one(user_id)
            print(f'[insert user {user_id}]')
        bot.send_message(
            _id,
            f'''Привет, {str(message.chat.first_name)} {str(message.chat.last_name)}.
		\nЯ бот, который поможет тебе следить за твоим расписанием. Для этого мне нужно excel файл заполненый твоими парами в таком формате:''',
            reply_markup=markup.main_menu(types))
        with open('data/img/image_example.png', 'rb') as photo:
            bot.send_photo(_id, photo)
    except IOError:
        print("An IOError has occurred!")
Example #3
0
def send_notice(message):
    _id = message.from_user.id
    if not dict_users.get(id):
        dict_users[_id] = User(_id)
        user = users.find_one({'_id': _id})
        if user:
            dict_users[_id].warn_time = user['warn_time']
    bot.send_message(_id,
                     f'''
	Я буду предупреждать Вас о паре за {dict_users[_id].warn_time} минут до нее, если хотите поменять этот параметр, напишите мне время в мин максимальной длинны 3 знака, например:
	''',
                     parse_mode='html',
                     reply_markup=markup.main_menu(types))
    bot.send_message(_id,
                     '<b>Предупреждай за 5 мин до пары</b>',
                     parse_mode='html')
Example #4
0
def show_schedule(message):
    _id = message.from_user.id
    user = timers.find_one({'_id': _id})
    if not user:
        bot.send_message(
            _id,
            'Вы еще не добавили расписание, добавьте его в настройках, пожалуйста.'
        )
    else:
        user.pop('_id', None)
        mess = show(user)
        for i in mess:
            bot.send_message(message.chat.id,
                             i,
                             reply_markup=markup.main_menu(types),
                             parse_mode='html')
Example #5
0
def send_reminder(message):
    _id = message.from_user.id
    if not dict_users.get(_id):
        dict_users[_id] = User(_id)
        user = users.find_one({'_id': _id})
        if user:
            dict_users[_id].daily_warn_time = datetime.time(
                user['daily_warn_time']['h'], user['daily_warn_time']['m'])
    bot.send_message(message.chat.id,
                     f'''
	Я буду напоминать Вам о следующих парах каждый день в {dict_users[_id].daily_warn_time}. Если хотите поменять этот параметр, отправьте мне, напишите мне время например:
	''',
                     parse_mode='html',
                     reply_markup=markup.main_menu(types))
    bot.send_message(_id,
                     '<b>Ежедневные напоминания в 20:30</b>',
                     parse_mode='html')
Example #6
0
def save_schedule(message):
    try:
        _id = message.from_user.id
        if not dict_users.get(_id):
            dict_users[_id] = User(_id)
        if not dict_users[_id].get_schedule():
            bot.send_message(
                _id,
                'Загрузите файл еще раз, я ничего не получил или соединение прервалось и потерялись данные.'
            )
        else:
            timers.replace_one({'_id': _id},
                               dict_users[_id].get_schedule(),
                               upsert=True)
            bot.send_message(_id,
                             'Спасибо, ваше новое расписание сохранено.',
                             reply_markup=markup.main_menu(types))
    except IOError:
        print(f"An IOError has occurred => {IOError}")
    except KeyError:
        print(f'KeyError => {KeyError}')
Example #7
0
def end_registration(message):
    print(loader_dict)
    user.user_id = message.chat.id
    if message.photo == None:
        bot.send_message(message.chat.id, 'Отправьте фото')
        return False
    photo = message.photo[-1].file_id
    print('Person foto - ' + photo)
    loader_dict.update({'person_foto': photo})
    loader = Loaders()
    if not loader.check_exsist(user.user_id):
        markup_key = markup.main_menu()
        loader.insert_data(user.user_id, loader_dict)
        bot.send_message(message.chat.id,
                         'Регистрация завершена. Ваша заявка обрабатывается.',
                         reply_markup=markup_key)
        user.set_status(config.END_REGISTRATION)
    else:
        markup_keyboard = markup.workers_markup()
        bot.send_message(message.chat.id,
                         'Такой пользователь уже существует.',
                         reply_markup=markup_keyboard)
Example #8
0
def set_warn_time(message):
    print(message.text)
    _id = message.from_user.id
    warn_time = int(re.findall(r' \d{1,3} ', message.text)[0])
    user = users.find_one({'_id': _id})
    if not dict_users.get(_id):
        dict_users[_id] = User(_id, warn_time=warn_time)
        if not user:
            users.insert_one({
                '_id': _id,
                'warn_time': warn_time,
                'daily_warn_time': {
                    'h': dict_users[_id].daily_warn_time.hour,
                    'm': dict_users[_id].daily_warn_time.minute
                }
            })
    else:
        dict_users[_id].warn_time = warn_time
        users.update_one(user, {"$set": {'warn_time': warn_time}})
    bot.send_message(
        _id,
        f'''Хорошо, теперь я буду Вас предупреждать за {warn_time} мин до пар.''',
        reply_markup=markup.main_menu(types))
Example #9
0
def set_daily_warn_time(message):
    print(message.text)
    _id = message.chat.id
    result = re.findall(r'\d{1,2}:\d{1,2}', message.text)
    h, m = str(result[0]).split(':')
    h, m = int(h), int(m)
    if h < 0 or h > 23 or m < 0 or m > 59:
        bot.send_message(_id,
                         'Вы ввели некорректное время. Повторите, пожалуйста')
    else:
        daily_warn_time = datetime.time(h, m)
        user = users.find_one({'_id': _id})
        if not dict_users.get(_id):
            dict_users[_id] = User(_id, daily_warn_time=daily_warn_time)
        if not user:
            users.insert_one({
                '_id': _id,
                'warn_time': dict_users[_id].warn_time,
                'daily_warn_time': {
                    'h': h,
                    'm': m
                }
            })
        else:
            dict_users[_id].daily_warn_time = daily_warn_time
            users.update_one(user,
                             {"$set": {
                                 'daily_warn_time': {
                                     'h': h,
                                     'm': m
                                 }
                             }})
        bot.send_message(
            _id,
            f'''Хорошо, теперь я буду Вам напоминать о завтрашних парах {daily_warn_time} каждый день.''',
            reply_markup=markup.main_menu(types))
Example #10
0
def get_dev_name(message):
    bot.send_message(message.chat.id,
                     '''Меня создал @Misha_Bachu, если Вы заметили проблемы 
	в моей работе, пожалуйста, сообщите ему об этом.''',
                     reply_markup=markup.main_menu(types))
Example #11
0
def send_main_menu(message):
    bot.send_message(message.chat.id,
                     'Главное меню:',
                     reply_markup=markup.main_menu(types))