Ботостроение Telegram. Первый бот. Aiogram3 - полное руководство.

แชร์
ฝัง
  • เผยแพร่เมื่อ 7 ก.พ. 2025
  • 📘 В этом видео мы создадим своего первого бота - почти как "Hello World!" 😉)
    Научимся отвечать на сообщения пользователя, регистрировать хэндлеры, а также отвечать на сообщение с цитированием.
    Aiogram - это мощный, но в тоже время простой инструмент для создания телеграм ботов. В этой серии видеоуроков я познакомлю тебя с его функционалом и в конце изучения для закрепления навыков мы напишем телеграм бота. Обязательно подпишись на канал, поставь лайк этому видео и выскажи свое мнение об этом видео в комментариях. Активируй колокол, чтобы не пропустить ни одного видео, которое со 100% вероятностью поможет тебе в изучении ботостроения!
    🐍 Научись зарабатывать на Python - money-python.c...
    🎯 Обязательно ознакомься с моими курсами, в которых мы с учениками работаем достаточно тесным, можно сказать, "семейным" составом.
    Мы прокачаем твой скилл с "я ничего не понимаю в python" до "я умею писать шустрых, легких и стабильных телеграм ботов".
    Никакой воды и видео по 40, а то и больше минут - только сжатая, сконцентрированная выжимка практики. Моя задача - дать вам продвинутые навыки простыми словами, которые сделают вас на голову выше всех остальных и уменьшить ваши времязатраты на разработку своих проектов или клиентских.
    ▶ Смотреть весь плейлист Aiogram - tinyurl.com/45...
    ▶ Смотреть весь плейлист Pyrogram - tinyurl.com/4b...
    📢 Внимание!
    Эти пакеты были перемещены, вы должны исправить импорт в вашем коде, если вы используете версию 3.0.0b4 и выше:
    aiogram.dispatcher.filters ➡ aiogram.filters
    aiogram.dispatcher.fsm ➡ aiogram.fsm
    aiogram.dispatcher.handler ➡ aiogram.handler
    aiogram.dispatcher.webhook ➡ aiogram.webhook
    aiogram.dispatcher.flags/* ➡ aiogram.dispatcher.flags (модуль вместо пакета)

ความคิดเห็น • 120

  • @Motivation_Just_DoIt
    @Motivation_Just_DoIt ปีที่แล้ว +10

    За структуру бота двойной лайк

    • @Syberby
      @Syberby 10 หลายเดือนก่อน

      да, за это лайк. передал свой опыт а не тупо пересказал документацию.

  • @СережаПолканов
    @СережаПолканов ปีที่แล้ว +6

    Так же хочу выразить благодарность. долго не мог найти человека, которого могу воспринимать по голосу, информации которую преподносят. У тебя все супер, жду других проектов) Всех благ

    • @nztcoder
      @nztcoder  ปีที่แล้ว +1

      Очень ценно. Спасибо.

  • @ВикторЮпин
    @ВикторЮпин ปีที่แล้ว +1

    Не возможно оценить какую вы оказываете помощь для начинающих программистов, спасибо Вам!

  • @sedoy_dedushka
    @sedoy_dedushka 5 หลายเดือนก่อน +1

    спасибо за структуру проекта с 1 ролика! немного пока не разобрался в settings но думаю со временем дойдет

  • @DobryDrug
    @DobryDrug ปีที่แล้ว +3

    в топ! в топ! с двух каналов подписался и лайкнул. Большое спасибо!

    • @nztcoder
      @nztcoder  ปีที่แล้ว

      Благодарю.

  • @pshyhopat
    @pshyhopat ปีที่แล้ว +2

    Спасибо тебе большое, прям от души, желаю только лучшего!

  • @yt222ee
    @yt222ee ปีที่แล้ว

    просто вау! под конец ролика челюсть отвисла, браво!

  • @esco-it
    @esco-it 10 หลายเดือนก่อน +3

    Не понимаю людей, которые вообще выписывают, что-то против автора! Если у тебя мозги на месте, то открываешь хотя бы тот же гитхаб и ищешь бота на aio3, разбираешься в чужом, залайканном проекте и вперёд, на крайняк в форумы по заходить. Ну а если 2 вариант, когда мозгов нет, то увы тут только работа на заводе поможет…)

  • @yuriismakota9574
    @yuriismakota9574 ปีที่แล้ว +1

    Автор молодец, наверное лучшее, подробное и доходчивое объяснение в данном направлении. Желаю авторов успехов!

    • @nztcoder
      @nztcoder  ปีที่แล้ว

      Спасибо. Рад что нравится.

  • @NikolasQN
    @NikolasQN 2 ปีที่แล้ว +2

    Да вы вообще мега крутой супер красавчик! Такую работу проделали 💪🏻💪🏻💪🏻

  • @maxgromov7494
    @maxgromov7494 2 ปีที่แล้ว +1

    Классный видос, буду смотреть дальше

  • @ГубкаБоб-р8ъ
    @ГубкаБоб-р8ъ ปีที่แล้ว +2

    Начал смотреть, и впал в ступор... Как запускается полинг если в start_polling() не передали объект бота? Оказывается нужно было до 5-й минуты досмотреть ))). автор молодец, хорошая подача, главное ничего лишнего, по делу и кратко

  • @artemkvasha
    @artemkvasha ปีที่แล้ว +1

    Прям молодец. Все нормально объяснил. Ни капли воды и все последовательно

    • @nztcoder
      @nztcoder  ปีที่แล้ว

      Спасибо за теплые слова. Лайк, подписка? ;)

  • @AlexK.-gf8bd
    @AlexK.-gf8bd ปีที่แล้ว +2

    Здравствуйте! Хорошее четкое изложение без воды. В видео упоминается ссылка на код. Не нашел )

  • @ИванИванов-д7н6л
    @ИванИванов-д7н6л ปีที่แล้ว

    Быстро конечно, но актуально и в тему. Спасибо

  • @chilltime_moments
    @chilltime_moments 2 ปีที่แล้ว +2

    Очень подробное объяснение и четкое изложение! Спасибо)

  • @AleksandrAru
    @AleksandrAru 2 ปีที่แล้ว +1

    спасибо за видео. побольше бы

    • @nztcoder
      @nztcoder  2 ปีที่แล้ว

      Рад, что нравится.

  • @ZuberMV
    @ZuberMV 11 หลายเดือนก่อน +1

    Отличный курс по aiogram-у, здорово, что сразу приучаете к разделению на файлы. Уважаю. Но в последнем моменте, когда выносим конфу из основного кода в файл input, у меня выдает ошибку "Возникло исключение: EnvError
    Environment variable "TOKEN" not set" При чем не важно, есть этот файл или нет его, результат один. Перепроверил все несколько раз, все сделано верно, точно по видео. Помогите, что это может быть...

    • @ZuberMV
      @ZuberMV 11 หลายเดือนก่อน

      решил

    • @White_-
      @White_- 10 หลายเดือนก่อน

      @@ZuberMVКак? Столкнулся с такой же проблемой

    • @freedom_sounds
      @freedom_sounds 8 หลายเดือนก่อน

      @@ZuberMV Подскажи как пожалуйста

    • @runna_ixayder6365
      @runna_ixayder6365 2 หลายเดือนก่อน

      @@ZuberMV Прошу объяснить, пожалуйста

  • @DiVas-sj3xv
    @DiVas-sj3xv 2 ปีที่แล้ว +20

    Было бы еще не плохо объяснения давать зачем какую конструкцию и функцию используем))

    • @clampyx
      @clampyx ปีที่แล้ว

      Слушать нужно уметь.

  • @orthodox-chanel
    @orthodox-chanel 2 ปีที่แล้ว +1

    хороший материал

  • @ustoz_shogird5699
    @ustoz_shogird5699 ปีที่แล้ว +1

    Udachi bro

  • @простоосложном-р3к
    @простоосложном-р3к 4 หลายเดือนก่อน

    А если в google colab делать то код такой же? Библиотеку я поставил вроде все хорошо, самого бота тож создал

  • @AlexeyRiched
    @AlexeyRiched 2 ปีที่แล้ว +2

    классное видео, я на джава пишу ботов) но все равно познавательно, на питоне мне кажется это легче)

  • @asdasd-gs9tg
    @asdasd-gs9tg 9 หลายเดือนก่อน +1

    Почему у тебя при созданий логинга сразу появился формат и при созданный файлов в них были файлы типа __init__.py это из-за старого pycharm или я что-то не понимаю?

  • @Greiten
    @Greiten ปีที่แล้ว +3

    Сломал мозг...
    Traceback (most recent call last):
    File "\main.py", line 6, in
    from core.settings import settings
    File "\core\settings.py", line 28, in
    settings = get_settings('input')
    File "\core\settings.py", line 22, in get_settings
    bot_token=env.str("TOKEN"),
    File "\venv\lib\site-packages\environs\__init__.py", line 116, in method
    raise EnvError('Environment variable "{}" not set'.format(proxied_key or parsed_key))
    environs.EnvError: Environment variable "TOKEN" not set

    • @platontsitov804
      @platontsitov804 ปีที่แล้ว

      Укажи путь до файла с токеном.В settings = get_settings(тут путь)

  • @ВладимирВермутов
    @ВладимирВермутов ปีที่แล้ว

    еееемаеее...... чувааак ты меня с этой болванкой в конце вообще запутал , лабиринт из фаилов , жооско.
    все вроде работает все получилось , само видео максимально информативное , похоже я теперь твой подписчик, но некоторые вещи конечно оказались не так просты , фаил input лежит вне директории core? верно?

    • @nztcoder
      @nztcoder  ปีที่แล้ว

      Да, input находится вне директории core

  • @m0nya574
    @m0nya574 ปีที่แล้ว

    Спасибо большое!!!

    • @nztcoder
      @nztcoder  ปีที่แล้ว

      Не за что. Лайк, подписка?

  • @couldy4670
    @couldy4670 9 หลายเดือนก่อน

    что делать при ошибке This error originates from a subprocess, and is likely not a problem with pip.

  • @DR-rs9ux
    @DR-rs9ux ปีที่แล้ว

    10:19. «return Settings» - ошибка. «'return' outside of function». При попытке загрузить тоже выдает ошибки. В интернете нет нормальной и понятной информации.

    • @nztcoder
      @nztcoder  ปีที่แล้ว

      return за функцией написан скорее всего.

    • @DR-rs9ux
      @DR-rs9ux ปีที่แล้ว

      @@nztcoder Не понимаю к сожалению. Не смог загрузить бота. Остановился на этом моменте. Загружаю пакеты, они не устанавливаются, хотя пишет что успешно загружено

  • @VoDemmm
    @VoDemmm ปีที่แล้ว +14

    Такое чувство что главная цель была не научить а просто сделать что-то типа миниобзора основного курса, который уже покупается за деньгу. Слишком быстрая подача, нет толкового объяснения что и для чего делается. Уверен, что половина людей посмотрят, подумают что это слишком сложно и никогда не вернутся к изучению ботостроения. Чисто мое субъективное мнение

    • @nztcoder
      @nztcoder  ปีที่แล้ว

      Так уверен или всё-таки субъективное мнение?

    • @VoDemmm
      @VoDemmm ปีที่แล้ว +3

      @@nztcoder В своем субъективном мнении я уверен

    • @nztcoder
      @nztcoder  ปีที่แล้ว +1

      Ну конечно. Это ж субъективщина.

    • @АнтонБогомолов-ф4ш
      @АнтонБогомолов-ф4ш ปีที่แล้ว

      я сним согласен не понятно че да как и можно было бы сделать основные функции в пару видео а вы их растянули@@nztcoder

    • @nickybxy
      @nickybxy ปีที่แล้ว

      ​@@nztcoderон уверен, что половина людей посмотрят и никогда не вернутся к ботостроению
      По поводу твоей подачи - его субъективная оценка)

  • @ДЖОДЖО-л9н
    @ДЖОДЖО-л9н 9 หลายเดือนก่อน

    Где можно найти код к урокам?

  • @alexsaltykov6793
    @alexsaltykov6793 ปีที่แล้ว +1

    Можно, пожалуйста, выложить исходный код, чтобы можно было почитать.

    • @nztcoder
      @nztcoder  ปีที่แล้ว +1

      Код подскажет бот в телеграм канале. Или nztcoder.com

  • @alexandr_segeda
    @alexandr_segeda ปีที่แล้ว

    Подскажите, а как разрабатывать ботов если Ваша библиотека аиограм отличается от нынешней биологически?
    Например, сейчас как я понял, не нужно никаких регистрации хэндлеров делать

    • @nztcoder
      @nztcoder  ปีที่แล้ว +1

      Можно декораторами, можно регистрацией хэндлеров. Принцип не поменялся.

  • @DR-rs9ux
    @DR-rs9ux ปีที่แล้ว

    8:38. «from aiogram import Bot» - Серым цветом. Это нормально?

    • @nztcoder
      @nztcoder  ปีที่แล้ว

      Серым только если не используется

    • @DR-rs9ux
      @DR-rs9ux ปีที่แล้ว

      @@nztcoder Да. Но у вас было использовано. А код одинаковый. 3 раза переделывал🤔

  • @nohtyp_gniyduts838
    @nohtyp_gniyduts838 11 หลายเดือนก่อน

    как быстро меняется фрэймворк - DeprecationWarning: Passing `parse_mode`, `disable_web_page_preview` or `protect_content` to Bot initializer is deprecated. This arguments will be removed in 3.5.0 version
    Use `default=DefaultBotProperties(...)` instead.

  • @sergeyshushkov5949
    @sergeyshushkov5949 ปีที่แล้ว

    почему не используете декораторы? регистрация это длиннее и запутаннее

    • @nztcoder
      @nztcoder  ปีที่แล้ว

      Тут уже вкусовщина. В следующих уроках есть и декораторы.

  • @Лорман-т4п
    @Лорман-т4п 2 ปีที่แล้ว

    Подскажите, почему обычно используют хэндлеры прямо над функцией, а вы её регистрируете, в чём разница и для чего?

    • @nztcoder
      @nztcoder  2 ปีที่แล้ว

      Никакой разницы. Кому как удобнее. Мне удобно видеть хэндлеры и их порядок в одном месте. Кому то удобнее использовать декораторы.

  • @ВасяПупкин-э7ь7ъ
    @ВасяПупкин-э7ь7ъ ปีที่แล้ว

    почему может не импортироваться environs?

    • @nztcoder
      @nztcoder  ปีที่แล้ว

      Не установлен.

  • @ShelbyPsycho
    @ShelbyPsycho ปีที่แล้ว

    Привет, кодер, а налоги нужно будет платить если брать не тестовый, просто там ИНН просит при регистрации

    • @nztcoder
      @nztcoder  ปีที่แล้ว

      Да. Нужно будет.

  • @lpsquad1
    @lpsquad1 4 วันที่ผ่านมา

    3 версия еще актуальна

  • @mixaqi2122
    @mixaqi2122 ปีที่แล้ว

    а почему нельзя просто поместить переменные окружения в .env и ссылаться на них, вместо написания нескольких классов?

    • @nztcoder
      @nztcoder  ปีที่แล้ว

      Можно и так. Как удобно.

  • @y18kotov
    @y18kotov 2 ปีที่แล้ว

    Привет NZTCODER! отличный контент спасибо! Вопрос: при написании бота скрываю всю персональную информацию в виртуальном окружении. При работе на локальном компьютере в PyCharm все работает. При запуске на VPS записанные данные из виртуального окружения видны, но бот их почему-то не цепляет. Если вывести принтом в теле бота данные видны.

    • @itspecial100
      @itspecial100 2 ปีที่แล้ว

      Проверьте - bot = Bot(token=settings.bots.bot_token, parse_mode='HTML')

  • @РишатФайзуллин-ц3х
    @РишатФайзуллин-ц3х ปีที่แล้ว

    Добрый день! В aiogram2 можно было скипать апдейты, прописав dp.start_polling(bot, skip_updates=True). В aiogram3 такое есть?

    • @cybersarex9580
      @cybersarex9580 ปีที่แล้ว +2

      перед стартом поллинга добавляешь "await bot.delete_webhook(drop_pending_updates=True)"

  • @AlexanderRyabyy
    @AlexanderRyabyy ปีที่แล้ว

    Добрый день, всё работает, но, когда останавливаешь бот - вылетает куча ошибок, типа: "During handling of the above exception, another exception occurred". Это нормально?

    • @AlexanderRyabyy
      @AlexanderRyabyy ปีที่แล้ว

      if __name__ == '__main__':
      dp.run_polling(bot)
      Так всё ок. "Спасибо" за помощь.

  • @aksiniy26
    @aksiniy26 2 ปีที่แล้ว

    С чем может быть связанна подобная ошибка:

  • @АртёмДавыдов-ы5э
    @АртёмДавыдов-ы5э 2 ปีที่แล้ว

    Добрый день какая версия питона установлена у меня пакет pip install environs не устанавливается не как может можно вручную как то установить

    • @WhoCat
      @WhoCat 2 ปีที่แล้ว

      Здравствуйте, на версии 3.9.1 и 3.11 работает 100%

    • @nztcoder
      @nztcoder  2 ปีที่แล้ว

      смотри в сторону pip

  • @иваниванов-ъ5щ8ф
    @иваниванов-ъ5щ8ф ปีที่แล้ว

    Токен откуда взяли?

    • @nztcoder
      @nztcoder  ปีที่แล้ว

      Лучше последовательно смотреть весь плейлист по aiogram -> th-cam.com/play/PLRU2Gs7fnCuiwcEDU0AWGkSTawEQpLFPb.html
      Токен получали в этом видео -> th-cam.com/video/NPO-N9Hc7_s/w-d-xo.html

  • @Tuzkozyr
    @Tuzkozyr 2 ปีที่แล้ว

    Какую версию пайчама используете?

  • @АртёмДавыдов-ы5э
    @АртёмДавыдов-ы5э 2 ปีที่แล้ว +2

    Я ошибку решил у кого такая ошибка будет установите pip version 22.0.4 и все

    • @nztcoder
      @nztcoder  2 ปีที่แล้ว

      Отлично!

  • @Rasulbeksultamuratov
    @Rasulbeksultamuratov 11 หลายเดือนก่อน

    как скачать pycharm бесплатную версию

    • @nztcoder
      @nztcoder  11 หลายเดือนก่อน

      Тут www.jetbrains.com/ru-ru/pycharm/download/?section=windows
      Скачивай community версию

  • @kolyazakharov2950
    @kolyazakharov2950 ปีที่แล้ว

    спасибо. очень понятно, мне нужно написать бота который будет разсылать пользователям из БД больше 1000 пользывателей за один сеан, надеюсь твои видео мне помогут

  • @RokyTime
    @RokyTime ปีที่แล้ว

    почему бы id, token не хранить в .py файле ? Просто кинуть его в игнор гита

    • @nztcoder
      @nztcoder  ปีที่แล้ว

      Можно и так, да. Тут уже как удобно.

  • @defcon_one
    @defcon_one 3 หลายเดือนก่อน +1

    th-cam.com/video/sOisrGnB2z4/w-d-xo.html : первая запись лога: "Poling" с одной "l". Я так понимаю, это ошибка не автора руководства

    • @nztcoder
      @nztcoder  3 หลายเดือนก่อน

      Да, это в аиограм. Не критично :)

  • @Polina-9162
    @Polina-9162 ปีที่แล้ว

    Все работало прекрасно, пока не начали раскидать все по ебучим папкам. В каждой ошибка подключения.

  • @morozuy8885
    @morozuy8885 ปีที่แล้ว

    Никаких объяснений/пояснений, только код. Поищу другое руководство.

    • @nztcoder
      @nztcoder  ปีที่แล้ว

      Ничего не говори, просто уходи.

    • @morozuy8885
      @morozuy8885 ปีที่แล้ว

      @@nztcoderУшёл уже. Просто высказал мнение.

  • @АндрейЧебоксаров-к8х
    @АндрейЧебоксаров-к8х ปีที่แล้ว

    такую ошибку выдает
    Traceback (most recent call last):
    File "X:\pythonProject1\main.py", line 3, in
    from core.handlers.basic import get_start
    ModuleNotFoundError: No module named 'core'

  • @sashasanchez7548
    @sashasanchez7548 2 ปีที่แล้ว +1

    Не отрабатывает функция остановки бота, то есть не приходит уведомление. В чем может быть дело?
    async def stop_bot(bot:Bot):
    await bot.send_message(settings.bots.admin_id, text="Бот остановлен")

    • @Angel_Metatron
      @Angel_Metatron 2 ปีที่แล้ว

      Ctrl + C

    • @keynch6982
      @keynch6982 11 หลายเดือนก่อน

      ты смог решить проблемму?? просто у меня такая же(

    • @sashasanchez7548
      @sashasanchez7548 11 หลายเดือนก่อน

      @@keynch6982 спустя год повторил все, что показано в видео, и все (о чудо!!!) отработало как надо :)

    • @sashasanchez7548
      @sashasanchez7548 11 หลายเดือนก่อน

      @@keynch6982да

    • @vadymkomarynskyi4172
      @vadymkomarynskyi4172 10 หลายเดือนก่อน

      К сожаленью тоже так и смог получить ответ о прекращении работы бота. С стартом все ок. Aiogram 3.4. Запускаю в VSCODE. Если есть решение данной задачи, буду признателен!

  • @theWOLF.1991
    @theWOLF.1991 ปีที่แล้ว

    Traceback (most recent call last):
    File "C:\Users\user\PythonProjects\aiogram_lesson\aiogram.py", line 1, in
    from aiogram import Bot, Dispatcher, types
    File "C:\Users\user\PythonProjects\aiogram_lesson\aiogram.py", line 1, in
    from aiogram import Bot, Dispatcher, types
    ImportError: cannot import name 'Bot' from partially initialized module 'aiogram' (most likely due to a circular import) (C:\Users\user\PythonProjects\aiogram_lesson\aiogram.py) мне так пишется что делать

  • @AlexPureFm
    @AlexPureFm 2 ปีที่แล้ว

    у меня не получается получить, ответ о запуске и остановки бота, dp.start_up.register, нет такого. и выдает ошибку если просто ручками прописать.

    • @nztcoder
      @nztcoder  2 ปีที่แล้ว

      Возможно версия аиограма 2, нужна 3

    • @AlexPureFm
      @AlexPureFm 2 ปีที่แล้ว

      @@nztcoder спасибо, поставил 3,06 - запустилось, а то вчера весь вечер искал гайд почему не работает код.

    • @vadymkomarynskyi4172
      @vadymkomarynskyi4172 10 หลายเดือนก่อน

      К сожаленью тоже так и смог получить ответ о прекращении работы бота. С стартом все ок. Aiogram 3.4. Запускаю в VSCODE. Если есть решение данной задачи, буду признателен!