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')
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!")
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')
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')
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')
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}')
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)
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))
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))
def get_dev_name(message): bot.send_message(message.chat.id, '''Меня создал @Misha_Bachu, если Вы заметили проблемы в моей работе, пожалуйста, сообщите ему об этом.''', reply_markup=markup.main_menu(types))
def send_main_menu(message): bot.send_message(message.chat.id, 'Главное меню:', reply_markup=markup.main_menu(types))