Курс по Grammy JS: вся БАЗА | как писать телеграм-ботов на JS

Поділитися
Вставка
  • Опубліковано 31 тра 2024
  • ⭐ BOOSTY: boosty.to/pomazkovjs
    ⭐ Поддержать донатом: boosty.to/pomazkovjs/single-p...
    ⭐ Интенсив по JS: pomazkovjs-hangman.ru/
    ✅ Текстовая версия ролика: slc.tl/sy40z
    ✅ Сервер Selectel: slc.tl/qtz71
    В этом видео мы разберем все основные механизмы библиотеки Grammy JS:
    - стартовый набор файлов бота и общую структуру
    - слушатели событий от пользователя
    - объект Context: контекст обновления
    - работу с двумя видами клавиатуры
    и многое другое.
    Приятного просмотра!
    Ссылки по GrammyJS:
    * Обработка ошибок - grammy.dev/guide/errors
    * Фильтры bot.on - grammy.dev/guide/filter-queries
    * Context (ctx) - grammy.dev/guide/context
    * parse_mode: “HTML” - core.telegram.org/bots/api#ht...
    * “MarkdownV2” - core.telegram.org/bots/api#ma...
    * Настройка login / pay методов - deno.land/x/grammy@v1.21.1/mo...
    * СОЦ. СЕТИ:
    👀 Instagram - / pomazkov.js
    🚀 Telegram - t.me/pomazkovjs
    Тайм-коды:
    00:00 Интро
    01:18 Получаем токен для телеграм бота
    02:21 Создаем проект
    05:24 Стартовый код бота
    08:30 Запуск бота с nodemon
    09:31 Порядок слушателей в grammy (важно)
    11:09 Обработка ошибок в grammy js
    13:35 Обработка сообщений от пользователя
    14:03 bot.command - команды
    15:25 Одинаковая реакция на несколько команд
    16:16 Как сделать меню команд у бота (bot.api.setMyCommands)
    17:49 Ограничения работы с командами
    20:09 bot.on - фильтрация по типу сообщения
    24:48 bot.filter - свои кастомные фильтры
    27:43 bot.hears - ответ на конкретные сообщения
    29:06 Регулярные выражения
    30:08 Еще раз про важность расположения слушателей
    31:17 Объект Context (контекст обновления)
    33:04 Как узнать свой id в телеграм
    34:34 Подробнее про ctx.reply
    35:09 Ответ на конкретное сообщение
    35:54 Форматирование сообщений телеграм бота
    38:25 disable_web_page_preview
    38:50 ctx.react - отправка реакций на сообщения
    39:35 Клавиатуры у бота и их ограничения
    40:09 Custom Keyboard
    41:09 .text() - добавление кнопки к клавиатуре
    41:01 .row() - разбивка кнопок по рядам
    42:40 .resized() - почему кнопки растягиваются в тг боте
    43:15 Как реагировать на нажатия по кнопкам
    43:58 oneTime() - одноразовая клавиатура
    44:31 Убираем клавиатуру вручную
    45:13 Keyboard.from() - клавиатура из массива строк
    46:33 Запрашиваем локацию, номер телефона и опрос у пользователя
    48:28 Добавляем команды в меню
    49:06 .placeholder() - изменение текста в инпуте
    49:45 Реакция на контакт или локацию
    50:47 Inline Keyboard
    53:06 Обработка нажатий на инлайн клавиатуру
    57:48 Задание на самостоятельную работу
    1:00:02 .row() и .url() в инлайн клавиатуре
    1:01:40 Плагины в grammy js
    1:02:00 hydrate - редактирование сообщений и бесшовное меню
    1:09:42 Деплой бота на удаленный сервер
    1:10:15 Загружаем бота на GitHub
    1:12:00 Настраиваем сервер
    1:18:33 Запуск бота на сервере
    1:19:36 Заключение
    #javascript #курс #grammyjs #фронтенд #телеграмботы

