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

  Переглядів 18,593

Pomazkov JS

Pomazkov JS

День тому

⭐ 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 #фронтенд #телеграмботы

КОМЕНТАРІ: 78
@r0mm4k
@r0mm4k 2 місяці тому
Отличный ролик, спасибо, давно на ютубе не встречал обновленных гайдов по grammy. Хотелось бы продолжения: добавить db, добавить typescript и линтеры, добавить структуру файлов и папок, разобрать меню/каталоги вложенные друг в друга, login и pay, poling и hooks, завернуть в докер. Буду ждать 😉 С меня подписка 😊
@user-du2bo5tm7b
@user-du2bo5tm7b 2 місяці тому
Я в шоке, насколько же все понятно, очень крутой подход, жду новых видео.
@romanasterios
@romanasterios 2 місяці тому
Хочу отметить, что автор очень хорошо обьясняет! продолжай пожалуйста, приятно смотреть.
@happygraymangamer6067
@happygraymangamer6067 2 місяці тому
Боже мой откуда ты появился чеел, видео без воды, всё чётко, спасибо тебе огромное и УДАЧИ!!!
@pryff9569
@pryff9569 2 місяці тому
Только сегодня пересматривал старый ролик о создании бота на grammy.js, и сегодня новый ролик выходит😮
@pomazkovjs
@pomazkovjs 2 місяці тому
Совпадение? Не думаю 🎩
@Lazy1097
@Lazy1097 2 місяці тому
Просто огонь! Почаще бы видосики выходили, было бы ещё круче!)
@artyomgrigorev2186
@artyomgrigorev2186 Місяць тому
Спасибо тебе. Изучаю JS и вот в качестве материала твой видос очень мне полезен
@avakode
@avakode 2 місяці тому
Отличное видео. Большое спасибо. Хотелось бы ещё узнать про логин, взаимодействие с бэкендом и хранение стейта действий пользователя)
@alexgrigorov8579
@alexgrigorov8579 18 днів тому
Спасибо. Единственный ролик про Grammy!
@XersiLsi
@XersiLsi 6 днів тому
Автор лучший! Расписано все идеально, каждый модуль понятен, ну просто 🫶
@EOA69
@EOA69 2 місяці тому
Автор, приветствую 🤝. Случайно увидел твои видео, мне понравилось то, как объясняешь, примеры и сам стиль повествования. Круто делаешь! Хотелось бы увидеть разбор асинхронности от тебя, классов и наследований.
@pussydussy3693
@pussydussy3693 2 місяці тому
Как будущий сеньер хочу сказать большое спасибо за видос!) Прошлое видео по grammY очень понравилось Это ему ничем не уступает Жду больше подобного контента! Спасибо! :)
@efimkapliy6370
@efimkapliy6370 2 місяці тому
Пока не начал смотреть, но зная Арсения... Видео будет крутым и наполненным💯🔥
@igork.3575
@igork.3575 2 місяці тому
Отличное видео, прям по полочкам все разложил. Хотелось бы еще про login и pay посмотреть ;)
@user-vw8xb7xf4v
@user-vw8xb7xf4v Місяць тому
от души) те кто пишут тебе на хабре, мол "зачем делаешь, всё равно в доке лучше", так я как начинающий только от тебя узнал про эту библиотеку! Респект! И расскажи про логин и пэй + про плагины
@user-sc1ip2ck8l
@user-sc1ip2ck8l Місяць тому
сейчас делаю тг бота типо словаря русско-английского, я не понимаю почему так мало лайков, ты просто красавчик, что делаешь такой полезный контент, все понятно и круто рассказано!!
@Ramosok
@Ramosok 2 місяці тому
Круто спасибо за такой контент!
@user-ec1vt8kq9v
@user-ec1vt8kq9v 19 днів тому
Спасибо! Отличное видео!
@SolutionsByPVV
@SolutionsByPVV 2 місяці тому
Очень доходчиво, лайк!
@parmetra
@parmetra 2 місяці тому
Спасибо за обширный гайд на Ботам! Хотелось бы конечно примеры использования всех возможных плагинов увидеть, поэтому ждём-с видео на эту тему. 😊 P.S. я настроил у себя плагин Conversation, но т.к. делал это впервые, то есть вероятность, что в коде присутствуют костыли. А вот посмотреть, как используют другие, чтобы перенять какие-либо паттерны - это всегда полезно. Спасибо за ваш труд!
@user-bg2zf5wn9r
@user-bg2zf5wn9r 2 місяці тому
Хотим про методы логин и пей) Хотим больше про телеграмм бота на js)) Спасибо за видео!
@user-bg2zf5wn9r
@user-bg2zf5wn9r 2 місяці тому
И про плагины
@asmodeus7862
@asmodeus7862 Місяць тому
Спасибо за урок! Расскажи в будущем про login / pay методы
@glebasik_tiiip
@glebasik_tiiip 15 днів тому
видео отличное, давай еще выпуск про то как бот может принимать заявки в канал делать рассылки, проверять наличие подписки в канале, следить если отписался от канала...
@uris5903
@uris5903 Місяць тому
отличный урок, сделай ещё видео но уже с допустим каким-то фулл проект ботом на подобии инет магазина
@user-cb7sd7tj6l
@user-cb7sd7tj6l Місяць тому
Спасибо. Прекрасно объясняешь. Хочу видео про плагины!!
@N4M3L3SS_CH4NN3L
@N4M3L3SS_CH4NN3L Місяць тому
Видео ОГОНЬ 🔥🔥🔥. Очень надеюсь, что ты снимешь видео про продвинутые плагины, логин, пай и ВОТ ЭТО ВСЁ !!! Спасибо тебе и желаю удачи 👍
@erka573
@erka573 2 місяці тому
Thanks bro 👏
@iuseronline
@iuseronline 2 місяці тому
Я в шоке какой красавчик
@egsablin
@egsablin 2 місяці тому
Спасибо за ролик! Понравился grammy, а в нем есть scenes и wizards как в telegraf? Было бы интересно посмотреть реализацию более сложной логики для бота 😀
@user-ik8sm2th7i
@user-ik8sm2th7i 2 місяці тому
О, ты жив
@RedShucov
@RedShucov Місяць тому
Здравствуйте, подскажите пожалуйста, планируете ли в ближайшем будущем выпустить ещё одно видео про нюансы языка JS? По типу замыканий и this
@pro_chat_bot
@pro_chat_bot 2 місяці тому
Крутой ролик! Доступно все рассказано. А есть плагин, который запускает webapp?
@dmitrykomarov6152
@dmitrykomarov6152 2 місяці тому
День добрый :) Если уже начал активно telegraf использовать, имеет ли смысл переходить на иной фрейм/модуль? Заранее благодарю :)
@AniLiteTv
@AniLiteTv 18 днів тому
Ролик топ и я думаю мне нужно установить гит?
@user-fz5ig3dx1i
@user-fz5ig3dx1i Місяць тому
*Комментарий поддержки*
@slava_tfdf
@slava_tfdf 2 місяці тому
Ещё чуть осталось пройти по ролику, но контент очень хороший! Вот это объяснение, когда bot.on('message' и пошёл дальше объяснять какие ещё бывают фильтры - ПУШКА. Вот бы так по всему выпадающему (даже дальнейшая ссылка на документацию смотрелась в тему) в js. СПАСИБО! В тему pet проектов, если кто-то готов в телеге или дискорде объединиться в группу, то можно было бы реализовать идеи, которые могут быть полезны в жизни (вплоть до того, чтобы потом всё в открытую закинуть), но при этом пробовать и подсказывать в командной разработке (даже если git пользуешься на уровне 0) - чтобы прокачаться.
@pomazkovjs
@pomazkovjs 2 місяці тому
Спасибо! У меня есть тг: t.me/pomazkovjs А у него чат: t.me/+Hx6RaBT4Trw3ZjM6 Чат живет, и там пару недель назад кто-то из ребят предлагал такую же кооперацию. Можно поискать или написать ещё раз 🙌🏼
@cape4129
@cape4129 2 місяці тому
Ля топ
@pika4u380
@pika4u380 2 місяці тому
Хороший ролик, спасибо. Но в разработке ботов есть один популярный кейс, реализация которого варьируется от фреймворка к фреймворку. Я про последовательные сообщения. Например если бот задаёт тебе ряд сообщений с разными вопросами. Было бы интересно посмотреть как в Grammy сделать такой флоу
@asmodeus7862
@asmodeus7862 Місяць тому
И еще, как можно сделать кнопку START при запуске бота? Чтобы пользователь не открывал для этого меню слева внизу и не писал /start руками?
@user-db4ec6rx4n
@user-db4ec6rx4n 2 місяці тому
Пересказ статьи в видео из selectel? Как использовать throttler?
@vitmih380
@vitmih380 2 місяці тому
А что в этом фреймворке с машиной состояний?
@SuperJumpLove
@SuperJumpLove 18 днів тому
Все информативно, спасибо!
@user-dg7ri8yr7s
@user-dg7ri8yr7s 2 місяці тому
было бы неплох ролик по дискорд боту✨✨
@glebasik_tiiip
@glebasik_tiiip 15 днів тому
подскажите как сделать так чтоб можно было назначив бота админом в канале следить за каждой подпиской и отпиской с канала
@electromystyleable
@electromystyleable 2 місяці тому
В Grammy.js вроде был какой-то баг с зависанием при обработке событий или его исправили?
@user-ns9yd3wt8h
@user-ns9yd3wt8h 2 місяці тому
Пожалуйста подскажите как в grammY открывать mini apps
@igori6471
@igori6471 2 місяці тому
Еще раз спасибо, но тут можно сказать обзор базового функционала. Может быть теперь сделаешь курс по созданию сложного бота, с базой данных, с регурярными выражениями, чтобы он мог на определенные запросы, по какой-либо логике обрабатывая ключевые слова из сообщения пользователя, реагировать определенным действием - выдавать файлов, видео, фото. И да, хоть это будет чуть более трудоемко, зато действительно топовый ОРИНИНАЛЬНЫЙ И ТОЛКОВЫЙ курс будет и толковый. Го, тыж сеньор.
@user-bl3iu7ob9e
@user-bl3iu7ob9e 2 місяці тому
А че там с бд не понятно. Я использовал sequilize и с postgres его подружил. Удобно сообщения. Юзера записывать. Да и многое другое. Я например через бд сделал нижнее меню. Вообще шикарно получается. Если че надо пиши - если знаю расскажу что знаю) опыт js 3 месяца))))
@pokerface7697
@pokerface7697 2 місяці тому
Отличный ролик, подскажите, появилось 2 вопроса: 1) можно ли на сервер копировать папку с ботом прямо с ПК, минуя GitHub 2) что если я хочу исправить что-то в боте или добавить новые фичи. Загружать новый вариант на GitHub и потом снова клонировать на сервер?
@muzaboz1
@muzaboz1 Місяць тому
Можно, запускаешь на сервер ftp и закидываешь, но это гемор. Так как надо настраивать сервер ftp
@dmprkp6792
@dmprkp6792 2 місяці тому
А по какому протоколу работает гремми?
@flowww5166
@flowww5166 8 днів тому
Можете рассказать, как заставить бота пересылать сообщение пользователя в определенную группу/чат?
@user-bl3iu7ob9e
@user-bl3iu7ob9e 2 місяці тому
А и ещё Winston прикрутить. Прикольно когда сам бот тебе же в телегу присылает ошибки в коде. Ну эт понятно что логи пишутся в файлы , заменяется сами и все такое))))))
@kanstantsinmentorwebfronte8529
@kanstantsinmentorwebfronte8529 2 місяці тому
Очень хотим про плагины!
@nnz13
@nnz13 14 днів тому
Что за деплой бота без вебхуков?
@karavela506
@karavela506 6 днів тому
Как фотографию добавить? Помогите плз
@SolutionsByPVV
@SolutionsByPVV Місяць тому
Арсений, сними видео про отдельные плагины ....
@404piano
@404piano 2 місяці тому
Сцены есть?
@perstj5746
@perstj5746 Місяць тому
А как использовать функции в grammy js ,
@user-zk6tw7rj1t
@user-zk6tw7rj1t 2 місяці тому
login pay plugin please
@user-bo8wr4sw2s
@user-bo8wr4sw2s 2 місяці тому
Вопрос теперь только,как и где потом продавать таких ботов?
@igori6471
@igori6471 2 місяці тому
Привет, спасибо за видео, а бывают ли бесплатные сервера, может кто-то подскажет?
@toprogramm
@toprogramm 2 місяці тому
конечно. это твой компьютер. если хочешь что то серьезное - плати 4 бакса/евро в месяц. с бесплатным можно погуглить но это режим инвалидной коляски подчастую
@muzaboz1
@muzaboz1 Місяць тому
Да, мой бот на Grammy работает на бесплатном хосте cloudflare. В документации Grammy все прекрасно расписано про хост
@Embliny
@Embliny 2 місяці тому
Урок бомба, но нафига node modules в репу сливать)
@pomazkovjs
@pomazkovjs 2 місяці тому
Спасибо! Хахахаха, да, ошибочка - забыл добавить в гит игнор :D
@Embliny
@Embliny 2 місяці тому
@@pomazkovjs пол 5 утра переписываю бота на grammy 😂😂
@AniLiteTv
@AniLiteTv 18 днів тому
Кит инит не работает
@kipzmo6969
@kipzmo6969 2 місяці тому
Да, но зачем? Да ещё в 2024?
@user-gw8xm8fx4k
@user-gw8xm8fx4k 2 місяці тому
Грэмми помойка
@user-bp8hd6kr3d
@user-bp8hd6kr3d 2 місяці тому
В 20 ноде же уже не нужно тянуть за собой dotenv и nodemon “start”: “node -env-file=.env ./index.js”, “start:dev”: ”node -env-file=.env -watch ./index.js”
Spring Boot and ReactJs Social Networking App Full Course [NEW]
4:49:25
Kitten has a slime in her diaper?! 🙀 #cat #kitten #cute
00:28
8.1.Résumé HTTPD - Configuration du serveur HTTPD
16:30
hassan draoui
Переглядів 11
React собираются основательно изменить
4:47
Миша Ларченко
Переглядів 26 тис.
Разбираем основы Kafka и RabbitMQ
26:54
Digital train | Alex Babin
Переглядів 7 тис.
Самые любимые проекты Javascript-разработчиков
7:40
Миша Ларченко
Переглядів 12 тис.
Kitten has a slime in her diaper?! 🙀 #cat #kitten #cute
00:28