Вопрос, с таким ботом можно делать рассылки, смотреть статистику, управлять действиями пользователя, например ограничить запросы к боту от одного пользователя?
Крутой туториал, все хорошо по полочкам разложил! От себя еще добавлю, что может не подключаться к api телеги без прокси соединения, потратил пару часов, чтобы решить эту проблему)
так же страдал этим мин 10, потом включил vpn и все заработало) Потом с vpn с USA еще и засушил на гидхаб и получил интересное сообщение от гид мол, вы с США и на вас действуют ограничения =)))) Как-то так
Крутой туториал, очень подробно и простым языком рассказано! Сам пытаюсь сейчас написать бота, который каждый день будет отправлять курс валют. С помощью cron решил вопрос с отправкой в определенное время, но не нашел в документации telegraf метод, который бы просто отправлял сообщения, без входных данных от пользователя. Всю документацию перерыл, но так и не нашел. Если вдруг знаешь - подскажи, пожалуйста, я в этом деле новичок. Спасибо)
А как можно реализовать такое решение? Есть один файл обработчик команд (для всех пользователей одинаковые команды) для телеграм бота, есть n-ое количество пользователей со своей информацией по ответам на команды и токенами для своего бота хранящиеся в БД. Можно ли, и как правильно сделать так, чтобы один запучщенный файл работал со всеми ботами (чтобы не для каждого пользователя отдельно запускать бота с его токеном)? Использую node-telegram-bot-api и mongoDB
Еще раз спасибо за ролик. Наконец доделал своего первого бота - t.me/wiki_callbackSearch_bot . Твой ролик заложил его основы. Да и про деплой на хероку, тоже очень многие вопросы решило твое видео. Спасибо
@Как стать программистом. Здравствуйте еще раз) 54:20 после всех совершённых действий терминал выводит ошибку [ERR_PACKAGE_PATH_NOT_EXPORTED] Вы не знаете как исправить? Лазил в интернете, можно удалить node_modules и package-lock.json и переустановить их заново запустив команду npm install
Если быть точным то вот полный текст ошибки. 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' }
Смотрите что нашел: th-cam.com/channels/SysWqE-NyH3w9TZrgLqDhg.htmlvideos - Очень понятное обьяснение про чат-ботов.. Случайно наткнулся. Всего 36 минут КУРС.
Смотрите что нашел: th-cam.com/channels/SysWqE-NyH3w9TZrgLqDhg.htmlvideos - Очень понятное обьяснение про чат-ботов.. Случайно наткнулся. Всего 36 минут КУРС.
Смотрите что нашел: th-cam.com/channels/SysWqE-NyH3w9TZrgLqDhg.htmlvideos - Очень понятное обьяснение про чат-ботов.. Случайно наткнулся. Всего 36 минут КУРС.
Смотрите что нашел: th-cam.com/channels/SysWqE-NyH3w9TZrgLqDhg.htmlvideos - Очень понятное обьяснение про чат-ботов.. Случайно наткнулся. Всего 36 минут КУРС.
Решил проблему, вот такими изменениями. 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'], ]) ) ); Может кому пригодится.
Спасибо за понятный гайд - зашло хорошо ) Если знаешь, подскажи, как сделать вложенные кнопки меню ... типа РФ - а там выбираешь регион или как сделать меню как у ботфазера / возле кнопки отправки и там всплывает менюха. Спасибо и успехов с каналом! ) подписался )
Можешь попробовать так: Создаёшь объект, где ключ это api значение страны, а свойство перевод на русский. При запросе по api, предварительно смотришь пользовательский ввод и ищешь его в значениях объекта и после присваиваешь свойства этого значения для api запроса.
Не знаю как, но скорее всего можно. Дело в другом. Если heroku не будет переходить в режим ожидания, то часы работы в рамках бесплатного тарифа будут быстро исчерпаны. К примеру бот написанный в этом видео, перестаёт работать в 20-ых числах каждого месяца.
Папка с ботом у вас на компе создаем репозиторий без 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 Вуаля! Дальше по видео
после команды 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) как это пофиксить?
Этой командой можно остановить, а запустить вы знаете как. www.google.com/search?q=terminal+stop+process&oq=terminal+stop&aqs=chrome.0.0j69i57j0l8.4611j0j7&sourceid=chrome&ie=UTF-8
Что конкретно значат эти ограничения для бесплатного аккаунта на heroku? Я сделала бота, закинула на heroku, будет ли он доступен всегда и для всех? Или будет выключаться? Я нашла инструкцию, как обойти это ограничение, но не понимаю, что за функция get: medium.com/better-programming/keeping-my-heroku-app-alive-b19f3a8c3a82
Nasta Chrałovič на сколько я знаю, для бесплатного использования доступно определенное кол-во часов в месяц, которые считаются по определенной формуле. А ваш бот или любая другая программа, на heroku автоматически через 30 минут уходит в спящий режим. После нового запроса к вашему боту или любой другой программе, происходит автоматическое пробуждение. Т.к бот не такая сложная программа, то она «просыпается» почти мгновенно. Как правило heroku уведомит вас, что ваши часы бесплатного пользования подходят к концу по почте. Если вашим ботом не пользуются сутки на пролёт, то он скорее всего будет доступен в рамках бесплатных часов в месяц.
@@balkoev Рекомендую задеплоить бота на Glitch, а для мониторинга исп-ть Uptime Robot - бесплатный инструмент со множеством настроек для отслеживания доступности веб-сервисов. На бесплатном аккаунте проверка осуществляется каждые 5 минут. :-)
сайт с которого ты брал я не нашол делал всё по инструкции и нечего не работает потому что если бы ты сам обьяснил было бы понятнее а не копировал всё с сайтов
Здравствуйте, топовый видос, но у меня возникла ошибка ERR_PACKAGE_PATH_NOT_EXPORTED когда я подключал ботовскую клавиатуру, кто-нибудь сталкивался? как решить?
Смотрите что нашел: th-cam.com/channels/SysWqE-NyH3w9TZrgLqDhg.htmlvideos - Очень понятное обьяснение про чат-ботов.. Случайно наткнулся. Всего 36 минут КУРС.
Сначала пыталась сделать сама, потом решила просто проект с репозитория запустить, но всё равно появляется та же ошибка: Бот запущен Launch failed FetchError: request to api.telegram.org/bot1165132744:..../getMe failed, reason: read ECONNRESET
После создания файла procfile ( в нем worker: npm start) + push + deploy = не появляется строка с worker, что б переключиться с web. Help! скрин log: yadi.sk/i/AyRUJH1Gt4G4og скрин Resources: yadi.sk/i/eO9Z_bVc2YXvwg Спасибо
Как вариант добавить следующий код в файле с ботом: require('https').createServer().listen(process.env.PORT || 5000).on('request', function(req, res){ res.end('') });
Спасибо большое, что объясняете с всеми подводными камнями и не вырезаете их !
Благодарю за видео! Молодчага, приятно смотреть и слушать!
Клас, никакой воды и непонятной хрени, разжевал доходчиво, что, куда и самое главное зачем. ЛайкПодпискаБлагодарность!
Все четко, по полкам, понятно, прям методичка, КРАСАВА!
Огромное спасибо за видео и особенно за хероку. Ждем продолжения по ботостроению через Node.js
Вопрос, с таким ботом можно делать рассылки, смотреть статистику, управлять действиями пользователя, например ограничить запросы к боту от одного пользователя?
Крутой туториал, все хорошо по полочкам разложил! От себя еще добавлю, что может не подключаться к api телеги без прокси соединения, потратил пару часов, чтобы решить эту проблему)
Anton Pravdin забыл упомянуть об этом в видео 👍🏻👍🏻
@@balkoev А после деплоя, можно обйтись без прокси? В хероку мы выбирали европейский сервер вроде, или это не так работает?
Anton Pravdin после деплоя прокси будет не нужен. На территории Европы и США телеграм не заблокирован.
Как стать программистом понял, спасибо!
так же страдал этим мин 10, потом включил vpn и все заработало) Потом с vpn с USA еще и засушил на гидхаб и получил интересное сообщение от гид мол, вы с США и на вас действуют ограничения =)))) Как-то так
Спасибо большое за такой туториал! очень помог с деплоем
если у вас не форматирует после сохранения
в настройках в поиске вбейте default formatter
и в секции Editor: Default Formatter выберете prettier
Все работает, спасибо, отличный гайд. Один нюанс уже не актуален - подключение клавиатуры. Пришлось маркап устанавливать отдельно.
работает уже 12 часов , все ок), ждем продолжения
Я с просонья начал смотреть и подумал что это Джиган мне объясняет JS😝😝😝
просто доступно и понятно, ты красава!
спасибо тебе)
Круто, сделал все по видео. Давай продолжение с MongoDB!
Крутой туториал, спасибо! Написала свой первый простенький бот благодаря тебе :)
Спасибо за обратную связь! Рад, что видео было полезным!)
Крутой туториал, очень подробно и простым языком рассказано!
Сам пытаюсь сейчас написать бота, который каждый день будет отправлять курс валют. С помощью cron решил вопрос с отправкой в определенное время, но не нашел в документации telegraf метод, который бы просто отправлял сообщения, без входных данных от пользователя. Всю документацию перерыл, но так и не нашел. Если вдруг знаешь - подскажи, пожалуйста, я в этом деле новичок.
Спасибо)
А как можно реализовать такое решение?
Есть один файл обработчик команд (для всех пользователей одинаковые команды) для телеграм бота, есть n-ое количество пользователей со своей информацией по ответам на команды и токенами для своего бота хранящиеся в БД. Можно ли, и как правильно сделать так, чтобы один запучщенный файл работал со всеми ботами (чтобы не для каждого пользователя отдельно запускать бота с его токеном)?
Использую node-telegram-bot-api и mongoDB
Спасибо, делаю бота для своего канала по вашему видео
привет из Эльбруса) спасибо за видео!
Эльбрусовцам отдельный привет!))
спасибо!!! лайк подписка, комент)
Еще раз спасибо за ролик. Наконец доделал своего первого бота - t.me/wiki_callbackSearch_bot . Твой ролик заложил его основы. Да и про деплой на хероку, тоже очень многие вопросы решило твое видео. Спасибо
Привет, можешь скинуть свой тг ?
@@donk193 там в боте по ссылке мой тг указан
@Как стать программистом. Здравствуйте еще раз) 54:20 после всех совершённых действий терминал выводит ошибку [ERR_PACKAGE_PATH_NOT_EXPORTED]
Вы не знаете как исправить? Лазил в интернете, можно удалить node_modules и package-lock.json и переустановить их заново запустив команду npm install
Если быть точным то вот полный текст ошибки.
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'
}
Смотрите что нашел: th-cam.com/channels/SysWqE-NyH3w9TZrgLqDhg.htmlvideos - Очень понятное обьяснение про чат-ботов.. Случайно наткнулся. Всего 36 минут КУРС.
Telegraf-MarkUp не работает. По моему мне надо установить MarkUp. Что я могу подулать ?
спасибо !!!!!!, и ВОПРОС: у вас бот работает круглосуточно ? или засыпает и все через 30 минут я про Heroku?
В рамках бесплатного тарифа Heroku засыпает, нужно или покупать платный тариф или куда-то в другое место положить.
комм для продвижения)
Четко
Спасибо за урок!
Смотрите что нашел: th-cam.com/channels/SysWqE-NyH3w9TZrgLqDhg.htmlvideos - Очень понятное обьяснение про чат-ботов.. Случайно наткнулся. Всего 36 минут КУРС.
ПЕЕД КОЛЛЕДЖ ТОП!!!!!
полезное видео! спасибо!
Смотрите что нашел: th-cam.com/channels/SysWqE-NyH3w9TZrgLqDhg.htmlvideos - Очень понятное обьяснение про чат-ботов.. Случайно наткнулся. Всего 36 минут КУРС.
Ск орнул на 37::50 уже что-то, жиза
Здравствуйте спасибо вам большое.Я из Узбекистана. С какими клавишами можно остановить бот ? (Видео 20:33 минуте)
Ну кто-нибудь ответьте пожалуйста
www.google.com/search?q=terminal+stop+process&oq=terminal+stop&aqs=chrome.0.0j69i57j0l8.4611j0j7&sourceid=chrome&ie=UTF-8
@@balkoev спасибо большое за внимание
Смотрите что нашел: th-cam.com/channels/SysWqE-NyH3w9TZrgLqDhg.htmlvideos - Очень понятное обьяснение про чат-ботов.. Случайно наткнулся. Всего 36 минут КУРС.
после слов - давайте сохраним и посмотрим что будет...не сработал преттиер у меня. Хотя все делал вроде шаг за шагом.
После добавления кнопок, бот ругается при запуске
Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './markup' is not defined by "exports"
Решил проблему, вот такими изменениями.
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'],
])
)
);
Может кому пригодится.
@@piratplay4689 спасибо, очень пригодилось!
А можете сказать почему этот код сейчас ре работает?
Если ответите пожалуйста ставьте лайк моему комменту, чтобы уведомление пришло
Спасибо за понятный гайд - зашло хорошо ) Если знаешь, подскажи, как сделать вложенные кнопки меню ... типа РФ - а там выбираешь регион или как сделать меню как у ботфазера / возле кнопки отправки и там всплывает менюха. Спасибо и успехов с каналом! ) подписался )
в документации бутстрап есть такое
Железобетонный лайк)
Написал такого бота, только вот непонятно как настроить чтобы он отзывался не только на команды на англ языке, но и на русский язык тоже. Поможете?
Можешь попробовать так:
Создаёшь объект, где ключ это api значение страны, а свойство перевод на русский.
При запросе по api, предварительно смотришь пользовательский ввод и ищешь его в значениях объекта и после присваиваешь свойства этого значения для api запроса.
Как стать программистом спасибо, покопавшись в документации сделал через сцены.
спустя некоторое время бот останавливает рабюоту на HEROKU я так понимаю за бездействие и пишет "Idling" как то можно обойти это?
Не знаю как, но скорее всего можно. Дело в другом. Если heroku не будет переходить в режим ожидания, то часы работы в рамках бесплатного тарифа будут быстро исчерпаны. К примеру бот написанный в этом видео, перестаёт работать в 20-ых числах каждого месяца.
История создания Telegram-бота dou.ua/forums/topic/30973/
Запиши видео как пушить плз, повторял за тобой 50 минут и теперь не знаю что делать дальше)
Обязательно запишу курс по Git'у и про push'ить :D
Вообще много материала по этому поводу есть
Папка с ботом у вас на компе
создаем репозиторий без 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
Вуаля!
Дальше по видео
Как стать программистом а можете ещё видео чтобы от флуда защититься и как с бузой данной работать с ботом.
после команды 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)
как это пофиксить?
Возможно что-то с http запросом. Если ты перепечатывал код из видео, то проверь не допустил ли ты ошибку при fetch запросе.
VERY VERY USEFULL VIDEO
THANKYOU BY HEART
Excellent 👌
не работает pretier
Даьл раьз хал, брат
Очень полезная информация для начинающих в том числе, к коим я отношусь)
Класс!
@Как стать программистом
Помогите пожалуйста. Как мне перезапустить бота в терминале?
Этой командой можно остановить, а запустить вы знаете как.
www.google.com/search?q=terminal+stop+process&oq=terminal+stop&aqs=chrome.0.0j69i57j0l8.4611j0j7&sourceid=chrome&ie=UTF-8
где ctx это нода ?
ааа , увеличивай редактор)))
Что конкретно значат эти ограничения для бесплатного аккаунта на heroku? Я сделала бота, закинула на heroku, будет ли он доступен всегда и для всех? Или будет выключаться? Я нашла инструкцию, как обойти это ограничение, но не понимаю, что за функция get: medium.com/better-programming/keeping-my-heroku-app-alive-b19f3a8c3a82
Nasta Chrałovič на сколько я знаю, для бесплатного использования доступно определенное кол-во часов в месяц, которые считаются по определенной формуле. А ваш бот или любая другая программа, на heroku автоматически через 30 минут уходит в спящий режим. После нового запроса к вашему боту или любой другой программе, происходит автоматическое пробуждение. Т.к бот не такая сложная программа, то она «просыпается» почти мгновенно. Как правило heroku уведомит вас, что ваши часы бесплатного пользования подходят к концу по почте. Если вашим ботом не пользуются сутки на пролёт, то он скорее всего будет доступен в рамках бесплатных часов в месяц.
@@balkoev Рекомендую задеплоить бота на Glitch, а для мониторинга исп-ть Uptime Robot - бесплатный инструмент со множеством настроек для отслеживания доступности веб-сервисов. На бесплатном аккаунте проверка осуществляется каждые 5 минут.
:-)
@@balkoev Спасибо! Поставила, вроде работает :)
сайт с которого ты брал я не нашол делал всё по инструкции и нечего не работает потому что если бы ты сам обьяснил было бы понятнее а не копировал всё с сайтов
У меня у одного не получилось залить на хостинг?
у меня не добавляется worker только web
Не работает в heroku, слишком уж много ошибок
Здравствуйте, топовый видос, но у меня возникла ошибка ERR_PACKAGE_PATH_NOT_EXPORTED когда я подключал ботовскую клавиатуру, кто-нибудь сталкивался? как решить?
Смотрите что нашел: th-cam.com/channels/SysWqE-NyH3w9TZrgLqDhg.htmlvideos - Очень понятное обьяснение про чат-ботов.. Случайно наткнулся. Всего 36 минут КУРС.
Вопросы можно в Тг задать.
продолжение?
Сначала пыталась сделать сама, потом решила просто проект с репозитория запустить, но всё равно появляется та же ошибка:
Бот запущен
Launch failed
FetchError: request to api.telegram.org/bot1165132744:..../getMe failed, reason: read ECONNRESET
Похоже на то, что домен telegram.org заблокирован вашим провайдером. Вам нужно воспользоваться каким нибудь vpn сервисом.
Дик видео яр
После создания файла procfile ( в нем worker: npm start) + push + deploy = не появляется строка с worker, что б переключиться с web.
Help!
скрин log: yadi.sk/i/AyRUJH1Gt4G4og
скрин Resources: yadi.sk/i/eO9Z_bVc2YXvwg
Спасибо
Как вариант добавить следующий код в файле с ботом:
require('https').createServer().listen(process.env.PORT || 5000).on('request', function(req, res){
res.end('')
});