Скрипт для рассылки сообщений в чаты и личные сообщения Телеграм
Скрипт для автоматической рассылки сообщений в чаты и личные сообщения пользователям Telegram. Рассылка производится с одного или нескольких аккаунтов. Результаты сохраняются в файл Microsoft Excel (*. xlsx) в котором указаны чаты (или аккаунты), отправленные сообщения и их статус.
Для работы данного рассыльщика у вас должен быть установлен Python. Скачать можно здесь. Работоспособность данного скрипта тестировалась на версии Python 3.9.1.
- Для запуска рассылки сообщений на Python, установите необходимые библиотеки, если они ещё не установлены:
pip install telethon
pip install openpyxl
pip install charset-normalizer
Произведите настройку скрипта
- Получите свой API_ID и API_HASH:
Зарегистрируйтесь на https://my.telegram.org/apps. Переходим на этот сайт в раздел API Development Tools, создаём приложение заполняя только название приложения, короткое имя и выбрать версию Desktop. После чего получаем нужные нам данные.
Небольшая видеоинструкция: https://www.youtube.com/watch?v=L4UnzeLsFO4
Создайте приложение, чтобы получить API_ID и API_HASH.
- Формат файла
accounts.txt
Файл должен содержать строки (Каждая строка - это один аккаунт, с которого мы будем рассылать сообщения):
API_ID=123456 API_HASH=abcde12345 API_ID=654321 API_HASH=54321edcba
Формат остальных файлов
- Файл чатов или аккаунтов куда мы будем отправлять сообщение (имя чата или аккаунт пользователя, или ID. БЕЗhttps://t.me/)
chat_list.txt:
chat_username1 chat_username2 123456789 username1 username2
- Файл с текстами сообщений
message_list.txt:
Привет! Это тестовое сообщение. Второе тестовое сообщение.
Запуск скрипта
Через консоль:
python Chat_Message_MultiAccount.py
Или можно просто кликнуть по файлу.
При первом запуске программа запросит авторизацию через ваш номер телефона, и код будет отправлен в Telegram. Вы должны ввести код, полученный в Telegram. При следующих запусках данная процедура больше не потребуется.

Проверьте, что файл сессии (session_name.session) создается рядом со скриптом. Скрипт начнет рассылать сообщения по заданному списку чатов или аккаунтов.

Обработка ошибок:
- Все ошибки (если будут) записываются в файл
error_log.txt.
Скрипт сохранит результаты в файл report.xlsx с отчетом по каждому сообщению.

Важно
- Убедитесь, что у ваших аккаунтов есть права на отправку сообщений в указанные чаты. Вы должны в них предварительно вступить в них со своего аккаунта, с которого будет производиться рассылка. Это можно сделать вручную, либо воспользоваться Скриптом Автоподписки в Чаты. Ошибка
You can't write in this chat (caused by SendMessageRequest)означает, что ваш Telegram-аккаунт не имеет права отправлять сообщения в указанный чат. Убедитесь, что ваш аккаунт добавлен туда. Для закрытых групп или каналов могут быть установлены ограничения на отправку сообщений. - Убедитесь, что файлы
chat_list.txt,message_list.txtиaccounts.txtзаполнены правильно, без лишних пробелов или пустых строк. - Файлы txt должны иметь кодировку UTF-8. Если при запуске скрипта возникнет Ошибка
utf-8 codec can't decode byte ..., значит файл с сообщениями имеет кодировку, отличную отUTF-8. Это может случиться, если файл сохранен в другой кодировке, например,Windows-1251. Сохраните файл в кодировкеUTF-8 без BOM(или простоUTF-8), например в текстовом редакторе, таком как Notepad++ или Visual Studio Code.

- Соблюдайте правила Telegram, чтобы избежать блокировок за спам.
По умолчанию интервал между отправками сообщений стоит 30 секунд. Вы можете поменять его самостоятельно в файле Chat_Message_MultiAccount.py через Notepad++ или Visual Studio Code на 12 строке.

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


