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

  Переглядів 83,532

Дмитрий Финашкин

Дмитрий Финашкин

Рік тому

Простой 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...

КОМЕНТАРІ: 215
@drnbndd
@drnbndd Рік тому
Спасибо, Дмитрий! Очень актуально, полезно и доступно 👍. Да, ещё бы таких видео!
@k7905
@k7905 Рік тому
Офигенный курс, спасибо большое за него!! Буду смотреть и изучать следующие видео!
@DilshodXakimov
@DilshodXakimov Рік тому
Благодарю, Дмитрий! Очень актуально, полезно и доступно 👍
@anzbeats909
@anzbeats909 Рік тому
Все получилось, спасибо большое за практический урок! Нужно продолжать, вот это действительно очень ценные знания!!!
@user-on8ih8qt6q
@user-on8ih8qt6q Рік тому
Спасибо за прекрасный урок! Хотелось бы подробнее разобрать все моменты) Успехов вам!
@user-bp9kt5ew3x
@user-bp9kt5ew3x Рік тому
Огромное спасибо. Достаточно долго искал Джава реализацию ТелеграмБота (видел до этого только на Питоне реализацию) . 🥳🥳🥳 Все супер продолжайте в том же духе ))
@user-vi2ig1pd6b
@user-vi2ig1pd6b Рік тому
Классно! Единственный источник информации где хоть что-то понятно.
@user-ln2le4ou1y
@user-ln2le4ou1y Рік тому
Спасибо большое! Так понятно и легко объясняете материал. И тема максимально интересная
@dmitrijkormakov
@dmitrijkormakov Рік тому
Благодарю за ясные и понятные объяснения! Супер!
@user-jj6pp7ic3k
@user-jj6pp7ic3k Рік тому
Приветствую! Спасибо за вводный курс, после которого стало все более или менее понятно с ботами. Было бы круто, в дальнейшем при составлении нового контента помимо того, что ты объясняешь для чего и что именно ты делаешь, подсказать вариации и почему так делать не стоит. Да время будет потрачено больше, но можно разбить еще на блоки. К примеру увидел у тебя в ролике то, что выполняешь внешний запрос при назначении команд из конструктора. Слышал, что это делать не желательно, можно ведь это обойти. надеюсь на дальнейшие крутые видео с "многомодульностью", таких маловато ну рунете.
@leetovetz
@leetovetz Рік тому
Да. все интересно. особенно со спрингом. спасибо. ))) может как отдельную рубрику было бы круто. тестовые задачи на собеседовании на спринге. )))
@pate2418
@pate2418 Рік тому
Какое же в конце было крутое ощущение когда это все заработало! Спасибо! Продолжайте обязательно!
@user-eg7on1ys4v
@user-eg7on1ys4v Рік тому
у вас не было ошибок никаких?
@mahotinigor
@mahotinigor Рік тому
Дмитрий, спасибо! Просто, доступно. Мне очень понравилось!
@user-ll7ds7ob9i
@user-ll7ds7ob9i 5 місяців тому
Дмитрий, контент просто восторг! Спасибо вам огромное!
@verakolkutina6122
@verakolkutina6122 8 місяців тому
круто. не быстро ю понятно. нормальная речь. многих просто невозможно слушать, хоть какие гении. Спасибо!
@user-tp8vl9bi8l
@user-tp8vl9bi8l Рік тому
Спасибо большое !!! 👍 очень интересно, хотелось бы поподробнее и посложнее конструкции бота.
@UladzislauMarmuz
@UladzislauMarmuz Рік тому
Спасибо огромное, не мог найти норм видео с объяснением. И нашёл Ваше ,очень понравилось!
@zvnman
@zvnman Рік тому
Спасибо огромное за пример бота!
@NozrGaming
@NozrGaming Рік тому
Дмитрий, спасибо за урок!😇
@kirillnovikov7925
@kirillnovikov7925 Рік тому
Это с ума сойти как интересно и нужно!! Нормальных, подробных материалов для тех, у кого слабая подготовка, в интернете найти не смог. Здесь всё супер-понятно разобрано! Хорошо бы бота с подключением БД SQL разобрать. И с API запросами на сторонние сервисы.
@eqivok
@eqivok Рік тому
Спасибо за доступность. Хороший видео
@education8448
@education8448 Рік тому
Спасибо! Очень доступно и интересно!
@user-wg6ui6jp1j
@user-wg6ui6jp1j Рік тому
Огромная благодарность!!!!
@tarasbyakin9218
@tarasbyakin9218 11 місяців тому
Спасибо за видео! Делай ещё! Очень интересно.
@filidorZeliony
@filidorZeliony Рік тому
Спасибо, друг. Отличное видео!
@rzx4112
@rzx4112 Рік тому
Приветствую! Отличный контент. Хорошего качества. Было бы здорово более подробно разобрать все использованные в видео объекты. Буду признателен. Продолжайте в том же духе!
@user-cd5xd1gs7v
@user-cd5xd1gs7v Рік тому
Согласен. Было бы здорово, если подробнее описывали моменты или хотя бы где можно про это почитать/посмотреть отдельно.
@user-kt7hy5vk3k
@user-kt7hy5vk3k Рік тому
Спасибо, очень интересно!!!!
@ne_by_la
@ne_by_la Рік тому
Спасибо огромное за видео ❤❤❤
@Tehhie
@Tehhie Рік тому
Спасибо большое за доступный и хороший урок =)
@withotsoul7252
@withotsoul7252 Рік тому
Круто! Видос супер! Спасибо большое
@user-vd8kt4td7i
@user-vd8kt4td7i 3 місяці тому
Спасибо большое, реально так долго сидел над одной проблемой, а у тебя так все разжована и чётко обьяснено , Спасибо большое чувак ❤
@alexanderpastuhanov174
@alexanderpastuhanov174 Рік тому
спасибо! очень интересно!
@macknyan3524
@macknyan3524 Рік тому
МУЖИК спасибо огромное, ты лучший. лайк+подписка
@GoshaSon
@GoshaSon Рік тому
Да, очень интересно, и можно более подробнее что, зачем и почему, что бы поменьше "чёрных ящиков", а то Спринг сам по себе deus ex machina.
@user-jt6bo6ez2j
@user-jt6bo6ez2j 3 місяці тому
Видео огонь. Однозначно палец вверх. Доступно, актуально, востребовано.
@Desttiny50
@Desttiny50 Рік тому
Большое тебе спасибо. Я пытался сам разобраться с нуля, но зачем-то залез в 6.2.0 версию, там никаких LongPollingBot'ов нету, по итогу очень сильно запутался, не мог найти нормальную инфу, выгорел и забросил, по итогу не мог ничего сделать с этим, но сейчас наткнулся на твой канал и единственное что спасло - это твое видео)
@pinkmoney9010
@pinkmoney9010 Рік тому
Очень интересное видео! Тему продолжать, очень актуальная!
@user-pi3du8zt5m
@user-pi3du8zt5m 10 місяців тому
Как я рад что обнаружил этот казик!) здесь реально можно подниматься)
@takiochannel
@takiochannel Рік тому
Спасибо большое, очень интересно!
@webbnba
@webbnba 5 місяців тому
Спасибо, было полезно, продолжай пожалуйста!
@richardneztov
@richardneztov 11 місяців тому
Очень интересно. Спасибо!
@evgenyvaymer6700
@evgenyvaymer6700 Рік тому
Офигеть ... работает.... первый раз смог что то склипать на JAVA спасибо
@bereal9464
@bereal9464 9 місяців тому
объясняете супер приятно учиться
@user-ny6oj1xg6y
@user-ny6oj1xg6y Рік тому
Круть! спасибо!
@user-uz8zx7oo4q
@user-uz8zx7oo4q 5 місяців тому
Интересно и классная подача!
@dmitriymalyshev3815
@dmitriymalyshev3815 Рік тому
Интересно ботов, побольше бы про телегу
@mikecontact7535
@mikecontact7535 Рік тому
Круто) хочу еще видосы
@ourcozylife3089
@ourcozylife3089 3 місяці тому
Спасибо за это видео, мне это очень было нужно)
@sleepkqq6164
@sleepkqq6164 Рік тому
спасибо за видео, очень помогло
@mikhailazarka6007
@mikhailazarka6007 Рік тому
спасибо, интересно
@serge7069
@serge7069 Рік тому
Спасибо! Интересное видео. Интересует как работать с опросами и кнопками в боте.
@user-wc6kz3yt9d
@user-wc6kz3yt9d Рік тому
Просто бомба)
@Juravliik
@Juravliik Рік тому
Надеюсь читаешь комментарии под старыми видео. Подскажите пожалуйста, стоит ли углубляться в данный процесс, пока не разобрался с азами Java?
@user-fp9ef7uo2w
@user-fp9ef7uo2w Рік тому
27:34 думаю это по тому что мы получаем чат айди в байтах поэтому лонг а отправляем в жейсоне или штмл зависит от контроллера рест или mvc на спринге всегда все что отправляем строка так что это наверно обусловленно то на чем телега написана а спринг всегда строки отправляет он обьекты превращает в ключ значение и отправляет ка строку(жейсон) а штмл как штмл строку там я не знаю как она формируется
@alexorgnet
@alexorgnet Рік тому
Отличное видео!!!
@zaoblachen
@zaoblachen Рік тому
хотелось бы чтобы Вы обосновывали свои действия рассуждая и создавая проект постепенно. Код работает, но наслаждение от его переписывания в ide не было подкреплено логическим ходом мысли - инициализация была произведена в самом конце, вы по методичке делали и напутали порядок ? Хотелось бы Вашей вовлеченности в процесс и продуманности шагов. Спасибо за видео!
@vladaleksandrov3111
@vladaleksandrov3111 Рік тому
Очень интересная тема.
@user-xw7jw3fo9i
@user-xw7jw3fo9i Рік тому
Спс, интересно))
@hasanpolatov3167
@hasanpolatov3167 Рік тому
Thank you!
@Serg845
@Serg845 Рік тому
очень интересная тема!!
@ivanstrelka3448
@ivanstrelka3448 2 місяці тому
Оч круто!!
@bereal9464
@bereal9464 9 місяців тому
спасибо большое за урок много ботов разных пожалуйста
@user-ew7kd8bd5g
@user-ew7kd8bd5g Рік тому
Да стоит продолжение, но было бы круто если сделаете урок по созданию интернет магазин на основе spring thymeleaf)
@deni5n
@deni5n Рік тому
ух, всегда интересовало, зачем делать ui интернет магазина на таких тяжеловесах как java, а не использовать тотже javascript и какой нибудь react или vue?
@kandidat8134
@kandidat8134 Рік тому
не надо с тимлифом, это прошлый век
@Keprta
@Keprta Рік тому
how about no
@nicholaswhite7351
@nicholaswhite7351 Рік тому
Годный контент.
@user-dt9nn6ri9s
@user-dt9nn6ri9s 2 місяці тому
Good job bro , keep it going on !
@tacittuber4771
@tacittuber4771 Рік тому
Отличный видос. Спасибо большое! Но пожалуйста, не делай такое сильное приближение.
@user-hm8wx2us8l
@user-hm8wx2us8l Рік тому
Хорошее видео, только было бы качественней с небольшой подготовкой к записи видоса, тогда бы не было "затупов" и перескакивания с середины написания одних методов к методам которые забыл написать)) Лично мое мнение: если ты немного подкачаешь скилл подачи материала, то цены не будет твоим роликам. А так очень даже доходчиво, спасибо за труды!)
@alexeyventura6782
@alexeyventura6782 Рік тому
Очень познавательное видео
@owa_creator
@owa_creator Місяць тому
Очень классно, только есть один вопрос, почему микрофон восьмибитный?
@user-ml1ei7cv3u
@user-ml1ei7cv3u Рік тому
Круто
@user-zm2ft7lo7g
@user-zm2ft7lo7g Рік тому
Крутой контент оччч
@user-ey8hl7iz9t
@user-ey8hl7iz9t 7 місяців тому
Добрый день, спасибо большое за урок. Нужна помощь, у меня после первого урока ответное сообщение бота на /start не приходит, в консоле пишет INFO 7128 No active profile set, falling back to 1 default profile: "default",
@v-smartgreatest6814
@v-smartgreatest6814 Рік тому
Добрый день. Димитрий, подскажите пожалуйста. Вот я реагировал простого Лоннинг Пол Бота, теперь у меня есть другой класс я хочу чтобы в другом классе бот мог отписывать сообщение по событию. Как мне это сделать? То есть проект один. Есть дополнительный класс где я хочу один из методов использовать как мне это сделать?
@user-bn9wc8db6s
@user-bn9wc8db6s Рік тому
Spring - КАЙФ!!!!! Боты это прикольная тема!!!!
@munstr007
@munstr007 10 місяців тому
Запахло весной..
@Xomiak-ff5fv
@Xomiak-ff5fv Рік тому
Всем привет! У кого то получилось сделать бота? У меня все запускается но сразу отрубается. Бот не реагирует на команду /start
@woodorsha2955
@woodorsha2955 Рік тому
такая же ерунда
@dimon341mg
@dimon341mg Рік тому
Привет, очень интересно, хочется разобраться поподробнее.
@remnantruts1727
@remnantruts1727 Рік тому
почему сразу Lombok в dependency не добавили а вручную прописывает
@dk63646
@dk63646 Рік тому
No active profile set, falling back to 1 default profile: "default" при запуске что это может быть?
@dariaaa123
@dariaaa123 Рік тому
spring-boot-maven-plugin - В данном месте в xml файле выдает plugin not found. Все плагины вроде установлены. Использую Idea Community Editoion
@wes-key1158
@wes-key1158 Рік тому
Аналогичная ситуация, но у меня ультимейт. Не думаю что это должно иметь значение. Как решил проблему?
@onon648
@onon648 8 місяців тому
Спасибо большое за прекрасное введение в создание телеграм-ботов! К сожалению, столкнулся с некоторой проблемой, делал в принципе всё как и на видео, не считая версии Spring Boot и содержания сообщений бота, но в итоге при запуске бот просто заканчивает работу без ошибок с сообщением "Process finished with exit code 0". Не могу понять в чём причина, внятных решений, как и схожих проблем на просторах интернета не нашёл. Поэтому если кто-то сталкивался с таким или знает решение, то буду очень признателен если поможете
@user-eb3ul4ye6x
@user-eb3ul4ye6x 4 місяці тому
ты решал?
@yyy14071988
@yyy14071988 3 місяці тому
В моем случае я не написал аннотацию @Component над одним из классов
@cakeistrue
@cakeistrue Рік тому
Жаль, что нельзя поставить два лайка!
@buter81
@buter81 Рік тому
На 28ой минуте очень непонятные действия, вы зачем то начинаете обрабатывать exception, а потом же его пробрасоваете!!!
@n_fiolet8615
@n_fiolet8615 4 місяці тому
Что делать если файл pom.xml File is read-only как мне сделать, чтобы я мог писать в нем
@jahongiratametov9985
@jahongiratametov9985 Рік тому
very interesting
@soup1soup
@soup1soup Рік тому
С аннотацией @Data нужно быть оторожным и уж точно не использовать ее для создания контруктора)
@user-fp9ef7uo2w
@user-fp9ef7uo2w Рік тому
интересно побольше прог на спринг буте
@MrVanchenso
@MrVanchenso 10 місяців тому
Все сделал...ошибок 0...все проверил и token и имя и код......но бот молчит
@test-hb7gu
@test-hb7gu Рік тому
Добрый вечер, хотелось бы узнать с чем может быть связано, что программа компилируется, но сразу же выдаёт, что процесс завершился с кодом 0?
@JavaManuals
@JavaManuals Рік тому
Возможно API ключ неправильный
@test-hb7gu
@test-hb7gu Рік тому
@@JavaManuals Имя и токен правильные
@JavaManuals
@JavaManuals Рік тому
Логи пишите? Там ничего нет?
@user-bm2ge2rl7v
@user-bm2ge2rl7v Рік тому
такая же проблема, что делать???
@MartinsGroza-vc2no
@MartinsGroza-vc2no 4 місяці тому
Tema super
@user-ne5yu5pv4v
@user-ne5yu5pv4v 11 місяців тому
Зачем добавлять lombok и при этом не пользоваться @RequiredArgsConstructor над классом, чтоб не создавать конструкторы самому 18:06 ...
@user-be8vo9uz8s
@user-be8vo9uz8s 9 місяців тому
добрый вечер, такая ошибка, пожалуйста, подскажите как исправить? Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'botInitializer': Unsatisfied dependency expressed through field 'bot': Error creating bean with name 'telegramBot': Lookup method resolution failed
@user-be8vo9uz8s
@user-be8vo9uz8s 9 місяців тому
на вашем коде та же ошибка, хм
@user-be8vo9uz8s
@user-be8vo9uz8s 9 місяців тому
после перезапуска всё работает, ахаха
@user-xp1sm5hp3g
@user-xp1sm5hp3g Рік тому
Подскажите,пожалуйста, возможно ли написать бота,который создает ботов с определёнными параметрами? Тобишь пользователь кидает токен первому боту,и первый бот на основе токена создаёт бота
@JavaManuals
@JavaManuals Рік тому
Конечно, можно
@user-xp1sm5hp3g
@user-xp1sm5hp3g Рік тому
@@JavaManuals а как это возможно реализовать?)🥲
@ministr3072
@ministr3072 2 місяці тому
Добрый день, делаю бота в первый раз по Вашему видео, но есть одна проблема, при запуске выдает в консоле No active profile set, falling back to 1 default profile: “default” Как активировать профиль? не могу понять
@FeliksBekeshov
@FeliksBekeshov Місяць тому
актуально? могу помочь!
@tomskiy1700
@tomskiy1700 14 днів тому
тема актуальна.
@user-xe4iz6jz8b
@user-xe4iz6jz8b Рік тому
Дмитрий, подскажите чайнику . В вашем коде в Application.properties , я написал имя своего бота и сгенерированный токен поменял. Запускается все нормально, но в телеге при старте ничего не происходит. Что еще нужно заменить?
@JavaManuals
@JavaManuals Рік тому
Это единственное что нужно было менять. Всё должно работать
@user-xe4iz6jz8b
@user-xe4iz6jz8b Рік тому
@@JavaManuals Интересно тогда в чем причина кроется(
@afarsek_91
@afarsek_91 Рік тому
попробуйте сделать без использования properties. в методах getBotUsername() и getBotToken() просто напишите значения вашего токена и имя бота в кавычках.
@Xomiak-ff5fv
@Xomiak-ff5fv Рік тому
@@user-xe4iz6jz8b получилось ли решить проблему?
@HAstLeBastlE
@HAstLeBastlE 9 місяців тому
Подскажите Подскажите, пожалуйста, что делать если Spring Boot включается, запускаются нужные три строчки в консоли И ПОТОМ ПРОГРАММА ЗАВЕРШАЕТСЯ?
@And-yn9vv
@And-yn9vv 8 місяців тому
Если у Вас исполняемый файл расположен в дополнительном пакете: io.proj3ct.SpringDemoBot."название_пакета", а не в "io.proj3ct.SpringDemoBot" как на видео. У исполняемого класса пропишите аннотацию: @ComponentScan("io.proj3ct.SpringDemoBot") По умолчанию Spring Boot автоматически сканирует компоненты внутри пакета, в котором находится класс с аннотацией @SpringBootApplication и его подпакетов.
@fastmakc3379
@fastmakc3379 Рік тому
Дмитрий, отличный материал. Вы менторством занимаетесь?
@JavaManuals
@JavaManuals Рік тому
В целом занимаюсь
@fastmakc3379
@fastmakc3379 Рік тому
@@JavaManuals а подробней как узнать на каких условиях?
@JavaManuals
@JavaManuals Рік тому
Можно на почту написать dmitrijs@jugla.net или в Телеграм t.me/DFinashkin
@andreytsod7657
@andreytsod7657 Рік тому
Когда прописываю инициализацию бота с register bot, то как будто открываются 2 сессии, которые конфликтуют друг с другом (возможно дело в спринге), а без инициализации все работает прекрасно. Кто то знает почему так работает?
@andyvlasenko428
@andyvlasenko428 Рік тому
Аналогичная проблема. ПОлучилось разобраться в чем причина?
@andreytsod7657
@andreytsod7657 Рік тому
@@andyvlasenko428 По итогу нет, дальше работал без инициализации, насколько помню
@unqp52
@unqp52 Місяць тому
А зачем использовать spring ? Какие трудности могут возникнуть без него?
@dmitriyfb
@dmitriyfb Рік тому
Спасибо. С продолжением было бы круто?
@JavaManuals
@JavaManuals Рік тому
Продолжение будет уже вначале следующей недели
@geopolitTV
@geopolitTV Рік тому
@@JavaManuals круто, ждем !! Классные ролики !!! Продолжай !!!
Мы играли всей семьей
00:27
Даша Боровик
Переглядів 3,3 млн
🔥 Україна виходить у ФІНАЛ ЄВРОБАЧЕННЯ-2024! Реакція alyona alyona та Jerry Heil #eurovision2024
00:10
Євробачення Україна | Eurovision Ukraine official
Переглядів 317 тис.
Что такое Java и как ее выучить?
19:55
Sergey Nemchinskiy
Переглядів 119 тис.
Lets Refactor this Telegram Bot To Use Generics | Code Review #3
37:35