КОМЕНТАРІ • 84

  • @r0mm4k
    @r0mm4k 2 місяці тому +17

    Отличный ролик, спасибо, давно на ютубе не встречал обновленных гайдов по grammy. Хотелось бы продолжения: добавить db, добавить typescript и линтеры, добавить структуру файлов и папок, разобрать меню/каталоги вложенные друг в друга, login и pay, poling и hooks, завернуть в докер. Буду ждать 😉 С меня подписка 😊

  • @happygraymangamer6067
    @happygraymangamer6067 2 місяці тому +8

    Боже мой откуда ты появился чеел, видео без воды, всё чётко, спасибо тебе огромное и УДАЧИ!!!

  • @user-du2bo5tm7b
    @user-du2bo5tm7b 2 місяці тому +3

    Я в шоке, насколько же все понятно, очень крутой подход, жду новых видео.

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

    Хочу отметить, что автор очень хорошо обьясняет! продолжай пожалуйста, приятно смотреть.

  • @pryff9569
    @pryff9569 3 місяці тому +4

    Только сегодня пересматривал старый ролик о создании бота на grammy.js, и сегодня новый ролик выходит😮

    • @pomazkovjs
      @pomazkovjs  3 місяці тому +2

      Совпадение? Не думаю 🎩

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

    Спасибо. Единственный ролик про Grammy!

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

    Отличное видео. Большое спасибо. Хотелось бы ещё узнать про логин, взаимодействие с бэкендом и хранение стейта действий пользователя)

  • @Lazy1097
    @Lazy1097 2 місяці тому

    Просто огонь! Почаще бы видосики выходили, было бы ещё круче!)

  • @artyomgrigorev2186
    @artyomgrigorev2186 2 місяці тому

    Спасибо тебе. Изучаю JS и вот в качестве материала твой видос очень мне полезен

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

    Автор лучший! Расписано все идеально, каждый модуль понятен, ну просто 🫶

  • @pussydussy3693
    @pussydussy3693 3 місяці тому +2

    Как будущий сеньер хочу сказать большое спасибо за видос!)
    Прошлое видео по grammY очень понравилось Это ему ничем не уступает
    Жду больше подобного контента! Спасибо! :)

  • @AlexSkaeg
    @AlexSkaeg 21 день тому

    Спасибо,очень хорошо объяснено что куда и зачем. ))

  • @igork.3575
    @igork.3575 2 місяці тому

    Отличное видео, прям по полочкам все разложил. Хотелось бы еще про login и pay посмотреть ;)

  • @EOA69
    @EOA69 2 місяці тому +1

    Автор, приветствую 🤝. Случайно увидел твои видео, мне понравилось то, как объясняешь, примеры и сам стиль повествования. Круто делаешь! Хотелось бы увидеть разбор асинхронности от тебя, классов и наследований.

  • @SolutionsByPVV
    @SolutionsByPVV 2 місяці тому

    Очень доходчиво, лайк!

  • @user-bg2zf5wn9r
    @user-bg2zf5wn9r 2 місяці тому +7

    Хотим про методы логин и пей) Хотим больше про телеграмм бота на js)) Спасибо за видео!

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

    Круто спасибо за такой контент!

  • @efimkapliy6370
    @efimkapliy6370 3 місяці тому +2

    Пока не начал смотреть, но зная Арсения... Видео будет крутым и наполненным💯🔥

  • @user-vw8xb7xf4v
    @user-vw8xb7xf4v 2 місяці тому

    от души) те кто пишут тебе на хабре, мол "зачем делаешь, всё равно в доке лучше", так я как начинающий только от тебя узнал про эту библиотеку! Респект!
    И расскажи про логин и пэй + про плагины

  • @glebasik_tiiip
    @glebasik_tiiip Місяць тому +1

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

  • @user-ec1vt8kq9v
    @user-ec1vt8kq9v Місяць тому

    Спасибо! Отличное видео!

  • @helenali5107
    @helenali5107 23 дні тому

    Вы очень хорошо объясняете. Видео про плагины будет очень полезным

  • @user-sc1ip2ck8l
    @user-sc1ip2ck8l 2 місяці тому

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

  • @parmetra
    @parmetra 2 місяці тому

    Спасибо за обширный гайд на Ботам! Хотелось бы конечно примеры использования всех возможных плагинов увидеть, поэтому ждём-с видео на эту тему. 😊
    P.S. я настроил у себя плагин Conversation, но т.к. делал это впервые, то есть вероятность, что в коде присутствуют костыли. А вот посмотреть, как используют другие, чтобы перенять какие-либо паттерны - это всегда полезно. Спасибо за ваш труд!

  • @AndreiKamarou
    @AndreiKamarou 9 днів тому

    Спасибо, дружище!!!

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

    Спасибо за урок!
    Расскажи в будущем про login / pay методы

  • @uris5903
    @uris5903 2 місяці тому +1

    отличный урок, сделай ещё видео но уже с допустим каким-то фулл проект ботом на подобии инет магазина

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

    Все информативно, спасибо!

  • @N4M3L3SS_CH4NN3L
    @N4M3L3SS_CH4NN3L 2 місяці тому

    Видео ОГОНЬ 🔥🔥🔥. Очень надеюсь, что ты снимешь видео про продвинутые плагины, логин, пай и ВОТ ЭТО ВСЁ !!! Спасибо тебе и желаю удачи 👍

  • @slava_tfdf
    @slava_tfdf 2 місяці тому +1

    Ещё чуть осталось пройти по ролику, но контент очень хороший! Вот это объяснение, когда bot.on('message' и пошёл дальше объяснять какие ещё бывают фильтры - ПУШКА. Вот бы так по всему выпадающему (даже дальнейшая ссылка на документацию смотрелась в тему) в js. СПАСИБО!
    В тему pet проектов, если кто-то готов в телеге или дискорде объединиться в группу, то можно было бы реализовать идеи, которые могут быть полезны в жизни (вплоть до того, чтобы потом всё в открытую закинуть), но при этом пробовать и подсказывать в командной разработке (даже если git пользуешься на уровне 0) - чтобы прокачаться.

    • @pomazkovjs
      @pomazkovjs  2 місяці тому

      Спасибо!
      У меня есть тг: t.me/pomazkovjs
      А у него чат: t.me/+Hx6RaBT4Trw3ZjM6
      Чат живет, и там пару недель назад кто-то из ребят предлагал такую же кооперацию. Можно поискать или написать ещё раз 🙌🏼

  • @user-cb7sd7tj6l
    @user-cb7sd7tj6l 2 місяці тому

    Спасибо. Прекрасно объясняешь. Хочу видео про плагины!!

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

    О, ты жив

  • @iuseronline
    @iuseronline 2 місяці тому

    Я в шоке какой красавчик

  • @dmitrykomarov6152
    @dmitrykomarov6152 2 місяці тому

    День добрый :)
    Если уже начал активно telegraf использовать, имеет ли смысл переходить на иной фрейм/модуль? Заранее благодарю :)

  • @vitmih380
    @vitmih380 3 місяці тому +2

    А что в этом фреймворке с машиной состояний?

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

    И еще, как можно сделать кнопку START при запуске бота? Чтобы пользователь не открывал для этого меню слева внизу и не писал /start руками?

  • @RedShucov
    @RedShucov 2 місяці тому

    Здравствуйте, подскажите пожалуйста, планируете ли в ближайшем будущем выпустить ещё одно видео про нюансы языка JS?
    По типу замыканий и this

  • @egsablin
    @egsablin 2 місяці тому

    Спасибо за ролик! Понравился grammy, а в нем есть scenes и wizards как в telegraf? Было бы интересно посмотреть реализацию более сложной логики для бота 😀

  • @user-db4ec6rx4n
    @user-db4ec6rx4n 2 місяці тому

    Пересказ статьи в видео из selectel? Как использовать throttler?

  • @glebasik_tiiip
    @glebasik_tiiip Місяць тому +1

    подскажите как сделать так чтоб можно было назначив бота админом в канале следить за каждой подпиской и отпиской с канала

  • @user-ns9yd3wt8h
    @user-ns9yd3wt8h 2 місяці тому +1

    Пожалуйста подскажите как в grammY открывать mini apps

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

    Thanks bro 👏

  • @electromystyleable
    @electromystyleable 2 місяці тому

    В Grammy.js вроде был какой-то баг с зависанием при обработке событий или его исправили?

  • @pika4u380
    @pika4u380 2 місяці тому

    Хороший ролик, спасибо. Но в разработке ботов есть один популярный кейс, реализация которого варьируется от фреймворка к фреймворку. Я про последовательные сообщения. Например если бот задаёт тебе ряд сообщений с разными вопросами. Было бы интересно посмотреть как в Grammy сделать такой флоу

  • @pro_chat_bot
    @pro_chat_bot 2 місяці тому

    Крутой ролик! Доступно все рассказано.
    А есть плагин, который запускает webapp?

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

    Ролик топ и я думаю мне нужно установить гит?

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

    Как фотографию добавить? Помогите плз

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

    Что за деплой бота без вебхуков?

  • @dmprkp6792
    @dmprkp6792 2 місяці тому

    А по какому протоколу работает гремми?

  • @user-fz5ig3dx1i
    @user-fz5ig3dx1i 2 місяці тому

    *Комментарий поддержки*

  • @perstj5746
    @perstj5746 2 місяці тому

    А как использовать функции в grammy js ,

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

    Ля топ

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

    Можете рассказать, как заставить бота пересылать сообщение пользователя в определенную группу/чат?

  • @pokerface7697
    @pokerface7697 2 місяці тому

    Отличный ролик, подскажите, появилось 2 вопроса:
    1) можно ли на сервер копировать папку с ботом прямо с ПК, минуя GitHub
    2) что если я хочу исправить что-то в боте или добавить новые фичи. Загружать новый вариант на GitHub и потом снова клонировать на сервер?

    • @muzaboz1
      @muzaboz1 2 місяці тому

      Можно, запускаешь на сервер ftp и закидываешь, но это гемор. Так как надо настраивать сервер ftp

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

    было бы неплох ролик по дискорд боту✨✨

  • @igori6471
    @igori6471 2 місяці тому

    Еще раз спасибо, но тут можно сказать обзор базового функционала. Может быть теперь сделаешь курс по созданию сложного бота, с базой данных, с регурярными выражениями, чтобы он мог на определенные запросы, по какой-либо логике обрабатывая ключевые слова из сообщения пользователя, реагировать определенным действием - выдавать файлов, видео, фото. И да, хоть это будет чуть более трудоемко, зато действительно топовый ОРИНИНАЛЬНЫЙ И ТОЛКОВЫЙ курс будет и толковый. Го, тыж сеньор.

    • @user-bl3iu7ob9e
      @user-bl3iu7ob9e 2 місяці тому

      А че там с бд не понятно. Я использовал sequilize и с postgres его подружил. Удобно сообщения. Юзера записывать. Да и многое другое. Я например через бд сделал нижнее меню. Вообще шикарно получается. Если че надо пиши - если знаю расскажу что знаю) опыт js 3 месяца))))

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

    Очень хотим про плагины!

  • @404piano
    @404piano 2 місяці тому

    Сцены есть?

  • @user-bl3iu7ob9e
    @user-bl3iu7ob9e 2 місяці тому

    А и ещё Winston прикрутить. Прикольно когда сам бот тебе же в телегу присылает ошибки в коде. Ну эт понятно что логи пишутся в файлы , заменяется сами и все такое))))))

  • @SolutionsByPVV
    @SolutionsByPVV 2 місяці тому

    Арсений, сними видео про отдельные плагины ....

  • @user-fr5fq2iw6d
    @user-fr5fq2iw6d 4 дні тому

    команда npm start не работает, что делать?

    • @pomazkovjs
      @pomazkovjs  4 дні тому

      Какая ошибка в консоли?
      1) проверить, установлен ли npm (команда npm -v должна выдать версию)
      2) посмотреть, что указано в package.json в разделе scripts

    • @user-fr5fq2iw6d
      @user-fr5fq2iw6d День тому

      @@pomazkovjs спасибо, проблему я уже решил, оказывается я в первой строчке где перепутал точку с запятой

  • @user-bo8wr4sw2s
    @user-bo8wr4sw2s 2 місяці тому

    Вопрос теперь только,как и где потом продавать таких ботов?

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

    Привет, спасибо за видео, а бывают ли бесплатные сервера, может кто-то подскажет?

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

      конечно. это твой компьютер. если хочешь что то серьезное - плати 4 бакса/евро в месяц. с бесплатным можно погуглить но это режим инвалидной коляски подчастую

    • @muzaboz1
      @muzaboz1 2 місяці тому

      Да, мой бот на Grammy работает на бесплатном хосте cloudflare. В документации Grammy все прекрасно расписано про хост

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

    login pay plugin please

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

    Кит инит не работает

  • @Embliny
    @Embliny 2 місяці тому +1

    Урок бомба, но нафига node modules в репу сливать)

    • @pomazkovjs
      @pomazkovjs  2 місяці тому +1

      Спасибо!
      Хахахаха, да, ошибочка - забыл добавить в гит игнор :D

    • @Embliny
      @Embliny 2 місяці тому

      @@pomazkovjs пол 5 утра переписываю бота на grammy 😂😂

  • @kipzmo6969
    @kipzmo6969 2 місяці тому

    Да, но зачем? Да ещё в 2024?

  • @user-gw8xm8fx4k
    @user-gw8xm8fx4k 2 місяці тому +1

    Грэмми помойка

  • @user-bp8hd6kr3d
    @user-bp8hd6kr3d 2 місяці тому +2

    В 20 ноде же уже не нужно тянуть за собой dotenv и nodemon
    “start”: “node -env-file=.env ./index.js”,
    “start:dev”: ”node -env-file=.env -watch ./index.js”