Перейти к содержимому

Как сделать рассылку в телеграм боте python

  • автор:

Как написать рассылку для Telegram бота на Telebot Python

Задача: написать рассылку для бота с запросом ввести текст перед рассылкой и задержками для избежания бана от Telegram, но не совсем понимаю как правильно это сделать. Текущий код рассылки, который совсем не устаивает:

elif call.data == 'send': cursor.execute('SELECT id FROM login_id') result = cursor.fetchall() msg = 'текст рассылки' time.sleep(1) for x in result: bot.send_message(x[0], str(msg)) 

Отслеживать
задан 26 мар 2022 в 23:12
Alex Shark Alex Shark
21 1 1 серебряный знак 4 4 бронзовых знака

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Для создания рассылки сохраняйте user_id в БД, после чего методом send_message отправляйте само сообщение-рассылку. Вот неплохое видел на этот счёт: ссылка

Если я Вас правильно понял, то Вам нужно осуществить некую задержку перед отправкой сообщения. Вы можете это сделать таким способом: Проверяете всех user_id входящих сообщений на наличие в вашей БД рассылки. Если да, то далее отправляете выше указанным метод сообщение.

Также советую прикреплять ваш код полностью или комментировать саму суть проблемы.

Отслеживать
ответ дан 26 мар 2022 в 23:28
thelonelyangel thelonelyangel
126 2 2 бронзовых знака

Немного непонятно, как сделать, чтобы у админа бот запрашивал текст рассылки перед её началом. Не могли бы вы помочь подсказав код? Видео смотрел ещё до вопроса и делал похожую рассылку, но там нет запроса текста перед рассылкой. Да и вместо БД используется текстовый файл 🙂

27 мар 2022 в 7:16

Если Вам надо получить текст для рассылки у админа, то просто проверяйте user_id на id админа, если это его, то берите текст сообщения и вызывайте функцию рассылки с этим текстом.

Как сделать рассылку в телеграм боте?

Суть вопроса.. Как сделать или можно ли это вообще сделать’ Рассылку определенному пользователю или пользователям к примеру (1, 2, 3) людям ? Код Aiogram для рассылки всем пользователям которые есть в БД:

@dp.message_handler(content_types=['text'], text='Рассылка') async def spam(message: Message): if message.from_user.id == ADMIN: await admin.send.set() await message.answer('Напиши текст рассылки') else: await message.answer('Вы не являетесь админом') @dp.message_handler(state=admin.send) async def start_spam(message: Message, state: FSMContext): if message.text == 'Назад': await message.answer('Главное меню') await state.finish() else: cur = conn.cursor() cur.execute(f'''SELECT user_id FROM users''') spam_base = cur.fetchall() print(spam_base) for z in range(len(spam_base)): print(spam_base[z][0]) for z in range(len(spam_base)): await bot.send_message(spam_base[z][0], message.text) await message.answer('Рассылка завершена') await state.finish()

Буду благодарен за ответ.

  • Вопрос задан более года назад
  • 489 просмотров

Создание массовой рассылки с использованием Aiogram Broadcaster Library

Aiogram Broadcaster Library — это сторонняя библиотека для Python, предназначенная для работы с aiogram, асинхронным фреймворком для создания ботов на платформе Telegram. В этой статье мы рассмотрим, как использовать Aiogram Broadcaster для создания и отправки массовых рассылок ваших пользователей или групп.

Установка

Для начала установите Aiogram Broadcaster Library с помощью pip:

pip install aiogram-broadcaster 

Также убедитесь, что у вас установлен aiogram:

pip install aiogram 

Пример кода

Для начала импортируйте необходимые библиотеки и создайте экземпляр бота:

import logging from aiogram import Bot, Dispatcher from aiogram.contrib.middlewares.logging import LoggingMiddleware from aiogram_broadcaster import TextBroadcaster API_TOKEN = "YOUR_BOT_TOKEN" logging.basicConfig(level=logging.INFO) bot = Bot(token=API_TOKEN) dp = Dispatcher(bot) dp.middleware.setup(LoggingMiddleware()) 

Теперь создадим экземпляр TextBroadcaster и настроим его:

broadcaster = TextBroadcaster(dp) async def send_daily_broadcast(): await broadcaster.broadcast(["user1", "user2", "user3"], "Ежедневная рассылка: Ваши новости на сегодня") 

В этом примере мы создаем функцию send_daily_broadcast , которая отправляет сообщение «Ежедневная рассылка: Ваши новости на сегодня» пользователям с именами «user1», «user2» и «user3». Здесь вы можете указать любые идентификаторы пользователей или групп, которым необходимо отправить рассылку.

Чтобы отправить рассылку в определенное время каждый день, мы можем использовать библиотеку aiocron для создания расписания:

pip install aiocron 

Импортируйте aiocron и добавьте cron-задачу для отправки рассылки:

import aiocron @aiocron.crontab("0 9 * * *") async def schedule_daily_broadcast(): await send_daily_broadcast() 

В данном примере рассылка будет отправляться каждый день в 9:00 утра. Вы можете настроить время отправки, изменив cron-выражение.

Запуск бота

Теперь, когда наш бот готов, давайте запустим его:

from aiogram import executor if __name__ == "__main__": from handlers import * executor.start_polling(dp, skip_updates=True) 

Вывод

