예제 #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)
예제 #2
0
def callback_handler(callback_query):
    user = db_middleware.get_user(callback_query.message.chat.id)
    ans = callback_query.data
    if ans == 'y':
        db_middleware.change_action(user, 'C')
        get_places(callback_query.message)
    else:
        main_menu(callback_query.message)
예제 #3
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)
예제 #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)
예제 #5
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)