С первым пунктом на первый взгляд проблем нет: Делаем запрос к некоему сборщику (который никак не связан с ботом), он должен вернуть массив или объект записей для новой рассылки. Проблема в другом: когда и как запускать этот сборщик.
Можно решать задачу «в лоб» — поставить setInterval или setTimeout и вызывать некую веб-службу, может даже обращаться к api-методу. Но здесь есть очевидный минус: При обновлении скриптов или перезапуска сервера или как в случае с некими популярными хостингами, использующими serverless computing наше приложение после бездействия выключится и таймеры с интервалами исчезнут.
Поэтому первый пункт я советую делать не на уровне NodeJS, а на уровне сервера и помогут нам в этом знания настройки cron’a. Если не знаете, как настраивать, то спросите примеры у гуру или на каком-нибудь другом ресурсе.
Если Ваш бот развёрнут на AWS, то можно написать к примеру такую конфигурацию в файле serverless.yml :
# Каждый день в шесть утра запустить рассылку sendMail: handler: handler.sendMail events: — http: path: sendMail method: post cors: true # Запускать эту функцию каждый день в 6 утра (время местное у сервера) — schedule: cron(0 6 * * ? *)
Enter fullscreen mode
Exit fullscreen mode
Как сделать рассылку сообщений в телеграм боте | Массовая рассылка в телеграм
Здесь говорится о том, что у нас уже есть POST-метод sendMail на нашем сервере и мы хотим его запускать каждый день в шесть утра.
У меня бот развёрнут на heroku и там нет этих возможностей, зато справка heroku говорит, что можно воспользоваться GitHub Actions. В проекте на гитхабе создал каталог .github/workflows , в нём файл manualPOST.yml
name: Cron for friday mailing on: schedule: — cron: «0 6 * * 5» jobs: cron: runs-on: ubuntu-latest steps: — name: Call friday sheduler run: curl -X POST https://telegram-bot.herokuapp.com/api/sendMail
Enter fullscreen mode
Exit fullscreen mode
Здесь говорится, что каждую пятницу, в шесть утра, будет вызываться https://telegram-bot.herokuapp.com/api/sendMail , который отвечает за рассылку.
Мой бот находится не по адресу telegram-bot.herokuapp.com , этот адрес я привёл для примера.
Сейчас текст sendMail приводить не буду, позже, возможно в комментах, дам ссылку на гитхаб. В написании этой функции нужно учитывать особенности serverless functions и помнить, что срок их жизни весьма недолгий. Поэтому у меня там запускаются несколько задач в промисах: сбор подписчиков и сбор материала. Затем, когда Promise.all вернёт мне результаты, запускаю другую службу- рассылки адресатам данных. Таким образом сохраняются требования системы о том, что службы сами по себе работают недолго.
Второй и третий шаги рассылки можно позже подсмотреть в гитхабовских проектах.
Источник: dev.to
Как организовать автоматическую рассылку в телеграмм?
Нужна рассылка на подобии той, которая бывает по e-mail
1. Подписчик отмечается в телеграмм
2. В ответ ему приходит файл (Лид-Магнит)
3. С определённой периодичностью ему приходят автоматические сообщения (заранее приготовленные)
Подскажите софт, бота или технологию для реализации
- Вопрос задан более трёх лет назад
- 705 просмотров
6 комментариев
Простой 6 комментариев
sim3x, Да нет, просто не нашёл нужный тег. Не разобрался ещё толком в сервисе.
Спасибо за правку.
Для реализации нужно использовать Telegram Bot API и какое-то хранилище данных (СУБД), всё. Имей в виду, что Тостер это не портал для поиска программистов, которые сделают всё за тебя. Если у тебя есть какие-то конкретные проблемы по API или СУБД, то задавай конкретные вопросы по конкретным инструментам. Как альтернатива можешь найти фрилансера, который тебе за деньги всё сделает.
Андрей Мывреник, Да мне бы узнать, есть ли такой софт или бот. Судя по твоему комменту, его нет. Это всё, что я хотел бы знать.
kornilov-s, Я не могу утверждать, что реализаций похожего нет в открытом доступе (быстрым поиском по GitHub нашёл это), просто задача слишком.. обычная. Такой тип задач, как правило, решаешь сам под конкретные требования.
В телеграмме роль автоматической рассылки выполняют каналы. Владелец пишет сообщение в канал и все кому интересная такая информационная рассылка получает push-уведомление о новом сообщении.
Это быстрее и удобнее чем открывать открывать какие-либо ссылки с подтверждением. Достаточно просто подписаться на канал.
Источник: qna.habr.com
Как самостоятельно создать авторассылку в телеграм
Ким Сергей (Ташкент, Узбекистан)
Предыдущие 5 статей
Warning: Invalid argument supplied for foreach() in /home/h001276424/domashka.pro/docs/wp-content/themes/domashka/single.php on line 186
Оставить комментарии
Некриминальное Чтиво и Кино
«Думай и Богатей по-новому. Эра Водолея» С.Н. Попова , Бизнес-книги
Поллианна , Фильм
«В этом году Я…» Дж. Райан , Бизнес-книги
Полезные приложения, игры и сервисы
UmmyVideoDownloader , Сервис
Beeline Guide , Приложение
Богатый папа, Бедный папа или зачем играть в Cashflow? , Игра
Санкт-Петербург
Молодец, что создала полезный сайт с потрясающими разделами, особенно отцы и дети. Не думаю, а знаю, что твой сайт поможет людям лучше понять чего они хотят от жизни, как правильно реализовать свои мечты невзирая на нехватку каких-либо ресурсов (финансы, поддержка близких и т.д.) и улучшить взаимопонимание и взаимоотношение отцов и детей! Творческих успехов, интересных статей и побольше позитива, которого так не хватает в нашем мире ! Удачи Милый Друг ! Ты — МОЛОДЕЦ . Привет из Питера
Источник: domashka.pro