Ejemplo n.º 1
0
def add_place_location(message):
    user = db_middleware.get_user(message.chat.id)
    if user['action'] == 'A':
        if message.content_type == 'location':
            data = user['action_data']
            data['addplace']['location'] = [
                message.location.longitude, message.location.latitude
            ]
            db_middleware.set_action_data(
                (db_middleware.get_user(user['user_id'])), data)
            bot.send_message(chat_id=user['user_id'],
                             text="Хотите добавить примечение?",
                             reply_markup=YES_NO_REPLY)
            db_middleware.change_action(user, 'C')
        else:
            bot.send_message(
                chat_id=user['user_id'],
                text="Отправьте геолокацию, не текстовое сообщение")
    elif user['action'] == 'C':
        if 'да' in message.text.lower():
            db_middleware.next_step(user)
            bot.send_message(chat_id=user['user_id'],
                             text="Напишите примечание")
            db_middleware.change_action(user, 'A')
        else:
            db_middleware.next_step(user)
            add_place_note(message)
Ejemplo n.º 2
0
def main_menu(message):
    user = db_middleware.get_user(message.chat.id)
    db_middleware.set_step(user, 'main')
    db_middleware.change_action(user, 'A')
    db_middleware.set_action_data((db_middleware.get_user(user['user_id'])),
                                  None)
    bot.send_message(message.chat.id,
                     text='Вы в главном меню',
                     reply_markup=MAIN_MENU)
Ejemplo n.º 3
0
def add_place_note(message):
    user = db_middleware.get_user(message.chat.id)
    data = user['action_data']
    if user['action'] == 'A':
        data['addplace']['note'] = message.text
        db_middleware.set_action_data(
            (db_middleware.get_user(user['user_id'])), data)

    bot.send_message(chat_id=user['user_id'],
                     text="<b>Вот как будет выглядеть ваша запись:</b>",
                     parse_mode='HTML')
    db_middleware.next_step(user)
    send_places(user, [data['addplace']])
    bot.send_message(chat_id=user['user_id'],
                     text="<b>Cохранить место?</b>",
                     reply_markup=YES_NO_REPLY,
                     parse_mode='HTML')
Ejemplo n.º 4
0
def add_place_title(message):
    user = db_middleware.get_user(message.chat.id)
    if user['action'] == 'A':
        db_middleware.set_action_data(
            ((db_middleware.get_user(user['user_id']))),
            {'addplace': {
                'title': message.text
            }})
        bot.send_message(chat_id=user['user_id'],
                         text="Хотите добавить фото?",
                         reply_markup=YES_NO_REPLY)
        db_middleware.change_action(user, 'C')
    elif user['action'] == 'C':
        if 'да' in message.text.lower():
            db_middleware.next_step(user)
            db_middleware.change_action(user, 'A')
            bot.send_message(chat_id=user['user_id'], text="Отправьте фото")
        else:
            db_middleware.next_step(user)
            bot.send_message(chat_id=user['user_id'],
                             text="Хотите добавить геолокацию места?",
                             reply_markup=YES_NO_REPLY)
Ejemplo n.º 5
0
def get_places(message):
    user = db_middleware.get_user(message.chat.id)
    if user['action'] == 'A':
        db_middleware.set_step(user, 'getplace')
        data = db_middleware.get_places(user, True)
        count = data['count']
        places = data['places']
        send_places(user, places)
        if count > 5:
            db_middleware.set_action_data(
                (db_middleware.get_user(user['user_id'])),
                {'getplace': {
                    'count': count,
                    'offset': 5
                }})
            bot.send_message(chat_id=user['user_id'],
                             text='Хотите вывести больше мест?',
                             reply_markup=YES_NO_INLINE)
        else:
            bot.send_message(chat_id=user['user_id'],
                             text='<b>У вас больше нет добавленных мест</b>',
                             parse_mode='HTML')
            main_menu(message)
    else:
        offset = user['action_data']['getplace']['offset']
        count = user['action_data']['getplace']['count']
        data = db_middleware.get_places(user, False, offset)
        places = data['places']
        send_places(user, places)
        if offset + 5 >= count:
            bot.send_message(chat_id=user['user_id'],
                             text='<b>У вас больше нет добавленных мест</b>',
                             parse_mode='HTML')
            main_menu(message)
        else:
            bot.send_message(chat_id=user['user_id'],
                             text='Хотите вывести больше мест?',
                             reply_markup=YES_NO_INLINE)
Ejemplo n.º 6
0
def add_place_confirm(message):
    user = db_middleware.get_user(message.chat.id)
    data = user['action_data']
    if 'да' in message.text.lower():
        try:
            db_middleware.add_place(user, data)
            data['completed'] = True
            db_middleware.set_action_data(user, data)
            bot.send_message(chat_id=user['user_id'],
                             text="<b>Место сохранено</b>",
                             parse_mode='HTML')
        except:
            bot.send_message(
                chat_id=user['user_id'],
                text=
                "<b>Что-то пошло не так. Информация о месте не была сохранена</b>",
                parse_mode='HTML')
            main_menu(message)
    else:
        bot.send_message(chat_id=user['user_id'],
                         text="<b>Информация о месте не была сохранена</b>",
                         parse_mode='HTML')
    main_menu(message)
Ejemplo n.º 7
0
def add_place_photo(message):
    user = db_middleware.get_user(message.chat.id)
    if user['action'] == 'A':
        if message.content_type == 'photo':
            data = user['action_data']
            try:
                file_id = message.photo[-1].file_id
                data['addplace']['photo'] = file_id
                db_middleware.set_action_data(
                    (db_middleware.get_user(user['user_id'])), data)
                bot.send_message(chat_id=user['user_id'],
                                 text="Хотите добавить геолокацию места?",
                                 reply_markup=YES_NO_REPLY)
                db_middleware.change_action(user, 'C')
            except:
                bot.send_message(
                    chat_id=user['user_id'],
                    text="<b>Что-то пошло не так. Отправьте фото ещё раз</b>",
                    parse_mode='HTML')
        else:
            bot.send_message(chat_id=user['user_id'],
                             text="Отправьте фото, не текстовое сообщение")
    elif user['action'] == 'C':
        if 'да' in message.text.lower():
            db_middleware.next_step(user)
            db_middleware.change_action(user, 'A')
            bot.send_message(
                chat_id=user['user_id'],
                text="Отправьте геолокацию\n (Отправляйте геолокацию,"
                " выбранную вручную, не с помощью поиска/предложенных мест. Такие сообщения пока не поддерживаются ботом.)"
            )
        else:
            db_middleware.next_step(user)
            bot.send_message(chat_id=user['user_id'],
                             text="Хотите добавить примечание?",
                             reply_markup=YES_NO_REPLY)