• Как удалить сообщение при callback data?

    @bybacapitan Автор вопроса
    Михаил Кростелев, да это работает, и удаляет сообщение с клавиатурой.
    Но мне нужно удалить сообщение "завантажую"
    Написано
  • Как проверить содержимое сообщения?

    @bybacapitan Автор вопроса
    Andrey, я спросил за одну строчку кода
    Написано
  • Как проверить содержимое сообщения?

    @bybacapitan Автор вопроса
    Алан Гибизов, он маленький, по этому кидаю весь.
    from aiogram import Bot, types
    from aiogram.dispatcher import Dispatcher
    from aiogram.dispatcher import FSMContext
    from aiogram.dispatcher.filters.state import State, StatesGroup
    from aiogram.contrib.fsm_storage.memory import MemoryStorage
    from aiogram.utils import executor
    
    TOKEN = ''
    
    storage = MemoryStorage()
    bot = Bot(token=TOKEN)
    dp = Dispatcher(bot, storage=storage)
    
    
    class edit(StatesGroup):
        downloader = State()
        recognize = State()
    
    
    @dp.message_handler(commands=['start'], state=None)
    async def voice(message: types.Message):
        await edit.downloader.set()
        await message.reply('кидай mp3')
    
    @dp.message_handler(content_types=['audio'], state=edit.downloader)
    async def recognize_song(message: types.Message, state: FSMContext):
        file_id = message.audio.file_id
        file = await bot.get_file(file_id)
        file_path = file.file_path
        await bot.download_file(file_path, '123.mp3')
        await bot.send_message(message.chat.id, 'Пришлите мне теги в этом формате: title:artist')
        await edit.next()
    
    @dp.message_handler(content_types=['text'], state=edit.recognize)
    async def sender(message: types.Message, state: FSMContext):
    	if not ':' in message.text:
    		await message.reply('напиши теги в верном формате\ntitle:artist')
    	text = message.text
    	a1 = (text.split(':')[1])
    	a2 = (text.split(':')[0])
    	audio = open('123.mp3', 'rb')
    	await bot.send_audio(message.chat.id, audio=audio, performer=a1, title=a2)
    	await state.finish()
    
    
    if __name__ == "__main__":
        executor.start_polling(dp, skip_updates=True)
    Написано
  • Как исправить эту проблему?

    @bybacapitan Автор вопроса
    Влад Григорьев, понял спасибо, буду пробовать
    Написано
  • Как исправить эту проблему?

    @bybacapitan Автор вопроса
    Влад Григорьев, а как это сделать, можно подробнее?
    Написано
  • Как исправить эту проблему?

    @bybacapitan Автор вопроса
    seven5674, нету, вроде бы
    Написано
  • Как обработать ошибку?

    @bybacapitan Автор вопроса
    soremix, понял, спасибо
    Написано
  • Как обработать ошибку?

    @bybacapitan Автор вопроса
    Dr. Bacon, да, только уже как документ.
    Написано
  • Как обработать ошибку?

    @bybacapitan Автор вопроса
    soremix,
    try:
            await bot.send_message(message.chat.id, 'завантажую')
            yt.streams.filter(only_audio=True, abr='160kbps').first().download(f'./{yt._title}', 'name.mp3')
            audio = open(f'./{yt._title}/name.mp3', 'rb')
            path = f'./{yt._title}/name.mp3'
            await bot.send_chat_action(message.chat.id, ChatActions.UPLOAD_DOCUMENT)
            await bot.send_audio(message.chat.id, audio=audio, performer=artist, title=name, caption=f'{link1}', parse_mode='MARKDOWN')
            await bot.delete_message(message.chat.id, message_id_to_delete)
            await bot.delete_message(message.chat.id, message.message_id + 1)
            os.remove(path)
        except UnboundLocalError:
            await bot.send_message(message.chat.id, 'ждать дольше чем обычно')
            service_name = 'YOUTUBE_VIDEO'
            for key, value in r['entitiesByUniqueId'].items():
                if service_name in key:
                    artist1 = (value['artistName'])
                    name1 = (value['title'])
                    break
            await bot.send_audio(message.chat.id, audio=audio, performer=artist1, title=name1, caption=f'{link1}', parse_mode='MARKDOWN')
            await bot.delete_message(message.chat.id, message_id_to_delete)
            await bot.delete_message(message.chat.id, message.message_id + 1)
            await bot.delete_message(message.chat.id, message.message_id + 2)
            os.remove(path)
        except OSError:
            yt.streams.filter(only_audio=True, abr='160kbps').first().download(f'./name', 'name.mp3')
            audio = open(f'./name/name.mp3', 'rb')
            path = f'./name/name.mp3'
            await bot.send_chat_action(message.chat.id, ChatActions.UPLOAD_DOCUMENT)
            await bot.send_document(message.chat.id, document=audio, caption=f'{link1}', parse_mode='MARKDOWN')
        except NetworkError:
            audio = open(f'./name/name.mp3', 'rb')
            await bot.send_document(message.chat.id, document=audio, caption=f'{link1}', parse_mode='MARKDOWN')
    Написано
  • Как обработать ошибку?

    @bybacapitan Автор вопроса
    Vindicar, soremix
    except NetworkError:
            audio = open(f'./name/name.mp3', 'rb')
            await bot.send_document(message.chat.id, document=audio, caption=f'{link1}', parse_mode='MARKDOWN')

    Вот, это не работает
    Написано
  • Как обработать ошибку?

    @bybacapitan Автор вопроса
    Dr. Bacon, значит то что бот не реагирует на этот обработчик
    Написано
  • Как получить название канала с помощью pytube?

    @bybacapitan Автор вопроса
    jkovalenko, да, это работает.
    Написано
  • Как получить название канала с помощью pytube?

    @bybacapitan Автор вопроса
    а можно получить название канала, если дать ссылку на видео?
    Написано
  • Как сделать правильно?

    @bybacapitan Автор вопроса
    Да, верно, спасибо.
    Сначала не допер.
    Написано
  • Как это спарсить?

    @bybacapitan Автор вопроса
    soremix, после того как делаю запрос, выдает огромный код.
    [Errno Expecting value] <!DOCTYPE html>
    <!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en-US"> <![endif]-->
    <!--[if IE 7]>    <html class="no-js ie7 oldie" lang="en-US"> <![endif]-->
    <!--[if IE 8]>    <html class="no-js ie8 oldie" lang="en-US"> <![endif]-->
    <!--[if gt IE 8]><!--> <html class="no-js" lang="en-US"> <!--<![endif]-->
    <head>
    
    <title>Please Wait... | Cloudflare</title>
    
    <meta charset="UTF-8" />
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
    <meta name="robots" content="noindex, nofollow" />
    <meta name="viewport" content="width=device-width,initial-scale=1" />
    <link rel="stylesheet" id="cf_styles-css" href="/cdn-cgi/styles/cf.errors.css" />
    <!--[if lt IE 9]><link rel="stylesheet" id='cf_styles-ie-css' href="/cdn-cgi/styles/cf.errors.ie.css" /><![endif]-->
    <style>body{margin:0;padding:0}</style>


    Это только часть его.
    Как это фиксить?
    Написано
  • Как это спарсить?

    @bybacapitan Автор вопроса
    AVKor, https://tracker.gg/valorant/profile/riot/mrsnowman... из вкладки Top Agents, нужно взять имя первого агента.
    Написано
  • Как это спарсить?

    @bybacapitan Автор вопроса
    и все же, как тогда это спарсить ?
    Написано
  • Как это спарсить?

    @bybacapitan Автор вопроса
    можете подсказать почему такую ошибку выдает?
    Task exception was never retrieved
    future: <Task finished name='Task-9' coro=<Dispatcher._process_polling_updates() done, defined at C:\Users\артем\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\dispatcher\dispatcher.py:407> exception=AttributeError("'NoneType' object has no attribute 'find'")>
    Traceback (most recent call last):
      File "C:\Users\артем\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\dispatcher\dispatcher.py", line 415, in _process_polling_updates
        for responses in itertools.chain.from_iterable(await self.process_updates(updates, fast)):
      File "C:\Users\артем\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\dispatcher\dispatcher.py", line 235, in process_updates
        return await asyncio.gather(*tasks)
      File "C:\Users\артем\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\dispatcher\handler.py", line 116, in notify
        response = await handler_obj.handler(*args, **partial_data)
      File "C:\Users\артем\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\dispatcher\dispatcher.py", line 256, in process_update
        return await self.message_handlers.notify(update.message)
      File "C:\Users\артем\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\dispatcher\handler.py", line 116, in notify
        response = await handler_obj.handler(*args, **partial_data)
      File "C:\Users\артем\Desktop\valorantstats\main.py", line 35, in stats
        agent = soup.find('div', attrs={'class': 'info'}).find('div').text
    AttributeError: 'NoneType' object has no attribute 'find'
    Написано
  • Что не так с кодом?

    @bybacapitan Автор вопроса
    не работает, в консоли ошибок нету.
    Написано
  • Что не так с кодом?

    @bybacapitan Автор вопроса
    и как это исправить?
    Написано