ПИШЕМ TELEGRAM БОТА НА JAVASCRIPT!

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

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

  • @just_f1ow
    @just_f1ow 4 ปีที่แล้ว +3

    Спасибо большое, что объясняете с всеми подводными камнями и не вырезаете их !

  • @SAINTERY-n8v
    @SAINTERY-n8v 2 ปีที่แล้ว

    Благодарю за видео! Молодчага, приятно смотреть и слушать!

  • @yaroslavsnizhko
    @yaroslavsnizhko 3 ปีที่แล้ว +4

    Клас, никакой воды и непонятной хрени, разжевал доходчиво, что, куда и самое главное зачем. ЛайкПодпискаБлагодарность!

  • @Дмитрий-щ3щ4щ
    @Дмитрий-щ3щ4щ 4 ปีที่แล้ว +1

    Все четко, по полкам, понятно, прям методичка, КРАСАВА!

  • @ЕвгенийИльинский-ж5х
    @ЕвгенийИльинский-ж5х 4 ปีที่แล้ว +1

    Огромное спасибо за видео и особенно за хероку. Ждем продолжения по ботостроению через Node.js

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

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

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

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

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

      Anton Pravdin забыл упомянуть об этом в видео 👍🏻👍🏻

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

      @@balkoev А после деплоя, можно обйтись без прокси? В хероку мы выбирали европейский сервер вроде, или это не так работает?

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

      Anton Pravdin после деплоя прокси будет не нужен. На территории Европы и США телеграм не заблокирован.

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

      Как стать программистом понял, спасибо!

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

      так же страдал этим мин 10, потом включил vpn и все заработало) Потом с vpn с USA еще и засушил на гидхаб и получил интересное сообщение от гид мол, вы с США и на вас действуют ограничения =)))) Как-то так

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

    Спасибо большое за такой туториал! очень помог с деплоем

  • @Аннанежная-м8я
    @Аннанежная-м8я 2 ปีที่แล้ว

    если у вас не форматирует после сохранения
    в настройках в поиске вбейте default formatter
    и в секции Editor: Default Formatter выберете prettier

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

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

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

    работает уже 12 часов , все ок), ждем продолжения

  • @СергейТрубников-ж6ч
    @СергейТрубников-ж6ч 2 ปีที่แล้ว

    Я с просонья начал смотреть и подумал что это Джиган мне объясняет JS😝😝😝

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

    просто доступно и понятно, ты красава!
    спасибо тебе)

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

    Круто, сделал все по видео. Давай продолжение с MongoDB!

  • @nastakhralovich5968
    @nastakhralovich5968 4 ปีที่แล้ว +5

    Крутой туториал, спасибо! Написала свой первый простенький бот благодаря тебе :)

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

      Спасибо за обратную связь! Рад, что видео было полезным!)

  • @АлександрИсмаилов-ж5ю
    @АлександрИсмаилов-ж5ю 4 ปีที่แล้ว

    Крутой туториал, очень подробно и простым языком рассказано!
    Сам пытаюсь сейчас написать бота, который каждый день будет отправлять курс валют. С помощью cron решил вопрос с отправкой в определенное время, но не нашел в документации telegraf метод, который бы просто отправлял сообщения, без входных данных от пользователя. Всю документацию перерыл, но так и не нашел. Если вдруг знаешь - подскажи, пожалуйста, я в этом деле новичок.
    Спасибо)

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

    А как можно реализовать такое решение?
    Есть один файл обработчик команд (для всех пользователей одинаковые команды) для телеграм бота, есть n-ое количество пользователей со своей информацией по ответам на команды и токенами для своего бота хранящиеся в БД. Можно ли, и как правильно сделать так, чтобы один запучщенный файл работал со всеми ботами (чтобы не для каждого пользователя отдельно запускать бота с его токеном)?
    Использую node-telegram-bot-api и mongoDB

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

    Спасибо, делаю бота для своего канала по вашему видео

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

    привет из Эльбруса) спасибо за видео!

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

      Эльбрусовцам отдельный привет!))

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

    спасибо!!! лайк подписка, комент)

  • @ЕвгенийИльинский-ж5х
    @ЕвгенийИльинский-ж5х 4 ปีที่แล้ว +1

    Еще раз спасибо за ролик. Наконец доделал своего первого бота - t.me/wiki_callbackSearch_bot . Твой ролик заложил его основы. Да и про деплой на хероку, тоже очень многие вопросы решило твое видео. Спасибо

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

      Привет, можешь скинуть свой тг ?

    • @ЕвгенийИльинский-ж5х
      @ЕвгенийИльинский-ж5х 2 ปีที่แล้ว +1

      @@donk193 там в боте по ссылке мой тг указан

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

    @Как стать программистом. Здравствуйте еще раз) 54:20 после всех совершённых действий терминал выводит ошибку [ERR_PACKAGE_PATH_NOT_EXPORTED]
    Вы не знаете как исправить? Лазил в интернете, можно удалить node_modules и package-lock.json и переустановить их заново запустив команду npm install

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

      Если быть точным то вот полный текст ошибки.
      Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './markup' is not defined by "exports" in D:\bot
      ode_modules\telegraf\package.json
      at throwExportsNotFound (internal/modules/esm/resolve.js:290:9)
      at packageExportsResolve (internal/modules/esm/resolve.js:513:3)
      at resolveExports (internal/modules/cjs/loader.js:432:36)
      at Function.Module._findPath (internal/modules/cjs/loader.js:472:31)
      at Function.Module._resolveFilename (internal/modules/cjs/loader.js:867:27)
      at Function.Module._load (internal/modules/cjs/loader.js:725:27)
      at Module.require (internal/modules/cjs/loader.js:952:19)
      at require (internal/modules/cjs/helpers.js:88:18)
      at Object. (D:\bot\bot.js:8:16)
      at Module._compile (internal/modules/cjs/loader.js:1063:30)
      at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
      at Module.load (internal/modules/cjs/loader.js:928:32)
      at Function.Module._load (internal/modules/cjs/loader.js:769:14)
      at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
      at internal/main/run_main_module.js:17:47 {
      code: 'ERR_PACKAGE_PATH_NOT_EXPORTED'
      }

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

      Смотрите что нашел: th-cam.com/channels/SysWqE-NyH3w9TZrgLqDhg.htmlvideos - Очень понятное обьяснение про чат-ботов.. Случайно наткнулся. Всего 36 минут КУРС.

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

    Telegraf-MarkUp не работает. По моему мне надо установить MarkUp. Что я могу подулать ?

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

    спасибо !!!!!!, и ВОПРОС: у вас бот работает круглосуточно ? или засыпает и все через 30 минут я про Heroku?

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

      В рамках бесплатного тарифа Heroku засыпает, нужно или покупать платный тариф или куда-то в другое место положить.

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

    комм для продвижения)

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

    Четко

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

    Спасибо за урок!

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

      Смотрите что нашел: th-cam.com/channels/SysWqE-NyH3w9TZrgLqDhg.htmlvideos - Очень понятное обьяснение про чат-ботов.. Случайно наткнулся. Всего 36 минут КУРС.

  • @Spuko-sv3lc
    @Spuko-sv3lc ปีที่แล้ว

    ПЕЕД КОЛЛЕДЖ ТОП!!!!!

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

    полезное видео! спасибо!

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

      Смотрите что нашел: th-cam.com/channels/SysWqE-NyH3w9TZrgLqDhg.htmlvideos - Очень понятное обьяснение про чат-ботов.. Случайно наткнулся. Всего 36 минут КУРС.

  • @yevgeniy-ten3482
    @yevgeniy-ten3482 4 ปีที่แล้ว

    Ск орнул на 37::50 уже что-то, жиза

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

    Здравствуйте спасибо вам большое.Я из Узбекистана. С какими клавишами можно остановить бот ? (Видео 20:33 минуте)

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

      Ну кто-нибудь ответьте пожалуйста

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

      www.google.com/search?q=terminal+stop+process&oq=terminal+stop&aqs=chrome.0.0j69i57j0l8.4611j0j7&sourceid=chrome&ie=UTF-8

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

      @@balkoev спасибо большое за внимание

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

      Смотрите что нашел: th-cam.com/channels/SysWqE-NyH3w9TZrgLqDhg.htmlvideos - Очень понятное обьяснение про чат-ботов.. Случайно наткнулся. Всего 36 минут КУРС.

  • @-inside4478
    @-inside4478 3 ปีที่แล้ว

    после слов - давайте сохраним и посмотрим что будет...не сработал преттиер у меня. Хотя все делал вроде шаг за шагом.

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

    После добавления кнопок, бот ругается при запуске
    Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './markup' is not defined by "exports"

    • @piratplay4689
      @piratplay4689 3 ปีที่แล้ว +6

      Решил проблему, вот такими изменениями.
      require('dotenv').config();
      const { Telegraf, Markup } = require('telegraf');
      const api = require('covid19-api');
      const bot = new Telegraf(process.env.BOT_TOKKEN);
      bot.start((ctx) => ctx.reply(`
      Привет ${ctx.message.from.first_name}!
      Узнай статистику по Коронавирусу.
      Введи название страны в формате "It" или "Italy"
      посмотреть список всех стран /help
      `,
      Markup.keyboard([
      ['Ukraine', 'Belarus'],
      ['Kazakhstan', 'Russia'],
      ])
      )
      );
      Может кому пригодится.

    • @АндрейЧуринов-ь8с
      @АндрейЧуринов-ь8с 3 ปีที่แล้ว

      @@piratplay4689 спасибо, очень пригодилось!

    • @metalhead-mh1864
      @metalhead-mh1864 2 ปีที่แล้ว

      А можете сказать почему этот код сейчас ре работает?
      Если ответите пожалуйста ставьте лайк моему комменту, чтобы уведомление пришло

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

    Спасибо за понятный гайд - зашло хорошо ) Если знаешь, подскажи, как сделать вложенные кнопки меню ... типа РФ - а там выбираешь регион или как сделать меню как у ботфазера / возле кнопки отправки и там всплывает менюха. Спасибо и успехов с каналом! ) подписался )

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

    Железобетонный лайк)

  • @Dmytro-r1x
    @Dmytro-r1x 4 ปีที่แล้ว

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

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

      Можешь попробовать так:
      Создаёшь объект, где ключ это api значение страны, а свойство перевод на русский.
      При запросе по api, предварительно смотришь пользовательский ввод и ищешь его в значениях объекта и после присваиваешь свойства этого значения для api запроса.

    • @Dmytro-r1x
      @Dmytro-r1x 4 ปีที่แล้ว

      Как стать программистом спасибо, покопавшись в документации сделал через сцены.

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

    спустя некоторое время бот останавливает рабюоту на HEROKU я так понимаю за бездействие и пишет "Idling" как то можно обойти это?

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

      Не знаю как, но скорее всего можно. Дело в другом. Если heroku не будет переходить в режим ожидания, то часы работы в рамках бесплатного тарифа будут быстро исчерпаны. К примеру бот написанный в этом видео, перестаёт работать в 20-ых числах каждого месяца.

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

    История создания Telegram-бота dou.ua/forums/topic/30973/

  • @ИгорьГубанов-ф3ч
    @ИгорьГубанов-ф3ч 4 ปีที่แล้ว +1

    Запиши видео как пушить плз, повторял за тобой 50 минут и теперь не знаю что делать дальше)

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

      Обязательно запишу курс по Git'у и про push'ить :D

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

      Вообще много материала по этому поводу есть

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

      Папка с ботом у вас на компе
      создаем репозиторий без read.me
      открывается пустой реп. и там увидишь список команд:
      "git init" ( в консоле, находясь в папке бота)
      "git add ." ( добавляет все файлы в папке с ботом)
      "git commit -m "first commit" ( называешь коммит - пишем свое вместо first commit)
      "git remote add origin github.com/ путь к реп./.git
      "git push -u origin master
      Вуаля!
      Дальше по видео

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

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

  • @ЕвгенийШершов
    @ЕвгенийШершов 4 ปีที่แล้ว

    после команды node bot.js выдает ошибку:
    Launch failed
    Error: 401: Unauthorized
    at C:\JS\COVIDBOT
    ode_modules\telegraf\core
    etwork\client.js:281:17
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    как это пофиксить?

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

      Возможно что-то с http запросом. Если ты перепечатывал код из видео, то проверь не допустил ли ты ошибку при fetch запросе.

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

    VERY VERY USEFULL VIDEO
    THANKYOU BY HEART

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

    Excellent 👌

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

    не работает pretier

  • @ДениИмагожев11
    @ДениИмагожев11 4 ปีที่แล้ว

    Даьл раьз хал, брат
    Очень полезная информация для начинающих в том числе, к коим я отношусь)

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

    Класс!

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

    @Как стать программистом
    Помогите пожалуйста. Как мне перезапустить бота в терминале?

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

      Этой командой можно остановить, а запустить вы знаете как.
      www.google.com/search?q=terminal+stop+process&oq=terminal+stop&aqs=chrome.0.0j69i57j0l8.4611j0j7&sourceid=chrome&ie=UTF-8

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

    где ctx это нода ?

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

    ааа , увеличивай редактор)))

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

    Что конкретно значат эти ограничения для бесплатного аккаунта на heroku? Я сделала бота, закинула на heroku, будет ли он доступен всегда и для всех? Или будет выключаться? Я нашла инструкцию, как обойти это ограничение, но не понимаю, что за функция get: medium.com/better-programming/keeping-my-heroku-app-alive-b19f3a8c3a82

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

      Nasta Chrałovič на сколько я знаю, для бесплатного использования доступно определенное кол-во часов в месяц, которые считаются по определенной формуле. А ваш бот или любая другая программа, на heroku автоматически через 30 минут уходит в спящий режим. После нового запроса к вашему боту или любой другой программе, происходит автоматическое пробуждение. Т.к бот не такая сложная программа, то она «просыпается» почти мгновенно. Как правило heroku уведомит вас, что ваши часы бесплатного пользования подходят к концу по почте. Если вашим ботом не пользуются сутки на пролёт, то он скорее всего будет доступен в рамках бесплатных часов в месяц.

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

      @@balkoev Рекомендую задеплоить бота на Glitch, а для мониторинга исп-ть Uptime Robot - бесплатный инструмент со множеством настроек для отслеживания доступности веб-сервисов. На бесплатном аккаунте проверка осуществляется каждые 5 минут.
      :-)

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

      @@balkoev Спасибо! Поставила, вроде работает :)

  • @play-yn4qt
    @play-yn4qt 3 ปีที่แล้ว

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

  • @ДаниилЛарченко-ф7л
    @ДаниилЛарченко-ф7л 4 ปีที่แล้ว

    У меня у одного не получилось залить на хостинг?

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

      у меня не добавляется worker только web

  • @metalhead-mh1864
    @metalhead-mh1864 2 ปีที่แล้ว

    Не работает в heroku, слишком уж много ошибок

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

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

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

      Смотрите что нашел: th-cam.com/channels/SysWqE-NyH3w9TZrgLqDhg.htmlvideos - Очень понятное обьяснение про чат-ботов.. Случайно наткнулся. Всего 36 минут КУРС.

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

      Вопросы можно в Тг задать.

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

    продолжение?

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

    Сначала пыталась сделать сама, потом решила просто проект с репозитория запустить, но всё равно появляется та же ошибка:
    Бот запущен
    Launch failed
    FetchError: request to api.telegram.org/bot1165132744:..../getMe failed, reason: read ECONNRESET

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

      Похоже на то, что домен telegram.org заблокирован вашим провайдером. Вам нужно воспользоваться каким нибудь vpn сервисом.

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

    Дик видео яр

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

    После создания файла procfile ( в нем worker: npm start) + push + deploy = не появляется строка с worker, что б переключиться с web.
    Help!
    скрин log: yadi.sk/i/AyRUJH1Gt4G4og
    скрин Resources: yadi.sk/i/eO9Z_bVc2YXvwg
    Спасибо

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

      Как вариант добавить следующий код в файле с ботом:
      require('https').createServer().listen(process.env.PORT || 5000).on('request', function(req, res){
      res.end('')
      });