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

  Рет қаралды 21,731

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

Пікірлер: 85
@r0mm4k
@r0mm4k 3 ай бұрын
Отличный ролик, спасибо, давно на ютубе не встречал обновленных гайдов по grammy. Хотелось бы продолжения: добавить db, добавить typescript и линтеры, добавить структуру файлов и папок, разобрать меню/каталоги вложенные друг в друга, login и pay, poling и hooks, завернуть в докер. Буду ждать 😉 С меня подписка 😊
@happygraymangamer6067
@happygraymangamer6067 3 ай бұрын
Боже мой откуда ты появился чеел, видео без воды, всё чётко, спасибо тебе огромное и УДАЧИ!!!
@user-du2bo5tm7b
@user-du2bo5tm7b 2 ай бұрын
Я в шоке, насколько же все понятно, очень крутой подход, жду новых видео.
@romanasterios
@romanasterios 3 ай бұрын
Хочу отметить, что автор очень хорошо обьясняет! продолжай пожалуйста, приятно смотреть.
@pryff9569
@pryff9569 3 ай бұрын
Только сегодня пересматривал старый ролик о создании бота на grammy.js, и сегодня новый ролик выходит😮
@pomazkovjs
@pomazkovjs 3 ай бұрын
Совпадение? Не думаю 🎩
@Lazy1097
@Lazy1097 3 ай бұрын
Просто огонь! Почаще бы видосики выходили, было бы ещё круче!)
@alexgrigorov8579
@alexgrigorov8579 Ай бұрын
Спасибо. Единственный ролик про Grammy!
@artyomgrigorev2186
@artyomgrigorev2186 2 ай бұрын
Спасибо тебе. Изучаю JS и вот в качестве материала твой видос очень мне полезен
@avakode
@avakode 2 ай бұрын
Отличное видео. Большое спасибо. Хотелось бы ещё узнать про логин, взаимодействие с бэкендом и хранение стейта действий пользователя)
@igork.3575
@igork.3575 2 ай бұрын
Отличное видео, прям по полочкам все разложил. Хотелось бы еще про login и pay посмотреть ;)
@user-bg2zf5wn9r
@user-bg2zf5wn9r 3 ай бұрын
Хотим про методы логин и пей) Хотим больше про телеграмм бота на js)) Спасибо за видео!
@user-bg2zf5wn9r
@user-bg2zf5wn9r 3 ай бұрын
И про плагины
@pussydussy3693
@pussydussy3693 3 ай бұрын
Как будущий сеньер хочу сказать большое спасибо за видос!) Прошлое видео по grammY очень понравилось Это ему ничем не уступает Жду больше подобного контента! Спасибо! :)
@XersiLsi
@XersiLsi Ай бұрын
Автор лучший! Расписано все идеально, каждый модуль понятен, ну просто 🫶
@EOA69
@EOA69 2 ай бұрын
Автор, приветствую 🤝. Случайно увидел твои видео, мне понравилось то, как объясняешь, примеры и сам стиль повествования. Круто делаешь! Хотелось бы увидеть разбор асинхронности от тебя, классов и наследований.
@efimkapliy6370
@efimkapliy6370 3 ай бұрын
Пока не начал смотреть, но зная Арсения... Видео будет крутым и наполненным💯🔥
@user-sc1ip2ck8l
@user-sc1ip2ck8l 2 ай бұрын
сейчас делаю тг бота типо словаря русско-английского, я не понимаю почему так мало лайков, ты просто красавчик, что делаешь такой полезный контент, все понятно и круто рассказано!!
@AlexSkaeg
@AlexSkaeg 24 күн бұрын
Спасибо,очень хорошо объяснено что куда и зачем. ))
@SolutionsByPVV
@SolutionsByPVV 3 ай бұрын
Очень доходчиво, лайк!
@user-vw8xb7xf4v
@user-vw8xb7xf4v 2 ай бұрын
от души) те кто пишут тебе на хабре, мол "зачем делаешь, всё равно в доке лучше", так я как начинающий только от тебя узнал про эту библиотеку! Респект! И расскажи про логин и пэй + про плагины
@Ramosok
@Ramosok 3 ай бұрын
Круто спасибо за такой контент!
@user-ec1vt8kq9v
@user-ec1vt8kq9v Ай бұрын
Спасибо! Отличное видео!
@parmetra
@parmetra 2 ай бұрын
Спасибо за обширный гайд на Ботам! Хотелось бы конечно примеры использования всех возможных плагинов увидеть, поэтому ждём-с видео на эту тему. 😊 P.S. я настроил у себя плагин Conversation, но т.к. делал это впервые, то есть вероятность, что в коде присутствуют костыли. А вот посмотреть, как используют другие, чтобы перенять какие-либо паттерны - это всегда полезно. Спасибо за ваш труд!
@helenali5107
@helenali5107 26 күн бұрын
Вы очень хорошо объясняете. Видео про плагины будет очень полезным
@glebasik_tiiip
@glebasik_tiiip Ай бұрын
видео отличное, давай еще выпуск про то как бот может принимать заявки в канал делать рассылки, проверять наличие подписки в канале, следить если отписался от канала...
@asmodeus7862
@asmodeus7862 2 ай бұрын
Спасибо за урок! Расскажи в будущем про login / pay методы
@AndreiKamarou
@AndreiKamarou 13 күн бұрын
Спасибо, дружище!!!
@iuseronline
@iuseronline 3 ай бұрын
Я в шоке какой красавчик
@RedShucov
@RedShucov 2 ай бұрын
Здравствуйте, подскажите пожалуйста, планируете ли в ближайшем будущем выпустить ещё одно видео про нюансы языка JS? По типу замыканий и this
@user-ik8sm2th7i
@user-ik8sm2th7i 3 ай бұрын
О, ты жив
@egsablin
@egsablin 3 ай бұрын
Спасибо за ролик! Понравился grammy, а в нем есть scenes и wizards как в telegraf? Было бы интересно посмотреть реализацию более сложной логики для бота 😀
@uris5903
@uris5903 2 ай бұрын
отличный урок, сделай ещё видео но уже с допустим каким-то фулл проект ботом на подобии инет магазина
@N4M3L3SS_CH4NN3L
@N4M3L3SS_CH4NN3L 2 ай бұрын
Видео ОГОНЬ 🔥🔥🔥. Очень надеюсь, что ты снимешь видео про продвинутые плагины, логин, пай и ВОТ ЭТО ВСЁ !!! Спасибо тебе и желаю удачи 👍
@slava_tfdf
@slava_tfdf 3 ай бұрын
Ещё чуть осталось пройти по ролику, но контент очень хороший! Вот это объяснение, когда bot.on('message' и пошёл дальше объяснять какие ещё бывают фильтры - ПУШКА. Вот бы так по всему выпадающему (даже дальнейшая ссылка на документацию смотрелась в тему) в js. СПАСИБО! В тему pet проектов, если кто-то готов в телеге или дискорде объединиться в группу, то можно было бы реализовать идеи, которые могут быть полезны в жизни (вплоть до того, чтобы потом всё в открытую закинуть), но при этом пробовать и подсказывать в командной разработке (даже если git пользуешься на уровне 0) - чтобы прокачаться.
@pomazkovjs
@pomazkovjs 3 ай бұрын
Спасибо! У меня есть тг: t.me/pomazkovjs А у него чат: t.me/+Hx6RaBT4Trw3ZjM6 Чат живет, и там пару недель назад кто-то из ребят предлагал такую же кооперацию. Можно поискать или написать ещё раз 🙌🏼
@erka573
@erka573 3 ай бұрын
Thanks bro 👏
@user-cb7sd7tj6l
@user-cb7sd7tj6l 2 ай бұрын
Спасибо. Прекрасно объясняешь. Хочу видео про плагины!!
@pro_chat_bot
@pro_chat_bot 2 ай бұрын
Крутой ролик! Доступно все рассказано. А есть плагин, который запускает webapp?
@AniLiteTv
@AniLiteTv Ай бұрын
Ролик топ и я думаю мне нужно установить гит?
@dmitrykomarov6152
@dmitrykomarov6152 3 ай бұрын
День добрый :) Если уже начал активно telegraf использовать, имеет ли смысл переходить на иной фрейм/модуль? Заранее благодарю :)
@asgart_vocal
@asgart_vocal 2 күн бұрын
Благодарю, очень полезный ролик! Единственное пока ковырялся, так и не понял, как отправить файл в телегу (я его сформировал в боте по полученным данным и хочу выгрузить в виде Excel файла)
@user-fz5ig3dx1i
@user-fz5ig3dx1i 2 ай бұрын
*Комментарий поддержки*
@pika4u380
@pika4u380 2 ай бұрын
Хороший ролик, спасибо. Но в разработке ботов есть один популярный кейс, реализация которого варьируется от фреймворка к фреймворку. Я про последовательные сообщения. Например если бот задаёт тебе ряд сообщений с разными вопросами. Было бы интересно посмотреть как в Grammy сделать такой флоу
@vitmih380
@vitmih380 3 ай бұрын
А что в этом фреймворке с машиной состояний?
@user-db4ec6rx4n
@user-db4ec6rx4n 2 ай бұрын
Пересказ статьи в видео из selectel? Как использовать throttler?
@cape4129
@cape4129 3 ай бұрын
Ля топ
@asmodeus7862
@asmodeus7862 2 ай бұрын
И еще, как можно сделать кнопку START при запуске бота? Чтобы пользователь не открывал для этого меню слева внизу и не писал /start руками?
@pokerface7697
@pokerface7697 2 ай бұрын
Отличный ролик, подскажите, появилось 2 вопроса: 1) можно ли на сервер копировать папку с ботом прямо с ПК, минуя GitHub 2) что если я хочу исправить что-то в боте или добавить новые фичи. Загружать новый вариант на GitHub и потом снова клонировать на сервер?
@muzaboz1
@muzaboz1 2 ай бұрын
Можно, запускаешь на сервер ftp и закидываешь, но это гемор. Так как надо настраивать сервер ftp
@electromystyleable
@electromystyleable 3 ай бұрын
В Grammy.js вроде был какой-то баг с зависанием при обработке событий или его исправили?
@user-ns9yd3wt8h
@user-ns9yd3wt8h 3 ай бұрын
Пожалуйста подскажите как в grammY открывать mini apps
@glebasik_tiiip
@glebasik_tiiip Ай бұрын
подскажите как сделать так чтоб можно было назначив бота админом в канале следить за каждой подпиской и отпиской с канала
@igori6471
@igori6471 3 ай бұрын
Еще раз спасибо, но тут можно сказать обзор базового функционала. Может быть теперь сделаешь курс по созданию сложного бота, с базой данных, с регурярными выражениями, чтобы он мог на определенные запросы, по какой-либо логике обрабатывая ключевые слова из сообщения пользователя, реагировать определенным действием - выдавать файлов, видео, фото. И да, хоть это будет чуть более трудоемко, зато действительно топовый ОРИНИНАЛЬНЫЙ И ТОЛКОВЫЙ курс будет и толковый. Го, тыж сеньор.
@user-bl3iu7ob9e
@user-bl3iu7ob9e 3 ай бұрын
А че там с бд не понятно. Я использовал sequilize и с postgres его подружил. Удобно сообщения. Юзера записывать. Да и многое другое. Я например через бд сделал нижнее меню. Вообще шикарно получается. Если че надо пиши - если знаю расскажу что знаю) опыт js 3 месяца))))
@dmprkp6792
@dmprkp6792 2 ай бұрын
А по какому протоколу работает гремми?
@user-dg7ri8yr7s
@user-dg7ri8yr7s 3 ай бұрын
было бы неплох ролик по дискорд боту✨✨
@SuperJumpLove
@SuperJumpLove Ай бұрын
Все информативно, спасибо!
@flowww5166
@flowww5166 Ай бұрын
Можете рассказать, как заставить бота пересылать сообщение пользователя в определенную группу/чат?
@nnz13
@nnz13 Ай бұрын
Что за деплой бота без вебхуков?
@kanstantsinmentorwebfronte8529
@kanstantsinmentorwebfronte8529 3 ай бұрын
Очень хотим про плагины!
@karavela506
@karavela506 Ай бұрын
Как фотографию добавить? Помогите плз
@404piano
@404piano 3 ай бұрын
Сцены есть?
@perstj5746
@perstj5746 2 ай бұрын
А как использовать функции в grammy js ,
@igori6471
@igori6471 3 ай бұрын
Привет, спасибо за видео, а бывают ли бесплатные сервера, может кто-то подскажет?
@toprogramm
@toprogramm 3 ай бұрын
конечно. это твой компьютер. если хочешь что то серьезное - плати 4 бакса/евро в месяц. с бесплатным можно погуглить но это режим инвалидной коляски подчастую
@muzaboz1
@muzaboz1 2 ай бұрын
Да, мой бот на Grammy работает на бесплатном хосте cloudflare. В документации Grammy все прекрасно расписано про хост
@user-bl3iu7ob9e
@user-bl3iu7ob9e 3 ай бұрын
А и ещё Winston прикрутить. Прикольно когда сам бот тебе же в телегу присылает ошибки в коде. Ну эт понятно что логи пишутся в файлы , заменяется сами и все такое))))))
@user-bo8wr4sw2s
@user-bo8wr4sw2s 2 ай бұрын
Вопрос теперь только,как и где потом продавать таких ботов?
@SolutionsByPVV
@SolutionsByPVV 2 ай бұрын
Арсений, сними видео про отдельные плагины ....
@user-zk6tw7rj1t
@user-zk6tw7rj1t 3 ай бұрын
login pay plugin please
@AniLiteTv
@AniLiteTv Ай бұрын
Кит инит не работает
@Embliny
@Embliny 3 ай бұрын
Урок бомба, но нафига node modules в репу сливать)
@pomazkovjs
@pomazkovjs 3 ай бұрын
Спасибо! Хахахаха, да, ошибочка - забыл добавить в гит игнор :D
@Embliny
@Embliny 3 ай бұрын
@@pomazkovjs пол 5 утра переписываю бота на grammy 😂😂
@user-fr5fq2iw6d
@user-fr5fq2iw6d 7 күн бұрын
команда npm start не работает, что делать?
@pomazkovjs
@pomazkovjs 7 күн бұрын
Какая ошибка в консоли? 1) проверить, установлен ли npm (команда npm -v должна выдать версию) 2) посмотреть, что указано в package.json в разделе scripts
@user-fr5fq2iw6d
@user-fr5fq2iw6d 4 күн бұрын
@@pomazkovjs спасибо, проблему я уже решил, оказывается я в первой строчке где перепутал точку с запятой
@kipzmo6969
@kipzmo6969 2 ай бұрын
Да, но зачем? Да ещё в 2024?
@user-gw8xm8fx4k
@user-gw8xm8fx4k 2 ай бұрын
Грэмми помойка
@user-bp8hd6kr3d
@user-bp8hd6kr3d 3 ай бұрын
В 20 ноде же уже не нужно тянуть за собой dotenv и nodemon “start”: “node -env-file=.env ./index.js”, “start:dev”: ”node -env-file=.env -watch ./index.js”
Прило на блокчейне TON для Телеграма 1️⃣
50:12
Senior Software Vlogger
Рет қаралды 42 М.
WHY DOES SHE HAVE A REWARD? #youtubecreatorawards
00:41
Levsob
Рет қаралды 39 МЛН
it takes two to tango 💃🏻🕺🏻
00:18
Zach King
Рет қаралды 32 МЛН
Black Magic 🪄 by Petkit Pura Max #cat #cats
00:38
Sonyakisa8 TT
Рет қаралды 34 МЛН
The new MAZ X trailer - amazing!
23:40
808
Рет қаралды 372 М.
JavaScript. Практика. Задачи. Урок№4
24:16
easyDevelopment
Рет қаралды 572
Самые любимые проекты Javascript-разработчиков
7:40
Миша Ларченко
Рет қаралды 12 М.
WHY DOES SHE HAVE A REWARD? #youtubecreatorawards
00:41
Levsob
Рет қаралды 39 МЛН