Это все невероятно круто. Понятно мне мало чего, но если немного думать во время следования инструкциям - понятно чуть больше. А если много думать сразу - вообще ничего не понятно. ИМХО - Вы прекрасно чувствуете границы зоны ближайшего развития(ZPD). Большое спасибо!
Автор молодец, наверное лучшее, подробное и доходчивое объяснение в данном направлении. То что нужно для начинающего разработчика. Желаю авторов успехов!
Зачем использовать 3 версию, если ты используешь фильтры из 2 версии? Magic filters упрощает работу, а ты только усложняешь код и делаешь его для начинающих сложнее.
2:15 "указать полный путь до нужной папки" - приведите пример кода, какой там синтаксис? Например, хочу сохранять на "D:\test\Download" Как будет выглядеть строка вместо указанной в видео await bot.download_file(file.file_path, 'photo.jpg')?
Подскажите, пожалуйста, бот с правами админа загружен в КАНАЛ, (нужен что бы отдать ID канала), хэндлер для теста без фильтров, в привате у бота хэндлер отрабатыват, а в канале нет, нужно решение или подсказка, премного благодарен любой информации.
У меня бот пишет что я отправил свой контакт, даже когда я отправляю чужой, думал может где перепутал чего, нет вроде все правильно, 3 раза перепроверил, не знаете в чем может быть дело?
Спасибо большое. интересное видео. У меня проблемка ContentTypesFilter не импортируется. В документации не разобрался, поэтому не понял как это починить. подскажите
Нееее, для профи есть более зубодробительные примеры. Мои видео для тех, кто знает хотя бы самые основы пайтона. Можно сказать - готовые сниппеты кода для реальных проектов.
Не запускается бот, и пишет, что в этой строке: dp.startup.register(get_photo, ContentTypesFilter(content_types=[ContentType.PHOTO])) типа такая ошибка: TypeError: register() takes 2 positional arguments but 3 were given Подскажите, пожалуйста, как исправить.
В последних версиях aiogram фильтр ContentTypesFilter был удален. Вместо него можно использовать MagicFilter. Переходим сюда th-cam.com/video/SS6_PexwB2Y/w-d-xo.html и знакомимся с магическими фильтрами.
Спасибо! Видео очень познавательно. Почему решили писать бот на версии 300b4 а не 300b6? И тогда чем aiogram3 прелпочтительней aiogram2? на 300b6 нет ContentTypesFilter. пришлось откатываться на 300b4/
Можно и декораторами, да. Кому как удобно, мне удобнее когда сразу виден порядок регистрации хэндлеров - не нужно "гулять" по файлам и искать хэндлеры. Очень актуально для больших проектов.
Вот мне стало интересно, код у нас один на двоих. Но по-видимости библиотеку изменили, так как, в данных уроках у меня не отправляет даже эти сообщения, кроме как бот запущен и бот остановлен. Про картинки вообще молчу. Хотя импортировал слово в слово. У меня в библиотеке нет к примеру ContentTypeFilters Но почему не приходят сообщения , это для меня до сих пор остаётся загадкой .
from aiogram.filters import ContentTypesFilter - не находит такой, выдаёт ошибку ImportError: cannot import name 'ContentTypesFilter' from 'aiogram.filters'
@@nztcoder такой способ прокатит с контактом? у меня ошибку выдает TypeError: object bool can't be used in 'await' expression, фильтр делал таким: dp.message.register(func_true_contact,F.content_type.in_({"contact"}) ,IsTrueContact())
Это все невероятно круто. Понятно мне мало чего, но если немного думать во время следования инструкциям - понятно чуть больше. А если много думать сразу - вообще ничего не понятно. ИМХО - Вы прекрасно чувствуете границы зоны ближайшего развития(ZPD). Большое спасибо!
Спасибо за теплые слова. Ценно!
Автор молодец, наверное лучшее, подробное и доходчивое объяснение в данном направлении. То что нужно для начинающего разработчика. Желаю авторов успехов!
Благодарю.
Спасибо! Наконец-то показали как отправлять фото через скрепку и сохранять его!!!
Огромный лайк за годный контент!
Зачем использовать 3 версию, если ты используешь фильтры из 2 версии? Magic filters упрощает работу, а ты только усложняешь код и делаешь его для начинающих сложнее.
а можете подсказать гайды поподробнее насчет фильтров?
@@mrBro-gk5kk что именно тебя интересует?Можно без фильтров в теории обойтись.А так в документации описан функционал и применение.
как с помощью magic filters записать сточку с контактом?
Отличный видос!
Добрый вечер. В видео сообщается, что код будет под видео, но у меня под видео нет кода, а только описание
ContentTypesFilter не работает в новой версии aiogram (в 3.2 его просто нет). Вместо него можно использовать F.content_type == ContentType.
О чем и сказано в видео по magic filter
добрый день. хотелось бы увидеть регистрацию хендлеров через декоратор и роутеры
Соответствующее видео появилось на канале.
2:15 "указать полный путь до нужной папки" - приведите пример кода, какой там синтаксис? Например, хочу сохранять на "D:\test\Download" Как будет выглядеть строка вместо указанной в видео await bot.download_file(file.file_path, 'photo.jpg')?
Подскажите, пожалуйста, бот с правами админа загружен в КАНАЛ, (нужен что бы отдать ID канала), хэндлер для теста без фильтров, в привате у бота хэндлер отрабатыват, а в канале нет, нужно решение или подсказка, премного благодарен любой информации.
У меня бот пишет что я отправил свой контакт, даже когда я отправляю чужой, думал может где перепутал чего, нет вроде все правильно, 3 раза перепроверил, не знаете в чем может быть дело?
Чудес не бывает. Не может один и тот же код по-разному отрабатывать. Где-то ошибка.
ты исправил? подскажи как
Спасибо большое. интересное видео. У меня проблемка ContentTypesFilter не импортируется. В документации не разобрался, поэтому не понял как это починить. подскажите
Такого фильтра больше нет. Используй магические фильтры. Видео по ним есть на канале.
@@nztcoder спасибо
Да, автор молодец, но мимо аудитории для которой это все записано, потому что очень сложно и непонятно.
У одного меня не находить "ContentTypesFilter"?
У тебя это не будет работать, используй Magic filters из документации.
@@АнатолийГО-ж2п а как его использовать ?
th-cam.com/video/SS6_PexwB2Y/w-d-xo.html
ты очень крутой, поэтому видео для профи, но профи и без тебя это все напишут
Нееее, для профи есть более зубодробительные примеры. Мои видео для тех, кто знает хотя бы самые основы пайтона. Можно сказать - готовые сниппеты кода для реальных проектов.
@@nztcoder Спасибо за твой труд и годный контент! А где можно посмотреть зубодробительные примеры?
есть проблемка, класс ContentTypesFilter отсутствует в новых версиях aiogram. вопрос: что делать?
Использовать магический фильтр. F.content_type. На канале есть видео про него.
@@nztcoder спасибо
добавил словарь данных в json viewer а там просто нету раздела contact с phone_number. что делать?
номер, у меня если что открыт, ошибка так и осталась
А почему BoundFilter должен быть в классе?
Не получается файлы загружать, выдает ошибку 'Telegram server says - Bad Request: invalid file_id'. Хотя id файла печатает. Не нашла решения
Возможно file_id получен не от бота, которым пытаешься отправить медиафайл
@@nztcoder ошибка была из-за того, что вместо download_file написала просто download.
Не запускается бот, и пишет, что в этой строке:
dp.startup.register(get_photo, ContentTypesFilter(content_types=[ContentType.PHOTO]))
типа такая ошибка:
TypeError: register() takes 2 positional arguments but 3 were given
Подскажите, пожалуйста, как исправить.
Ты используешь регистрацию функции при запуске бота, нужно использовать регистрацию message. dp.message.register....
@@nztcoder Спасибо большое!
Привет, уже нет ContentTypeFilters, теперь F
Да. О чем и сказано в видео по magic filter
@@nztcoder Да, все отлично там рассказано, спасибо за контент) давай ещё что-нибудь интересное)
В последних версиях aiogram фильтр ContentTypesFilter был удален. Вместо него можно использовать MagicFilter.
Переходим сюда th-cam.com/video/SS6_PexwB2Y/w-d-xo.html и знакомимся с магическими фильтрами.
закреп*
Спасибо! Видео очень познавательно. Почему решили писать бот на версии 300b4 а не 300b6? И тогда чем aiogram3 прелпочтительней aiogram2?
на 300b6 нет ContentTypesFilter. пришлось откатываться на 300b4/
На момент записи видео 3.0.0b4 была последней версией Аиограм.
Контент тайп фильтр можно заменить на магическим фильтром.
F.video
F.photo
И так далее
@@nztcoder как оплатить обучение ?
а зачем регистрировать функции если можно перед ними писать @dp.message_handler(command=["start"]) ?
а для эхо @dp.message_handler()
Можно и декораторами, да. Кому как удобно, мне удобнее когда сразу виден порядок регистрации хэндлеров - не нужно "гулять" по файлам и искать хэндлеры. Очень актуально для больших проектов.
Стоп, у 3 версии, не надо писать @dp.handler?
Вот мне стало интересно, код у нас один на двоих. Но по-видимости библиотеку изменили, так как, в данных уроках у меня не отправляет даже эти сообщения, кроме как бот запущен и бот остановлен.
Про картинки вообще молчу. Хотя импортировал слово в слово. У меня в библиотеке нет к примеру ContentTypeFilters
Но почему не приходят сообщения , это для меня до сих пор остаётся загадкой .
dp.startup.register(start_bot)
dp.shutdown.register(stop_bot)
dp.message.register(get_start, Command(commands=['start', 'run']))
dp.message.register(get_photo, F.photo)
спасибо)@@x-mems
from aiogram.filters import ContentTypesFilter - не находит такой, выдаёт ошибку ImportError: cannot import name 'ContentTypesFilter' from 'aiogram.filters'
В последней версии убрали. Теперь можно использовать magicfilter
F.content_type.in_({'text', 'photo'})
F.content_type == 'text'
@@nztcoder такой способ прокатит с контактом? у меня ошибку выдает TypeError: object bool can't be used in 'await' expression, фильтр делал таким: dp.message.register(func_true_contact,F.content_type.in_({"contact"}) ,IsTrueContact())
все я решил проблему, функцию def __class__ надо было async def __class__
__call__*
@@sweezy9804 F.contact
Добрый вечер. В видео сообщается, что код будет под видео, но у меня под видео нет кода, а только описание
Добрый вечер. В видео сообщается, что код будет под видео, но у меня под видео нет кода, а только описание