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