• Как в aiogram получить текст последнего сообщения или по ID?

    @Pavlks
    Тут уже нужно с сотояниями работать. States - по-английски. Я здесь научился ссылка

    from aiogram.dispatcher.filters.state import State, StatesGroup
    
    class Mydialog(StatesGroup):
        otvet = State()  # Will be represented in storage as 'Mydialog:otvet'
    
    #Здесь мы начинаем общение с клиентом и включаем состояния
    @dp.message_handler()
    async def cmd_dialog(message: types.Message):
        await Mydialog.otvet.set()  # вот мы указали начало работы состояний (states)
    
        await message.reply("Человечишка, напиши мне свое жалкое мнение")
    
    # А здесь получаем ответ, указывая состояние и передавая сообщение пользователя
    @dp.message_handler(state=Mydialog.otvet)
    async def process_message(message: types.Message, state: FSMContext):
    
        async with state.proxy() as data:
            data['text'] = message.text
            user_message = data['text']
    
            # дальше ты обрабатываешь сообщение, ведешь рассчеты и выдаешь ему ответ.
           otvet_klienty = 'bla, bla, bla'
    
            await bot.send_message(
                message.from_user.id,
                otvet_klienty ,
                reply_markup=markup,
                parse_mode='HTML',
            )
    
        # Finish conversation
        await state.finish()  # закончили работать с сотояниями
    Ответ написан
    7 комментариев
  • Как распарсить текст в div'е, игнорируя вложенные теги, BeautifulSoup?

    @Mist8 Автор вопроса
    Один из вариантов, как удалить лишнее:

    from bs4 import BeautifulSoup
    html_doc = """
    <div class="example">
    <p>bla-bla-bla</p>
    <div>something not important</div>
    <strong>SomeText</strong>
    <br>
    Нужный текст
    <span style="color:red">Тоже нужный текст</span>
    Нужный текст
    </div>
    """
    soup = BeautifulSoup(html_doc)
    tag = soup.find("div", class_="example")
    
    tag.div.decompose() # убираем вложенный div
    tag.p.decompose()  # убираем текст в теге <p>
    tag.br.decompose() # убираем перенос <br>
    print(tag)
    Ответ написан
    Комментировать