Example #1
0
def get_user_coordinates(update, context):
    context.user_data['emoji'] = get_smile(context.user_data)
    coords = update.message.location
    update.message.reply_text(
        f"Лисичка нашла твои координаты {context.user_data['emoji']}: долгота {coords['longitude']}, широта {coords['latitude']}!",
        reply_markup=create_fox_keyboard()
    )
Example #2
0
def talk_to_me(update, context):
    context.user_data['emoji'] = get_smile(context.user_data)
    user_text = update.message.text
    update.message.reply_text(
        f"Ты говоришь Лисичке *{user_text}*.\nИ Лисичка отвечает тебе _{user_text}_! {context.user_data['emoji']}", parse_mode='MARKDOWN',
        reply_markup=create_fox_keyboard()
    )
Example #3
0
def greet_user(update, context):
    logging.info('Вызван /start')
    context.user_data['emoji'] = get_smile(context.user_data)
    update.message.reply_text(
        f"Здравствуй, пользователь {context.user_data['emoji']}! Ты вызвал команду /start",
        reply_markup=create_fox_keyboard()
    )
Example #4
0
def anketa_skip(update, context):
    user_text = format_anketa(context.user_data["anketa"])
    update.message.reply_text(user_text,
                              reply_markup=create_fox_keyboard(),
                              parse_mode=ParseMode.HTML)

    return ConversationHandler.END
Example #5
0
def send_picture_with_cat(update, context):
    cat_images_list = glob('images/cat-*.jp*g')
    cat_filename = choice(cat_images_list)

    # ID чата с конкретным пользователем
    chat_id = update.effective_chat.id
    context.bot.send_photo(
        chat_id=chat_id,
        photo=open(cat_filename, 'rb'),
        reply_markup=create_fox_keyboard()
    )
Example #6
0
def get_wordcount(update, context):
    user_text = update.message.text
    user_text = user_text.replace("/wordcount", '')
    logging.info(user_text)
    if not isinstance(user_text, str):
        return update.message.reply_text('Ой, кажется ты ввёл не строку')

    stripped_text = user_text.strip()
    if len(stripped_text) == 0:
        return update.message.reply_text('Похоже ты ввёл пустую строку!')

    res_text = stripped_text.split()
    update.message.reply_text(
        f'Лисичка посчитала, в твоей строке {len(res_text)} слов!',
        reply_markup=create_fox_keyboard()
    )
Example #7
0
def print_planet_place(update, context):
    user_text = update.message.text
    text_data = user_text.split()
    if not len(text_data) > 1:
        return update.message.reply_text(
            "Эй, ты забыл дать мне название планеты, так я ничего не найду!")

    planet_name = text_data[1].strip()
    if not hasattr(ephem, planet_name):
        return update.message.reply_text(
            "К сожалению Лисичка не знает такую планету :(")

    # 'Mars', 'Earth', 'Mercury', 'Venus', 'Jupiter',
    # 'Neptune', 'Saturn', 'Uranus', 'Pluto'
    planet_data = getattr(ephem, planet_name)
    current_date = date.today()
    planet_data = planet_data(current_date)
    constellation = ephem.constellation(planet_data)
    update.message.reply_text(
        f'Планета *{planet_name}* сейчас в *{constellation}*.',
        parse_mode='MARKDOWN',
        reply_markup=create_fox_keyboard()
    )