Создание Telegram Bot на Java и деплой на сервер | Spring | Maven | VDS

Поділитися
Вставка
  • Опубліковано 28 лип 2022
  • Мой телеграм канал -
    t.me/xmahz
    Spring initializr - start.spring.io/index.html
    Putty - putty.org.ru/download.html
    FileZilla - www.filezilla.ru/
    Сервер - cloud.timeweb.com/vds?...
    Maven - habr.com/ru/post/77382/
    GitHub - github.com/IooEWREYooI/bots
    Уж если вы читаете эту строчку и я вам хоть как-то помог, напишите об этом в комментариях давайте сделаем мир IT доступнее вместе!
  • Наука та технологія

КОМЕНТАРІ • 118

  • @xmahz
    @xmahz  Рік тому +20

    Грибы не забыл)))

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

    Спасибо большое! Очень помогли! Все понятно и четко!!!!!👍🏼

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

    автору респект, очень подробный обзор ,помог разобраться с деплоем!

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

    АВТОР, спасибо тебе огромное!!! Всё ясно и понятно объяснил, помог разобраться с деплоем. Лучший

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

      Рад стараться 🤜🤛

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

    Классное объяснение, спасибо. У меня тоже всё заработало

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

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

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

      Буду стараться)

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

    Огромное человеческое СПАСИБО! Это самый топ для начала, я перелопатил много чего.

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

      Рад стараться 🤜🤛

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

    Аффтор, мое почтение. Пол утра пытался задеплоится, морочился с созданием настроек вручную. Увижу тебя живьем - с меня пара пива!

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

      Ловлю на слове 😁

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

    Единственный понятный русскоязычный видос про деплой на джаве. Автору спасибо и уважение!

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

      Рад стараться 🤜🤛

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

    а вот что в целом нужно знать про то как деплоить ботов (или может не только ботов) на сервера, потому что тема очень большая и непонятная, хотелось бы конкретно понимать в чем необходимо разбираться?
    и спасибо за видео, всё круто объясняешь❤

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

      Хм, интересный вопрос, обязательно вернусь к нему рано или поздно)

  • @OshiFugo
    @OshiFugo 7 місяців тому +1

    Лучший, спасибо ❤

    • @xmahz
      @xmahz  3 місяці тому

      🤝

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

    За театр и вешалку - лайкосик

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

      Хоть кто-то оценил)

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

    Годно

  • @user-ze8fs5lp1l
    @user-ze8fs5lp1l 6 місяців тому +1

    ТОП КОНТЕНТИЩЕ!

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

      СПАСИБО!

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

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

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

      🥳 Удачи

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

    А есть ли серверы, чтобы можно было попробовать бесплатно? Пока что самый дешевый вариант аренды сервера я встречал за 149 рублей по акции, но там настолько скудный функционал, что я только и смог что постгрес бд там запустить, а уж докер образ с приложением так и не запустился? Я слышал что то про яндекс, но так и не разобрался где там и что

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

      Есть heroku там бесплатно, но деплой тяжелый, хотя, если вам жалко 10 рублей "чтобы попробовать" то я даже не знаю какую альтернативу предложить) Так как "бесплатный" хероку будет работать бесплатно лишь 18 часов в сутки, если хотите 24 то платите, так что как ни крути придётся запускать на VDS

  • @user-ts8dd7zc1n
    @user-ts8dd7zc1n 8 місяців тому +1

    Автор, спасибо огромное, все понятно! Только вопрос, что дополнительно установить чтобы для постоянной работы с ботом? Не совсем понял. Можно название пжлст написанное буквами))))

    • @user-ts8dd7zc1n
      @user-ts8dd7zc1n 8 місяців тому +1

      в самом конце видео было

    • @xmahz
      @xmahz  8 місяців тому

      Timeweb - хостинг, а на линуксе тебе нужен screen

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

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

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

      Он, в целом, тут не нужен. Но лучше приучить себя использовать boot, или хотя бы Spring, поскольку в масштабах времени, для проекта это скажется положительно

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

    у меня почему то нет метода getBotToken, вручную не добавляется, пишет что метод is depricated. Это с версией связвно?

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

      Скорее всего да, но он должен быть в версии которая была актуальна на момент записи видео

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

    обязательно ли устанавливать maven ? Того, что уже установлено в IDEA недостаточно ?

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

      Для сборки проекта - обязательно, в IDEA лишь плагин

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

    так вот что у тебя с башкой твориться, отходняк от грибов, как код еще не забыл писать удивляюсь63:25 😄 все равно лайк👍

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

      Ахах, да

  • @Dimitry_Luk
    @Dimitry_Luk 6 місяців тому +2

    Подскажите пожалуйста как задеплоить бота, который взаимодействует с БД postgresql??? (т.е. Spring boot+postgresql)

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

      Установить postgres на сервер и создать БД как в application properties. Остальное не отличается

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

      @@xmahz я правильно понимаю, что это нужно сделать на time web и дополнительно ещё 149 руб заплатить за создание?)

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

      @@Dimitry_Luk нет, ну, как бы ты можешь и через timeweb, но как альтернативный вариант - просто разверни postgres на серваке, у тебя же там обычный linux

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

      Ну вот ещё один вопрос возник. У меня у бота несколько функций, одна из них заключается в том, что пользователь выбирает тему для шуток и получает шутку, но шутки хранятся в postgresql и они не загружаются, ну то есть всё работает кроме загрузки данных из БД пользователю, как с этим быть?

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

      @@Dimitry_Luk напиши вопрос в телеграм чат @xmahz

  • @mr.orleond4334
    @mr.orleond4334 11 місяців тому +1

    Project build error: 'dependencies.dependency.version' for org.projectlomboc:lombok:jar is missing.
    Ругается на отсутствующий lombok и я, как новичок, вообще хз что делать

    • @xmahz
      @xmahz  11 місяців тому

      Попробуй ребилд самого maven/Gradle сделать, должен подтянуть зависимость

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

    Привет. Если я добавлю изменении на проект, то мне придется снова отправить уже новый измененный проект на сервер и задеплоит ?

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

      Да, конечно

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

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

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

      Да, каюсь проблемы с аудиоадаптером, использовал тот который на материнке, а он рядом с кулерами (

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

    А как работать с изображениями? Если ожидается получение картинки

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

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

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

    Ну это, как оно.... 'не смотрел но напишу')

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

      Правильно, так и надо

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

    Скажите, для совсем новичков в JAVA будет что-нибудь?

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

      Хм-м-м, например?

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

      @@xmahz Поделитесь вашей историей изучения JAVA😊

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

      @@user-pt9lw3bh5j Как раз записываю видео об этом, но, это слегка попозже, сейчас много интересных тем для освещения еще)

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

      @@xmahz Спасибо, ждём. Ну и пара-тройка советов не помешает новичкам.

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

    Не понял только зачем ты 2 раза jdk установил) кекнул немного с этого, если бы не белый шум у тебя на фоне - был бы кайф, гейт - это хорошая штука, но попробуй rx 10 (izotope) там он подрежет тебе частоты автоматически, голос станет немного сжатым, но ты же не вокал тут записываешь) зато прибавится качества видео

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

      Про jdk не помню, честно говоря) А так, я микро купил хороший, теперь звук лучше 😎

  • @baimuhtar8186
    @baimuhtar8186 8 місяців тому +1

    Если TelegramLongPollingBot is deprecated от какого класса наследоваться и как будет выглядеть тогда класс?

    • @xmahz
      @xmahz  8 місяців тому +1

      Там дальше websocket будет, выглядить будет немного изменённым видом, но суть одна, можешь погуглить

    • @xmahz
      @xmahz  8 місяців тому

      *webhook прошу прощения

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

    а такой вопрос: а если я запустил бота через скрин , то есть на фоне, то как мне его остановить потом? просто удалить его джарник из сервера или как?

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

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

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

      @@xmahz да я уже разобрался
      в общем сначала вводишь
      ps -la // Для получения PID наших процессов
      потом
      kill номерPID
      и все

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

      @@spark7978 Я немного по-другому делаю, но это тоже норм вариант

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

      @@xmahz я ошибся. я не помню почем, но это варик не совсем верный
      в общем пишем :
      screen -r
      первое значение это и будет имя скрина
      дальше:
      screen -X -S "имя скрина без кавычек" quit

  • @user-rh6sj5co7u
    @user-rh6sj5co7u 7 місяців тому +1

    Здравствуйте, кто жив, подскажите пожалуйста, на какие сервера можно бесплатно деплойднуть бота? Серваки посмотрел, денег много тянут, мне для проекта на 10 дней.

    • @xmahz
      @xmahz  7 місяців тому +1

      Попробуй heroku, но я никогда не делал через него

    • @user-rh6sj5co7u
      @user-rh6sj5co7u 7 місяців тому

      Он удалил все бесплатные сервера еще в 2021 году

    • @xmahz
      @xmahz  7 місяців тому

      @@user-rh6sj5co7u 😅 значит не судьба)

  • @user-xm1fh6gl7z
    @user-xm1fh6gl7z 8 місяців тому +1

    Что нужно еще установить для деплоя если у меня бот использует бд MySQL?

    • @xmahz
      @xmahz  8 місяців тому

      Посмотри видео про БД и Телеграм ботов на канале, там много информации на это тему

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

      @@xmahz я имею ввиду что надо на сервер установить чтобы с бд работать

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

      @@xmahz щас норм информации по разворачиванию тг бота с базой данных очень мало. Также мало видео в интернете как сделать чтобы изменения попадали на сервер. Было бы славно если бы ты снял ряд видео роликов по работе с vps сервером

    • @xmahz
      @xmahz  8 місяців тому

      @@user-xm1fh6gl7z а, достаточно просто установить БД на самом серваке

    • @xmahz
      @xmahz  8 місяців тому

      @@user-xm1fh6gl7z чтобы изменения заносить есть разные методики, но я делаю остановку бота и заливаю новый jar, который и запускаю

  • @chillywilly2212
    @chillywilly2212 8 місяців тому +1

    А как остановить процесс screen?

    • @xmahz
      @xmahz  8 місяців тому

      Я не помню точно как, но можно получить список всех screen и отключить конкретный по названию

  • @user-pv7df2yt5p
    @user-pv7df2yt5p 9 місяців тому +1

    Первый деплой лучше, чем первый секс)))

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

      Абсолютно

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

    Сделал все как на видео, пишет Error: Could not find or load main class list. Может кто помочь?

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

      Попробуй клонировать мой проект с гита и запустить, если запуститься, то проблема где-то в твоем коде, если нет, то проблема с java на пк

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

      @@xmahz полтора дня ебался с этим, в итоге оказывается у меня откуда-то взялся второй рандомный Мейн класс и Спринг через него запускался ахахаха, не видел все это время его)))

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

      @@AmericanSkill главное что все получилось) Скоро буду об SQL видос пилить, следи

  • @mustFLEXboi
    @mustFLEXboi 4 місяці тому +2

    Ну как там с грибами?

    • @xmahz
      @xmahz  4 місяці тому +1

      Нормально

  • @saiko_rodion
    @saiko_rodion 4 місяці тому +1

    Не рекомендую ночами писать код. Начеркаешь говнокод на уставшую голову, половину из которого потом придется очень жестко рефакторить или вовсе переделывать. Были, делали, проходили - надоело. Любопытно было посмотреть.

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

      Все в меру, мне ночью лучше думается

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

    Только хотел обрадоваться что нашел видео, которое подойдет для меня, но потом услышал, что не в Интеллиджи, а в эклипсе, увы, пошел искать дальше

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

      Правильно! Ведь без Idea Java программист не программист! Или все же он остаётся программистом?

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

      @@xmahz все, разобрался. Вы молодец, показали не только создание, но и как на сервак закидывать. Вот бы еще запустили курс по созданию ботов на java.

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

      @@channelMy хмм, я подумаю над этим, хотя, это не так сложно как кажется, больше интересно разобраться в асинхронном ответе нескольких ботов, ждите видео в общем)

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

      Какая разница, где? Это всего лишь ide

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

      @@xmahz А вот это очень интересно. Не запилил еще видос на эту тему ? С меня два пива !! 😁

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

    И что произошло между 10:55 и 10:57 - ведь это важно!!!!

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

      Там создание класса было, ничего необычного просто пропала запись(

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

    что со звуком? почему так тихо?

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

      Проблемы с записью)

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

      @@xmahz Bandicam в помощь) на рутрекере лежит халявный

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

      @@samnemo215 бандикам ещё актуален?)

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

    аахах я конечно не доктор наук, но правильно пишется "нихера" 😂😂

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

      Художника может обидеть каждый)

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

    блииииии
    ну ведь можно было сразу показать с нормальным кодом? как правильно писать!
    без "не делайте так. это говнокод, не делайте так!"

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

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

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

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

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

      @@bosshoggus1390 хорошо, буду знать на будущее, надо более детально рассказывать)

  • @728239
    @728239 11 місяців тому +1

    Ну ты и колхозник. Зачем тебе тут вообще контест спринга если ты бота сам руками в main создаешь? Структуру кода по сути просто brainfart. Зачем ты скопировал вообще все файлы бота на сервер если только что собрал jar-ку, и только она и нужна? Зачем под рутом все запускаешь? Просто обнять и плакать.

    • @xmahz
      @xmahz  11 місяців тому

      Справедливо, не спорю

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

    Сервер выключать не надо, достаточно убить процесс.
    Объяснять больше часа два метода - это сильно)

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

      Я бы мог это и за 5 минут объяснить, но кому от этого легче стали бы?)