Шел 2024 год, а рассылки, несмотря на весь хейт в их сторону — все еще не утратили своей актуальности. В сегодняшнем материале мы рассказали, как создать бота для рассылки сообщений в Telegram. Но сразу поспешим огорчить тех, кто решил, что сейчас начнет нещадно спамить — у Telegram есть лимиты. Хотя никто не мешает запустить несколько десятков копий этого бота с разных акков — аккаунты всегда и везде были расходником. Впрочем, статья не об этом.
Какие задачи решает бот для рассылки сообщений
Как уже можно было понять выше, основная задача данного бота — не спам, а именно рассылки. Хотя, повторимся, у спамеров есть возможность запустить несколько копий бота. Однако бот все же создан для рассылок. Например, для массового ознакомления партнеров с акциями. Либо же для расшаривания читателям вашего канала какой-то полуприватной информации.
В общем, как обычно — все упирается лишь в вашу фантазию, поэтому не будем ходить вокруг да около. Скажем лишь, что, в отличие от обычных ботов, сообщение будет выглядеть так, как будто вы писали его руками. А это всегда плюс к трасту и лояльности.
Принцип работы бота для рассылки сообщений Telegram
Алгоритм бота прост до безобразия, но и задача относительно простая — рассылка. Почему же мы вообще решили поделиться этим ботом? Потому что это user-бот, а их, в отличие от классических Telegram-ботов, в «конструкторе» не соберешь. Итак, бот работает следующим образом:
- Авторизуется в заданном профиле.
- Считывает пользователей, которым будет рассылать сообщения из файла.
- Считывает текст сообщения из файла.
- Рассылает сообщения.
Как видите — ничего сверхсложного.
Пошаговая инструкция, как создать бота для рассылки сообщений в Telegram
Учитывая, что данный бот использует user_api, для его функционирования потребуется получение api_id и api_hash. Чтобы это сделать, необходимо:
- Пройти авторизацию в веб-версии.
- Зайти в раздел «API development tools» и заполнить данные о приложении.
- Сохранить полученные api_id и api_hash в текстовый редактор.
Также потребуется настроить сервер для работы с Telegram.
- Это делается вводом в консоль следующих команд:
pip install asyncio
pip install telethon
- После этого создаем на сервер файл .py с любым названием. Пусть это будет msg.py, добавляем в него следующее:
from telethon.sync import TelegramClient
# Замените на свои значения
API_ID = 'Укажите API ID'
API_HASH = Укажите API Hash'
PHONE_NUMBER = 'Укажите номер телефона'
SESSION_FILE = 'session_file.session'
MESSAGE = 'Укажите текст рассылки'
USERNAME_FILE = 'usernames.txt' # Файл с никнеймами пользователей
async def send_messages():
async with TelegramClient(SESSION_FILE, API_ID, API_HASH) as client:
# Авторизация
if not client.is_user_authorized():
await client.send_code_request(PHONE_NUMBER)
await client.sign_in(PHONE_NUMBER, input('Введите код из СМС: '))
# Отправка сообщений по никнеймам
with open(USERNAME_FILE, 'r') as file:
usernames = file.read().splitlines()
for username in usernames:
try:
await client.send_message(username, MESSAGE)
print(f"Сообщение отправлено пользователю с никнеймом {username}")
except Exception as e:
print(f"Ошибка при отправке сообщения пользователю с никнеймом {username}: {str(e)}")
if __name__ == '__main__':
import asyncio
asyncio.run(send_messages())
- Заменяем 'Укажите API ID', 'Укажите API Hash', 'Укажите номер телефона' и 'Укажите текст рассылки' — на свои api_id, api_hash, номер и сообщение соответственно.
- Сохраняем файл.
- Создаем файл usernames.txt
- Вносим в него ссылки на профили, которым будем рассылать сообщение. Формат — t.me/nickname. Каждую ссылку — с новой строки.
- Инициируем бота вводом:
python msg.py.
- Авторизуем бота в Телеге. Вводим номер при появлении «Please enter your phone (or bot token)». Затем — код, который придет в Телегу.
Готово.
Демонстрация работы
Список профилей для рассылки
Подводя итоги
Как видите, сделать массовую рассылку в Телеге не так уж и сложно. И вовсе не обязательно упрашивать партнеров подписаться на ненужного им бота. Только помните, что у Телеги есть лимиты и спам приведет к блокировке. В особенности если вы спамите тем, с кем не общались ранее.