Aiogram Broadcaster Library — это полезное дополнение к основным возможностям aiogram, позволяющее легко создавать и отправлять массовые рассылки вашим пользователям или группам. В этой статье мы рассмотрели, как настроить и использовать Aiogram Broadcaster для отправки сообщений по расписанию.

С использованием этой библиотеки вы можете сделать своего бота более функциональным, отправлять уведомления, новости или другую полезную информацию вашим пользователям. Это может быть особенно полезно для бизнес-ботов, сообществ и других приложений, где важно держать аудиторию в курсе последних обновлений и событий.

Не забывайте, что Aiogram Broadcaster Library предлагает не только отправку текстовых сообщений, но и другие виды рассылок, такие как изображения, видео и документы. Вы можете поэкспериментировать с различными типами контента, чтобы сделать вашу рассылку более интересной и привлекательной для аудитории.

Вопросы с меткой [рассылка]

Руководство по использованию метки рассылка отсутствует.

46 вопросов
Конкурсные
Неотвеченные

  • Конкурсные 0
  • Неотвеченные
  • Цитируемые
  • Рейтинг
  • Неотвеченные (мои метки)

6k показов

Как написать рассылку для Telegram бота на Telebot Python

Задача: написать рассылку для бота с запросом ввести текст перед рассылкой и задержками для избежания бана от Telegram, но не совсем понимаю как правильно это сделать. Текущий код рассылки, который .

Массовая рассылка с помощью telethon. Вопрос по оптимизации

Не смотря на то, что само сообщение изменяется случайным образом каждому следующему пользователю, и стоит случайная задержка — мут прилетает примерно через 10 отосланных сообщений. Прошу дать .

проблема с рассылкой

При отправке письма через эту программу через английское имя проходит, но сразу летит в спам, русское имя вообще не поддерживает вылазят такие ошибки The mail system [email protected]: host gmail-.

697 показов

Рассылка сообщений в группе вконтакте

я написал бота для группы вконтакте на Python, обычный бот написанный на vk_api с базой sqlite3.вопрос заключается в том, можно ли как то реализовать рассылку сообщений только тем пользователям у .

118 показов

Ежедневные уведомления на aiogram

Хочу чтоб бот уведомлял пользователей каждый день в 8 утра, есть бд с всеми айдишниками, только не знаю как прикрутить к боту функцию проверки времени или что то подобное. Как лучше такое реализовать? .

27 показов

Как избавится от закрепленных картинок в электронных письмах при верстке?

Сверстал письмо для электронной почты и эти картинки бесят. каждая картинка весит меньше 100кб все alt написал

237 показов

Создание бота для рассылки сообщений в ВК

Есть у меня задача сделать бота для рассылки сообщений в вк, но не совсем обычного. Нужно чтобы он с моего ВК аккаунта писал в группы забитые в какой-нибудь базе данных. Т.е. в базе данных будут .

Как указать ник, данные отправителя рассылки в боте aiogram, следующим сообщением

@dp.callback_query_handler(text=’next’, state=bot_mailing.state) async def start(call: types.CallbackQuery, state: FSMContext): users = await commands.select_all_users() data = await state.

1k показов

Как сделать рассылку в Вконтакте с помощью python

Есть бот, на python, с POSTGRESQL и надо в него внедрить рассылку, кол-во пользователей, у этого бота, измеряется в тысячах, на данный момент в базе чуть больше 4к человек, надо как-то быстро всем им .

816 показов

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

Создаю телеграм-бота с рассылкой, которая удалится при нажатии на Inline-кнопку. Подключена база данных sqlite3, и рассылка отправляется всем, но не могу сделать чтобы была возможность удаления. .

37 показов

Рассылка уведомлений через электронную почту по достижении определенной даты

Есть база сотрудников, у которых каждый год должен проходить экзамен, с момента вступления в должность. Многие забывают о нем, так что необходимо сделать рассылку или уведомление пользователям по .

95 показов

Рассылка приходит только одному пользователю

Есть у меня функция, которая записывает id пользователей, а другая функция делает рассылку этим пользователям. Все было хорошо, но по непонятной причине уведомление стало приходить только одному .

Ошибка в коде для рассылки через форму на сайте. Connection failed. Error #2: stream_socket_enable_crypto(): SSL operation failed with code 1

Учусь делать сайт, возникла вот такая ошибка. Код предназначен для рассылки на несколько адресов через форму на сайте. Я так понимаю нужен сертификат ssl? можно ли как-то обойтись без него, ну или как .

529 показов

Рассылка в телеграмм боте python telebot: «RuntimeWarning: coroutine ‘subscribe’ was never awaited task»

необходимо сделать рассылку, чтобы пользователь выбирал команду подписки/отписки и ему приходили новости, пока что пробовала настроить команды и подключение бд, где будет фиксироваться состояние .

492 показа

Java рассылка сообщений Telegram bot как сделать? Как лучше?

Возник вопрос по поводу рассылки сообщения в Telegram bot. Chat id храниться в БД. Как сделать рассылку сообщений есть вариант с : https://api.telegram.org/botTOKEN/sendMessage?chat_id=CHAT_ID&.

15 30 50 на странице

    Важное на Мете

Связанные метки

Подписаться на ленту

Лента последних активных вопросов с меткой [рассылка]

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.3.2953

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *