Простой Telegram бот на Java и Spring Boot: Создание Telegram бота, реализация базового функционала

Поділитися
Вставка
  • Опубліковано 10 лип 2022
  • Простой Telegram бот на Java и Spring Boot: Создание Telegram бота, реализация базового функционала
    Код доступен тут: github.com/DmitrijsFinaskins/...
    В видео показан весь процесс создания бота для Telegram - регистрация бота в Telegram, создание maven проекта, реализация базового функционала.
    Если эта тема вам интересна, то пишите об этом в комментариях, тогда мы продолжим улучшение бота!
    Для тех кто хочет поддержать канал и стимулировать более частое появление видео:
    TON кошелек ton://transfer/EQDaRh6x4f9zH1pQzt8lhJPE70eltVzYB-phi83BunLg6X2y
    Ethereum кошелек: 0xfb654C91AC122e911db97435d491c3d919F6d8D5
    PayPal: www.paypal.com/paypalme/DFina...
    Группа ВК - rocketjava
    Telegram - t.me/DmitrijsFinaskins
    Мой сайт - dataguru.guide
    Twitter - / dfinaskins
    Linkedin - / dmitrijs-finaskins-a69...

КОМЕНТАРІ • 218

  • @drnbndd
    @drnbndd Рік тому +9

    Спасибо, Дмитрий! Очень актуально, полезно и доступно 👍. Да, ещё бы таких видео!

  • @DilshodXakimov
    @DilshodXakimov Рік тому +5

    Благодарю, Дмитрий! Очень актуально, полезно и доступно 👍

  • @k7905
    @k7905 Рік тому +3

    Офигенный курс, спасибо большое за него!! Буду смотреть и изучать следующие видео!

  • @anzbeats909
    @anzbeats909 Рік тому +4

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

  • @user-on8ih8qt6q
    @user-on8ih8qt6q Рік тому +6

    Спасибо за прекрасный урок! Хотелось бы подробнее разобрать все моменты) Успехов вам!

  • @user-bp9kt5ew3x
    @user-bp9kt5ew3x Рік тому +1

    Огромное спасибо. Достаточно долго искал Джава реализацию ТелеграмБота (видел до этого только на Питоне реализацию) . 🥳🥳🥳
    Все супер продолжайте в том же духе ))

  • @user-vi2ig1pd6b
    @user-vi2ig1pd6b Рік тому +2

    Классно! Единственный источник информации где хоть что-то понятно.

  • @user-ln2le4ou1y
    @user-ln2le4ou1y Рік тому +3

    Спасибо большое! Так понятно и легко объясняете материал. И тема максимально интересная

  • @verakolkutina6122
    @verakolkutina6122 9 місяців тому

    круто. не быстро ю понятно. нормальная речь. многих просто невозможно слушать, хоть какие гении. Спасибо!

  • @kirillnovikov7925
    @kirillnovikov7925 Рік тому +12

    Это с ума сойти как интересно и нужно!! Нормальных, подробных материалов для тех, у кого слабая подготовка, в интернете найти не смог. Здесь всё супер-понятно разобрано! Хорошо бы бота с подключением БД SQL разобрать. И с API запросами на сторонние сервисы.

  • @dmitrijkormakov
    @dmitrijkormakov Рік тому +1

    Благодарю за ясные и понятные объяснения! Супер!

  • @pate2418
    @pate2418 Рік тому +3

    Какое же в конце было крутое ощущение когда это все заработало! Спасибо! Продолжайте обязательно!

    • @user-eg7on1ys4v
      @user-eg7on1ys4v Рік тому

      у вас не было ошибок никаких?

  • @mahotinigor
    @mahotinigor Рік тому

    Дмитрий, спасибо! Просто, доступно. Мне очень понравилось!

  • @UladzislauMarmuz
    @UladzislauMarmuz Рік тому

    Спасибо огромное, не мог найти норм видео с объяснением. И нашёл Ваше ,очень понравилось!

  • @user-ll7ds7ob9i
    @user-ll7ds7ob9i 6 місяців тому

    Дмитрий, контент просто восторг! Спасибо вам огромное!

  • @user-jj6pp7ic3k
    @user-jj6pp7ic3k Рік тому +6

    Приветствую! Спасибо за вводный курс, после которого стало все более или менее понятно с ботами. Было бы круто, в дальнейшем при составлении нового контента помимо того, что ты объясняешь для чего и что именно ты делаешь, подсказать вариации и почему так делать не стоит. Да время будет потрачено больше, но можно разбить еще на блоки. К примеру увидел у тебя в ролике то, что выполняешь внешний запрос при назначении команд из конструктора. Слышал, что это делать не желательно, можно ведь это обойти. надеюсь на дальнейшие крутые видео с "многомодульностью", таких маловато ну рунете.

  • @leetovetz
    @leetovetz Рік тому +5

    Да. все интересно. особенно со спрингом. спасибо. )))
    может как отдельную рубрику было бы круто. тестовые задачи на собеседовании на спринге. )))

  • @tarasbyakin9218
    @tarasbyakin9218 Рік тому

    Спасибо за видео! Делай ещё! Очень интересно.

  • @filidorZeliony
    @filidorZeliony Рік тому +1

    Спасибо, друг. Отличное видео!

  • @NozrGaming
    @NozrGaming Рік тому

    Дмитрий, спасибо за урок!😇

  • @user-tp8vl9bi8l
    @user-tp8vl9bi8l Рік тому +5

    Спасибо большое !!! 👍 очень интересно, хотелось бы поподробнее и посложнее конструкции бота.

  • @Tehhie
    @Tehhie Рік тому

    Спасибо большое за доступный и хороший урок =)

  • @user-vd8kt4td7i
    @user-vd8kt4td7i 4 місяці тому

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

  • @user-pi3du8zt5m
    @user-pi3du8zt5m 11 місяців тому

    Как я рад что обнаружил этот казик!) здесь реально можно подниматься)

  • @education8448
    @education8448 Рік тому +1

    Спасибо! Очень доступно и интересно!

  • @eqivok
    @eqivok Рік тому +1

    Спасибо за доступность. Хороший видео

  • @user-jt6bo6ez2j
    @user-jt6bo6ez2j 4 місяці тому

    Видео огонь. Однозначно палец вверх. Доступно, актуально, востребовано.

  • @pinkmoney9010
    @pinkmoney9010 Рік тому

    Очень интересное видео! Тему продолжать, очень актуальная!

  • @macknyan3524
    @macknyan3524 Рік тому

    МУЖИК спасибо огромное, ты лучший. лайк+подписка

  • @zvnman
    @zvnman Рік тому +1

    Спасибо огромное за пример бота!

  • @withotsoul7252
    @withotsoul7252 Рік тому

    Круто! Видос супер! Спасибо большое

  • @rzx4112
    @rzx4112 Рік тому +17

    Приветствую! Отличный контент. Хорошего качества. Было бы здорово более подробно разобрать все использованные в видео объекты. Буду признателен. Продолжайте в том же духе!

    • @user-cd5xd1gs7v
      @user-cd5xd1gs7v Рік тому +1

      Согласен. Было бы здорово, если подробнее описывали моменты или хотя бы где можно про это почитать/посмотреть отдельно.

  • @takiochannel
    @takiochannel Рік тому

    Спасибо большое, очень интересно!

  • @Desttiny50
    @Desttiny50 Рік тому +1

    Большое тебе спасибо. Я пытался сам разобраться с нуля, но зачем-то залез в 6.2.0 версию, там никаких LongPollingBot'ов нету, по итогу очень сильно запутался, не мог найти нормальную инфу, выгорел и забросил, по итогу не мог ничего сделать с этим, но сейчас наткнулся на твой канал и единственное что спасло - это твое видео)

  • @user-wg6ui6jp1j
    @user-wg6ui6jp1j Рік тому +1

    Огромная благодарность!!!!

  • @webbnba
    @webbnba 6 місяців тому

    Спасибо, было полезно, продолжай пожалуйста!

  • @evgenyvaymer6700
    @evgenyvaymer6700 Рік тому +1

    Офигеть ... работает.... первый раз смог что то склипать на JAVA спасибо

  • @user-kt7hy5vk3k
    @user-kt7hy5vk3k Рік тому +1

    Спасибо, очень интересно!!!!

  • @ourcozylife3089
    @ourcozylife3089 4 місяці тому

    Спасибо за это видео, мне это очень было нужно)

  • @richardneztov
    @richardneztov Рік тому

    Очень интересно. Спасибо!

  • @GoshaSon
    @GoshaSon Рік тому +3

    Да, очень интересно, и можно более подробнее что, зачем и почему, что бы поменьше "чёрных ящиков", а то Спринг сам по себе deus ex machina.

  • @ne_by_la
    @ne_by_la Рік тому

    Спасибо огромное за видео ❤❤❤

  • @alexanderpastuhanov174
    @alexanderpastuhanov174 Рік тому +2

    спасибо! очень интересно!

  • @user-uz8zx7oo4q
    @user-uz8zx7oo4q 6 місяців тому

    Интересно и классная подача!

  • @dmitriymalyshev3815
    @dmitriymalyshev3815 Рік тому

    Интересно ботов, побольше бы про телегу

  • @bereal9464
    @bereal9464 10 місяців тому

    объясняете супер
    приятно учиться

  • @serge7069
    @serge7069 Рік тому

    Спасибо! Интересное видео. Интересует как работать с опросами и кнопками в боте.

  • @sleepkqq6164
    @sleepkqq6164 Рік тому

    спасибо за видео, очень помогло

  • @mikecontact7535
    @mikecontact7535 Рік тому

    Круто) хочу еще видосы

  • @user-ny6oj1xg6y
    @user-ny6oj1xg6y Рік тому

    Круть! спасибо!

  • @vladaleksandrov3111
    @vladaleksandrov3111 Рік тому

    Очень интересная тема.

  • @mikhailazarka6007
    @mikhailazarka6007 Рік тому

    спасибо, интересно

  • @Serg845
    @Serg845 Рік тому

    очень интересная тема!!

  • @alexeyventura6782
    @alexeyventura6782 Рік тому

    Очень познавательное видео

  • @alexorgnet
    @alexorgnet Рік тому

    Отличное видео!!!

  • @user-ew7kd8bd5g
    @user-ew7kd8bd5g Рік тому +3

    Да стоит продолжение, но было бы круто если сделаете урок по созданию интернет магазин на основе spring thymeleaf)

    • @deni5n
      @deni5n Рік тому +2

      ух, всегда интересовало, зачем делать ui интернет магазина на таких тяжеловесах как java, а не использовать тотже javascript и какой нибудь react или vue?

    • @kandidat8134
      @kandidat8134 Рік тому +1

      не надо с тимлифом, это прошлый век

    • @Keprta
      @Keprta Рік тому +1

      how about no

  • @hasanpolatov3167
    @hasanpolatov3167 Рік тому

    Thank you!

  • @user-bn9wc8db6s
    @user-bn9wc8db6s Рік тому +2

    Spring - КАЙФ!!!!! Боты это прикольная тема!!!!

    • @munstr007
      @munstr007 Рік тому

      Запахло весной..

  • @bereal9464
    @bereal9464 10 місяців тому

    спасибо большое за урок
    много ботов разных пожалуйста

  • @user-wc6kz3yt9d
    @user-wc6kz3yt9d Рік тому

    Просто бомба)

  • @user-xw7jw3fo9i
    @user-xw7jw3fo9i Рік тому

    Спс, интересно))

  • @tacittuber4771
    @tacittuber4771 Рік тому +2

    Отличный видос. Спасибо большое! Но пожалуйста, не делай такое сильное приближение.

  • @ivanstrelka3448
    @ivanstrelka3448 4 місяці тому

    Оч круто!!

  • @user-hm8wx2us8l
    @user-hm8wx2us8l Рік тому +5

    Хорошее видео, только было бы качественней с небольшой подготовкой к записи видоса, тогда бы не было "затупов" и перескакивания с середины написания одних методов к методам которые забыл написать)) Лично мое мнение: если ты немного подкачаешь скилл подачи материала, то цены не будет твоим роликам. А так очень даже доходчиво, спасибо за труды!)

  • @user-dt9nn6ri9s
    @user-dt9nn6ri9s 3 місяці тому

    Good job bro , keep it going on !

  • @cakeistrue
    @cakeistrue Рік тому

    Жаль, что нельзя поставить два лайка!

  • @dimon341mg
    @dimon341mg Рік тому

    Привет, очень интересно, хочется разобраться поподробнее.

  • @Juravliik
    @Juravliik Рік тому

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

  • @owa_creator
    @owa_creator 3 місяці тому +1

    Очень классно, только есть один вопрос, почему микрофон восьмибитный?

  • @user-ml1ei7cv3u
    @user-ml1ei7cv3u Рік тому

    Круто

  • @nicholaswhite7351
    @nicholaswhite7351 Рік тому

    Годный контент.

  • @zaoblachen
    @zaoblachen Рік тому +9

    хотелось бы чтобы Вы обосновывали свои действия рассуждая и создавая проект постепенно. Код работает, но наслаждение от его переписывания в ide не было подкреплено логическим ходом мысли - инициализация была произведена в самом конце, вы по методичке делали и напутали порядок ? Хотелось бы Вашей вовлеченности в процесс и продуманности шагов. Спасибо за видео!

  • @user-zm2ft7lo7g
    @user-zm2ft7lo7g Рік тому

    Крутой контент оччч

  • @jahongiratametov9985
    @jahongiratametov9985 Рік тому

    very interesting

  • @Womir
    @Womir Рік тому

    ничего не понял, с трудом получилось подключить бота, но этому даже был рад

  • @MartinsGroza-vc2no
    @MartinsGroza-vc2no 5 місяців тому

    Tema super

  • @user-fp9ef7uo2w
    @user-fp9ef7uo2w Рік тому +1

    27:34 думаю это по тому что мы получаем чат айди в байтах поэтому лонг а отправляем в жейсоне или штмл зависит от контроллера рест или mvc на спринге всегда все что отправляем строка так что это наверно обусловленно то на чем телега написана а спринг всегда строки отправляет он обьекты превращает в ключ значение и отправляет ка строку(жейсон) а штмл как штмл строку там я не знаю как она формируется

  • @user-fp9ef7uo2w
    @user-fp9ef7uo2w Рік тому +1

    интересно побольше прог на спринг буте

  • @soup1soup
    @soup1soup Рік тому

    С аннотацией @Data нужно быть оторожным и уж точно не использовать ее для создания контруктора)

  • @tomskiy1700
    @tomskiy1700 Місяць тому

    тема актуальна.

  • @fastmakc3379
    @fastmakc3379 Рік тому

    Дмитрий, отличный материал. Вы менторством занимаетесь?

    • @JavaManuals
      @JavaManuals  Рік тому

      В целом занимаюсь

    • @fastmakc3379
      @fastmakc3379 Рік тому

      @@JavaManuals а подробней как узнать на каких условиях?

    • @JavaManuals
      @JavaManuals  Рік тому

      Можно на почту написать dmitrijs@jugla.net или в Телеграм t.me/DFinashkin

  • @v-smartgreatest6814
    @v-smartgreatest6814 Рік тому

    Добрый день. Димитрий, подскажите пожалуйста. Вот я реагировал простого Лоннинг Пол Бота, теперь у меня есть другой класс я хочу чтобы в другом классе бот мог отписывать сообщение по событию. Как мне это сделать?
    То есть проект один. Есть дополнительный класс где я хочу один из методов использовать как мне это сделать?

  • @dmitriyfb
    @dmitriyfb Рік тому +1

    Спасибо. С продолжением было бы круто?

    • @JavaManuals
      @JavaManuals  Рік тому +3

      Продолжение будет уже вначале следующей недели

    • @geopolitTV
      @geopolitTV Рік тому +1

      @@JavaManuals круто, ждем !! Классные ролики !!! Продолжай !!!

  • @bereal9464
    @bereal9464 10 місяців тому

    по серьезней бот пожалуйста всем интересно

  • @Xomiak-ff5fv
    @Xomiak-ff5fv Рік тому +3

    Всем привет! У кого то получилось сделать бота? У меня все запускается но сразу отрубается. Бот не реагирует на команду /start

  • @Sergey-wo3vu
    @Sergey-wo3vu Рік тому +1

    С Exceptions у вас прямо беда. Вам нужно либо крестик снять, либо трусы одеть. Вы зачем в одном и том же методе и пробрасываете исключение мимо метода на дальнейший отлов и его же ловите try\catch? Так это не работает. Поэтому вам и пришлось этих try\catch напихать везде, потому что он у вас везде пробрасывается, а не обрабатывается. Достаточно было одного try\catch в классе TelegramBot в методе sendMessage(). Много не нужного нерабочего кода. Который только людей путает. Удачи в творчестве! ;)
    Кто мне не верит, можете сами попробовать. Не забудьте только АБСОЛЮТНО все пробросы из методов убрать.

  • @nmodonov
    @nmodonov Рік тому

    Получил в конце ошибку настроек базы данных. Опытным путем выяснил, что нужно либо удалить зависимость с JPA, либо прописать настройки БД, в моем случае Н2.
    А в остальном все заработало!

    • @user-eg7on1ys4v
      @user-eg7on1ys4v Рік тому

      Здравствуйте, в моем случае (как я поняла) такая же ошибка, подскажите пожалуйста подробнее как вы решили проблему, так как я еще новичок, не все знаю

    • @nmodonov
      @nmodonov Рік тому

      @@user-eg7on1ys4v нужно либо удалить зависимость (dependency) с JPA, либо прописать настройки БД в файле с настройками. Подробно про это говорится в третьем видео.
      Это если у вас та же ошибка, а не другая.

    • @user-eg7on1ys4v
      @user-eg7on1ys4v Рік тому

      @@nmodonov Спасибо большое)

  • @user-fp9ef7uo2w
    @user-fp9ef7uo2w Рік тому

    Жесть на мавен зашел зависимости подгузить там всего штучно их юзают плиз продолжай тему развивать не знаю почему но походу боты на джава это то же что блокчейн на джава их почти нет

  • @dariaaa123
    @dariaaa123 Рік тому +1

    spring-boot-maven-plugin - В данном месте в xml файле выдает plugin not found. Все плагины вроде установлены. Использую Idea Community Editoion

    • @wes-key1158
      @wes-key1158 Рік тому

      Аналогичная ситуация, но у меня ультимейт. Не думаю что это должно иметь значение. Как решил проблему?

  • @MrVanchenso
    @MrVanchenso 11 місяців тому +3

    Все сделал...ошибок 0...все проверил и token и имя и код......но бот молчит

  • @user-ey8hl7iz9t
    @user-ey8hl7iz9t 8 місяців тому

    Добрый день, спасибо большое за урок. Нужна помощь, у меня после первого урока ответное сообщение бота на /start не приходит, в консоле пишет INFO 7128 No active profile set, falling back to 1 default profile: "default",

  • @user-xe4iz6jz8b
    @user-xe4iz6jz8b Рік тому +2

    Дмитрий, подскажите чайнику . В вашем коде в Application.properties , я написал имя своего бота и сгенерированный токен поменял. Запускается все нормально, но в телеге при старте ничего не происходит. Что еще нужно заменить?

    • @JavaManuals
      @JavaManuals  Рік тому

      Это единственное что нужно было менять. Всё должно работать

    • @user-xe4iz6jz8b
      @user-xe4iz6jz8b Рік тому

      @@JavaManuals Интересно тогда в чем причина кроется(

    • @afarsek_91
      @afarsek_91 Рік тому +1

      попробуйте сделать без использования properties. в методах getBotUsername() и getBotToken() просто напишите значения вашего токена и имя бота в кавычках.

    • @Xomiak-ff5fv
      @Xomiak-ff5fv Рік тому

      @@user-xe4iz6jz8b получилось ли решить проблему?

  • @test-hb7gu
    @test-hb7gu Рік тому +5

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

    • @JavaManuals
      @JavaManuals  Рік тому +1

      Возможно API ключ неправильный

    • @test-hb7gu
      @test-hb7gu Рік тому

      @@JavaManuals Имя и токен правильные

    • @JavaManuals
      @JavaManuals  Рік тому +1

      Логи пишите? Там ничего нет?

    • @user-bm2ge2rl7v
      @user-bm2ge2rl7v Рік тому

      такая же проблема, что делать???

  • @buter81
    @buter81 Рік тому +1

    На 28ой минуте очень непонятные действия, вы зачем то начинаете обрабатывать exception, а потом же его пробрасоваете!!!

  • @user-ne5yu5pv4v
    @user-ne5yu5pv4v Рік тому +1

    Зачем добавлять lombok и при этом не пользоваться @RequiredArgsConstructor над классом, чтоб не создавать конструкторы самому 18:06 ...

  • @opoepo
    @opoepo 9 місяців тому

    Спасибо большое за прекрасное введение в создание телеграм-ботов!
    К сожалению, столкнулся с некоторой проблемой, делал в принципе всё как и на видео, не считая версии Spring Boot и содержания сообщений бота, но в итоге при запуске бот просто заканчивает работу без ошибок с сообщением "Process finished with exit code 0". Не могу понять в чём причина, внятных решений, как и схожих проблем на просторах интернета не нашёл. Поэтому если кто-то сталкивался с таким или знает решение, то буду очень признателен если поможете

    • @user-eb3ul4ye6x
      @user-eb3ul4ye6x 5 місяців тому

      ты решал?

    • @yyy14071988
      @yyy14071988 5 місяців тому

      В моем случае я не написал аннотацию @Component над одним из классов

  • @remnantruts1727
    @remnantruts1727 Рік тому

    почему сразу Lombok в dependency не добавили а вручную прописывает

  • @dk63646
    @dk63646 Рік тому

    No active profile set, falling back to 1 default profile: "default" при запуске что это может быть?

  • @user-xp1sm5hp3g
    @user-xp1sm5hp3g Рік тому +1

    Подскажите,пожалуйста, возможно ли написать бота,который создает ботов с определёнными параметрами? Тобишь пользователь кидает токен первому боту,и первый бот на основе токена создаёт бота

    • @JavaManuals
      @JavaManuals  Рік тому

      Конечно, можно

    • @user-xp1sm5hp3g
      @user-xp1sm5hp3g Рік тому

      @@JavaManuals а как это возможно реализовать?)🥲

  • @Kill40y
    @Kill40y 4 місяці тому

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