Бесплатный спамер по открытым телеграм чатам (самописный) | End Way - форум программирования и сливов различных скриптов
  • Присоединяйтесь к нам в телеграм канал! EndWay канал | EndSoft канал | EWStudio канал
  • Хочешь поставить скрипт, но не умеешь?
    А может ты хочешь свой скрипт на основе слитого?

    Тогда добро пожаловать в нашу студию разработки!

    Телеграм бот: EWStudioBot
    Телеграм канал: EWStudio

Бесплатный спамер по открытым телеграм чатам (самописный)

mrx_0011

Сеньор
Автор темы
27 Авг 2023
11
2
0
Всем доброго времени суток!
Публикую свой спамер по открытым телеграмм чатам



Ссылка на файлообменник с архивом софта - https://mega.nz/file/ov0z3aSS#RuUQ9R4-VXTygM1YNM0wETsYVOP-H9WeHX5aIjY24yo

- Поддержка прокси
- Работа с файлами сессии в неограниченном кол-ве (НЕ МНОГОПОТОК)
- Спам по своей базе чатов
- Возможность зайти на каждый аккаунт (софт конвертирует файл сессии в tdata + создает копию telegram.exe)
- Неоптимальный алгоритм спама (прогеры - сделайте пжпж норм, выложим новую версию)
- Не доделана обработка ошибок (софт берет следующую сессию, если прилетает временный блок на отправку запросов)
- говно код, все в одном файле
Python:
import asyncio
import shutil
import os
import time
import socks

from telethon.sync import TelegramClient
from telethon.tl.functions.channels import JoinChannelRequest
from opentele.api import UseCurrentSession


app_telegram = r'./Telegram.exe'
links_file = './links.txt'
sessions = os.listdir('./sessions')


with open('spam_text.txt', 'r', encoding='utf-8') as file:
    spam_text = str(file.readlines()[0])


with open('proxy.txt', 'r') as file:
    proxy_data = file.readline().strip()

proxy_parts = proxy_data.split('@')
host_port = proxy_parts[0]
username_password = proxy_parts[1].split(':')

proxy = {
    'host': host_port.split(':')[0],
    'port': int(host_port.split(':')[1]),
    'username': username_password[0],
    'password': username_password[1]
}

async def procces_links(links):
    for session in sessions:
        session_path = os.path.join('./sessions', session)
        print(f'Работа с сессией: {session_path}')
        for link in links:
            try:
                await send_message(link, session_path)
                print(f"Отпаврил сообщение в {link}")
            except Exception as e:
                if 'A wait of' in str(e) and "seconds is required (caused by JoinChannelRequest)" in str(e):
                    wait_time = int(
                        str(e).split('A wait of ')[1].split(" seconds is required (caused by JoinChannelRequest")[0])
                    print(f"ошибка при отправке сообщения: {e}")
                    print(f"перехожу к следующей сессии")
                    break
                elif "You're banned from sending messages in supergroups/channels" in str(e):
                    print('Вы заблокированы и не можете отправлять сообщения в этот чат')
                else:
                    print(f'ошибка при отправке сообщения: {e}')

            # удаляем обработанные ссылки из списка ссылок, если надо
            links.remove(link)

            with open(links_file, 'w') as file:
                file.write('\n'.join(links))

            # небольщая задержка между отправкой сообщений
            await asyncio.sleep(2)

async def send_message(chat_link, session_path):
    # подключаемся к текущей сессии
    client = TelegramClient(session_path, proxy=(socks.SOCKS5, proxy['host'], proxy['port'], proxy['username'], proxy['password']))
    await client.connect()

    # создаем объект TDesktop и сохраняем ему в tdata
    tdesk = await client.ToTDesktop(flag = UseCurrentSession)
    tdesk.SaveTData(f"tdatas/{os.path.basename(session_path)}/tdata")
    #создаем копию telegram.exe чтобы была возмможность зайти в наш акк тг и глянуть че с ним там такое просиходит
    new_app = f"tdatas/{os.path.basename(session_path)}"
    shutil.copy2(app_telegram, new_app)

    try:
        await client(JoinChannelRequest(chat_link))
        # дада рекурсим, а че?
        await client.send_message(chat_link, spam_text)
    except Exception as e:
        raise e
    finally:
        await client.disconnect()

async def main():
    with open(links_file, 'r') as file:
        links = file.readlines()

    links = [link.strip() for link in links]

    if not links:
        print('ссылок больше нет')
        return

    await procces_links(links)

asyncio.run(main())
Немного моей файловой структуры
Screenshot 1

Библиотеки которые используются
Screenshot 2

Ссылки я использовал в таком формате
Screenshot 3
-распаковываете архив в удобную для вас папку
-заходите в эту папку, нажимаете на путь файла и вместо него пишите «cmd»
-в консольке прописываете «pip install -r requirements.txt»
-в proxy.txt обязательно добавьте прокси SOCKS5 в формате ip:port@user:pass
-в spam_text.txt ваш текст для спама
-в links.txt ваша база чатов где будет спам (1 сообщение - 1 чат). После отправки сообщения он удаляет ссылку на чат из файла
-после всей настройки запускаете скрипт командой в консоль «python main.py»

Спасибо тебе за уделенное время, потраченное на прочтение моей темы!
Буду рад любым предложениям, отвечу на твой вопрос, помогу с установкой/запуском/настройкой.
По всем вопросам прошу писать в телеграм - на связи 24/7
Всем хорошего кодинга!
 
Последнее редактирование:
Like
  • 2
Реакции: 1 users

mrx_0011

Сеньор
Автор темы
27 Авг 2023
11
2
0
inf0man, вступает - пишет сообщение, но не выходит. Он удаляет из файла links ссылку на этот чат и берет некст ссылку
 
Активность:
Пока что здесь никого нет