Пишем Telegram bot на Java | Spring. Урок 4: Подключаем MongoDB

แชร์
ฝัง
  • เผยแพร่เมื่อ 17 ธ.ค. 2024

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

  • @ЕвгенийЗубов-м2ф
    @ЕвгенийЗубов-м2ф 4 ปีที่แล้ว +1

    Очень хорошие уроки! Спасибо!

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

    Ещё раз хотелось бы очень поблагодарить вас за проделанную работу и за то, что вы ей поделились. Только благодаря вашим урокам я успел вовремя написать своего бота и не завалить учебный проект. Сначала мучился и пытался изобрести свой велосипед (имею в виду архитектуру самого проекта), но как только увидел ваш вариант, то понял, что велосипед уже готов :3 Идея с конечными автоматами и классом, который распределяет запросы по соответствующим хэндлерам - огонь! В процессе создания проекта улучшил вашу идею и перенёс обработку CallbackQuery в хэндлеры, дабы всё совсем было по красоте. В общем, ещё раз спасибо огромное!
    P.S. Кстати, если не ошибаюсь, то где-то в ваших видео слышал про планируемые видео по Java FX. Если так, то очень интересно было бы посмотреть!

    • @СергейВячеслаев
      @СергейВячеслаев  4 ปีที่แล้ว

      Привет, рад что видео оказалось полезным) А куда задеплоил бота ? Я сегодня смотрел на Amazon AWS и GoogleCloud - показались менее дружелюбными по интерфейсу чем heroku, и нужно еще там повозиться с HTTPS, а у heroku сразу есть и бесплатно.

    • @FalkonFalkonovi4
      @FalkonFalkonovi4 4 ปีที่แล้ว

      Мне деплой в принципе не требовался, поэтому я бота только локально запускал. Кстати, для интересующихся есть забавная фича. Если ваш провайдер в состоянии предоставить вам ipv6, то можете попробовать подключить, и тогда вам не придётся мучиться с прокси для подключения к Telegram, ибо, по ходу дела, роскомпозор пока что ещё не умеет блокировать по ipv6.
      Кстати, Сергей, я как-то заметил в ваших видео, что у вас в Telegram переписка есть с EPAM. Вы рассматриваете возможность трудоустройства туда? Если да, то интересно было бы услышать ваши соображения за/против.

    • @СергейВячеслаев
      @СергейВячеслаев  4 ปีที่แล้ว

      Пока что прохожу там тренинг java core) с удовольствием бы поработал, если предложат.

    • @FalkonFalkonovi4
      @FalkonFalkonovi4 4 ปีที่แล้ว

      Теоретическую часть или уже лабу?)

    • @СергейВячеслаев
      @СергейВячеслаев  4 ปีที่แล้ว

      @@FalkonFalkonovi4 лаба впереди если возьмут)

  • @BamBamBamSteam
    @BamBamBamSteam 3 ปีที่แล้ว

    Как это серия уроков по боту заканчивается? А как же обещание в первом уроке показать процесс сборки проекта и деплоя на хироку?

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

    теперь userId long и вся эта шляпа перестает работать если заходит юзер с айдишником больше инта. А при попытке использования свежей библиотеки Telegram Bots Spring Boot Starter перестают работать некоторые импорты и другое. Капец....

  • @7sevenone71
    @7sevenone71 3 ปีที่แล้ว

    Подскажите пожалуйста как сделать листовку в боте. Вот например как в баду. То есть показываем девушку с низу фото описание и кнопки вперёд назад если есть предидущая и нравиться. При нажатии назад или вперёд показываешься следующая девушка или предидущая при этом сообщений больше не становиться а удаляеться как бы это и на его месте показывается новое

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

    почему в пропертис только 3 строчки кода и у вас запустилось приложение ?

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

    Сергей подскажите, почему при деплое на хероку, бот не может найти картинку из ресурсов? Локально отрабатывает все отлично.

    • @dzmirtytsybulski9305
      @dzmirtytsybulski9305 3 ปีที่แล้ว

      У меня та же проблема, не получилось решить ?

    • @M.Darsky
      @M.Darsky 2 ปีที่แล้ว

      ​ @Дмитрий Цыбульский Сильно не разбирался, но у heroku по-ходу проблема с classpath, когда речь идет именно об изображении. Можно воспользоваться костылем: вместо SendPhoto sendPhoto = new SendPhoto().setPhoto(image); использовать SendPhoto sendPhoto = new SendPhoto();
      sendPhoto.setPhoto(new InputFile("--------appname------.herokuapp.com/images/file_logo.jpg")); при условии, что file_logo.jpg лежит в main
      esources\static\images\

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

    Спасибо за уроки, оказались для меня очень полезными, хотел бы узнать, а как вытягивает данные из Монго? Допустим в базе уже есть много анкет, и я хочу вытянуть конкретные данные по имени и фамилии! Нужно ли подключить Hibernate для простоты, или же можно и без, написав медот и там уже выполнять запросы к конкретным полям?

    • @СергейВячеслаев
      @СергейВячеслаев  4 ปีที่แล้ว +1

      Привет загугли spring data queries mongo )

    • @nadirmusaev3508
      @nadirmusaev3508 4 ปีที่แล้ว

      @@СергейВячеслаев Сергей добрый вечер, а валидацию полей как можно реализовать? Создать отдельный обработчик или в телеграм есть свои классы?

    • @blackview2404
      @blackview2404 3 ปีที่แล้ว

      @@nadirmusaev3508 тоже интересно есть ли в телеграме фронтендовая валидация по типу как в HTML5, но бекендовую валидацию вам надо все равно делать в коде для надежности с помощью реджекс сервисов или хибернейт аннотаций

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

    Сергей, спасибо за уроки! Хотелось бы на видео видеть как ты пошагово ведёшь разработку, с какими проблемами сталкиваешься в процессе, как решаешь, а не уже готовый рабочий вариант. Видео будут длинные и сложные в монтаже, но более познавательные. Подскажи, планируешь ли ты ещё уроки по Spring, например - разработка Web/Rest приложения?

    • @СергейВячеслаев
      @СергейВячеслаев  4 ปีที่แล้ว +1

      Привет) сейчас пока много дел и сам тоже занят трудоустройством, если что будет интересное еще запишу материал. В своих уроках я рассказывал с какими трудностями можно столкнуться и как решить. Обычно я решаю так: есть какая то задача, я примерно прикидываю какой это будет проект, а если что не понятно то рою в интернете и адаптирую под себя- вот и все)

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

      @@СергейВячеслаев да от этих уроков по spring rest уже тошнит. Че не пытаешься найти - натыкаешься на них. Если фишку какую-то смотрю, то проматываю когда он создаст свой rest с нуля. Их уже кишмя кишит этих уроков.

  • @joi3545
    @joi3545 4 ปีที่แล้ว

    Спасибо большое за уроки❤, кто-то может пожалуйста подсказать как правильно перенести обработку CallbackQuery в хэндлеры, а то пытаюсь улучшить бота и в TelegramFacade уж очень много места занимают кнопки. Пытался сделать по аналогии с BotStateConext который выбирает нужный хэндлер, но вместо состояний бота ищет по значению CallBackData кнопки, где первым словом указано тип для выбора хэндлера а вторым уже уникальное название кнопки. Но из-за этого не могу одновременно отправить ответное сообщение пользователю и запустить нужный хэндлер когда нажатие кнопки меняет состояние бота. Помогите пожалуйста🙏, или подскажите где это можно посмотреть. Спасибо.

  • @pol-b5h
    @pol-b5h 4 ปีที่แล้ว

    Привет. На сколько я понимаю вашему боту от сервера телеграма приходят post запросы, где вы их мгновенно обрабатываете и в "200" отправляете обратный ответ. А как сделать так, чтобы бот, к примеру, каждые 10 минут сам отправлял серверу запросы?

  • @A1ter-Ego
    @A1ter-Ego 4 ปีที่แล้ว

    А ты случаем не разбирал как искать документы Mongodb по его массиву возможных значений?
    типа у объекта есть массив с набором слов и если есть совпадение возвращает объект. мои поиски остановились на @Query("{ 'ask' : ?0 }") и в целом это сработало, но он не возвращает null если нет совпадений, а продолжает искать .

  • @ЭдуардЕрошов
    @ЭдуардЕрошов 4 ปีที่แล้ว

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

    • @СергейВячеслаев
      @СергейВячеслаев  4 ปีที่แล้ว +1

      Привет, мой РЖД бот не парсит сайт, он работает с REST api РЖД, получает ответы в видео JSON и его уже парсит. Сами запросы к РЖД есть в файле application.properties. Если у меня будет задача парсинга инфы с какого либо сайта то запишу урок, пока что занят)

  • @nick-nickovich
    @nick-nickovich 4 ปีที่แล้ว

    Здравствуйте, можете рассказать про heroku?
    Я правильно понимаю, что бесплатно сейчас можно получить 450 часов + 550 часов если добавить карту, а каждый месяц часы обновляется? Еще вопрос про дино, если мой бот должен проработать 1,5 месяцев, стоит ли мне для этого брать платный тариф?

    • @СергейВячеслаев
      @СергейВячеслаев  4 ปีที่แล้ว +2

      Привет) у меня бесплатный план, но я добавил карту просто чтобы получить 1000 часов в месяц, бот работает 24/7 уже 5 месяцев, все норм. Платный тариф надо читать что он дает, они пишут что не отключают эти Дино, но по факту у них тоже бывают технич сбои и они могут перезапускать web приложения. Начни с бесплатного плана а дальше смотри на потребности.

  • @yt_user-u1x
    @yt_user-u1x 4 ปีที่แล้ว

    ещё будут уроки?

    • @СергейВячеслаев
      @СергейВячеслаев  4 ปีที่แล้ว

      Привет, по Телеграм ботам если что новое появится запишу.

    • @СергейВячеслаев
      @СергейВячеслаев  4 ปีที่แล้ว

      @@montesquieu_ Привет) сейчас занят работой, когда было время и свежи знания по ботам записал видео. По long polling vs webhook так и загугли, очень много статей, успехов !

  • @maadinpavliyev5526
    @maadinpavliyev5526 4 ปีที่แล้ว

    в гитхабе код пустой почти

  • @whitenights8047
    @whitenights8047 4 ปีที่แล้ว

    👍👍

  • @TheVeliall
    @TheVeliall 3 ปีที่แล้ว

    Ух у меня подгорело!!! Для тех кто не сталкивался - обязательно обратите внимание на то, какой пароль вам автоматически сгенерируется для пользователя с доступом к базе данных. Если там окажется специальный символ - всё может пойти не так ... Вроде и понятно, но сразу не обратил внимание (