Загрузка...

Spam bots in PM Discord

Thread in Python created by forzeldiscord Feb 1, 2022. (bumped Feb 2, 2022) 24,661 view

  1. forzeldiscord
    forzeldiscord Topic starter Feb 1, 2022 Banned 13 Jan 30, 2022
    Люди, такой статьи нигде не было. Не путайте спам ботов в лс с крашботами - спам в лс это другое

    Ку всем, в этой статье я хочу показать вам, как написать на питоне простейших спам ботов в лс дискорд :smile_drinking:
    Я этих ботов использую для пранков, недавно выложил видос в тт с пиаром этих ботов, залетел на 300к просмотров видос
    И зашло 3.5к человек на сервер с ботами
    [IMG]

    Кто вообще не вдупляет чё это такое, обьясню: суть ботов заключается в том, что по команде пользователю начинает спамить в лс одновременно несколько ботов - засоряя лс пользователю и заставляя его бомбить (если ботов много) :smile_laugh:
    [IMG] [IMG]
    Есть небольшой трабл у этих ботов - спам никак не сработает, если у мамонта закрыто лс. Это уже лимиты самого дискорда, ничего не поделаешь, но в основном мамонты не думают закрыть лс перед тем как зайти на сервер (особенно если он не вызывает подозрений).
    Писать этих ботов мы будем максимально оптимально (жрут не более ~50мб ОЗУ, когда остальные в основном по несколько гигов) на питоне (да-да):ok_tongue:

    Если у вас Win7 32bit или ниже - скорее всего более менее новые версии питона у вас не пойдут, юзайте сайт replit.com (онлайн редактор кода, и запускать код на нем можно). В остальных случаях идем сюда: https://www.python.org/downloads/release/python-389/ , и скачиваем питон для вашей ОС. Запускаем скачанный файл, и устанавливаем сам питон. ВАЖНО!!! ПРИ УСТАНОВКЕ СТАВЬТЕ ГАЛКУ ADD PYTHON TO PATH, В ПРОТИВНОМ СЛУЧАЕ БУДЕТ ВОЗНИКАТЬ ОШИБКА!!!

    Итак, начинаем писать код:finger_up:
    Для начала, я всегда создаю файл start.bat, в нем я указываю данный "код":
    Code
    echo off
    title Spam Bots DS
    cls
    python main.py
    pause
    Этот файл нужен для запуска кода, и для того чтобы легко было отследить ошибку если таковые возникнут (обычно консоль питона сразу закрывается после ошибки, последняя строка этого кода будет останавливать закрытие консоли)

    Некоторая часть дела сделана, сейчас открываем cmd (win + r --> cmd), и вводим туда данные команды:
    • pip install discord
    • pip install colorama
    После этого перезапускаем комп (чтобы все изменения применились)
    Теперь создаем основной файл: main.py - тут мы и будем творить все чудеса "погромистов".:ok_cool: (неудачный рофл)
    Открываем через блокнот этот файл и пишем код.
    Для начала, давайте импортируем библиотеки:
    Python
    import requests # эта библа чтобы слать запросы в дискорд
    import discord #основная библа дискорда
    import asyncio # либа для потоков
    from discord.ext import commands # тож надо
    import json # чтобы простой текст преобразовать в json

    client = commands.Bot(command_prefix='!') # создаем "переменную бота" с префиксом "!" (можете изменить)
    Часть дела сделана, думаю, по комментариям всё понятно :coinflip:
    Идём дальше, сейчас мы напишем функцию для отправки запроса в дискорд, чтобы бот слал сообщение в лс:
    Python
    def send(userid): #создаем функцию send которая принимает аргумент userid
    with open('tokens.txt','r') as f: #открываем файл с токенами ботов (потом узнаете зачем)
    tokens = f.readlines() # читаем все строки с токенами
    for x in tokens: # для каждого токена из списка
    token = x.rstrip() # обрезаем его от лишнего
    payload = {
    "content": f"Спам боты lolz"
    }
    # эта штука отвечает за текст который мы шлем
    u = 'https://discord.com/api/v9/users/@me/channels' # в этой части кода мы получаем "id" лс-а с юзером (нет, это не простой id человека)
    d = {
    "recipients":[f"{userid}"]
    }

    header = {
    "authorization": f"Bot {token}"
    }
    try:
    r = requests.post(url=u,json=d,headers=header) #отправляем запрос на получение id лс-а
    jss = json.loads(r.text) # подгружаем простой текст в json
    url = f'https://discord.com/api/v9/channels/{jss["id"]}/messages' # url куда шлем запрос чтобы челик получил лс
    r = requests.post(url,data=payload,headers=header)#ну и шлем смс в лс
    except: #если что то пойдет не так пишем сообщение об ошибке
    print('[ - ] Error')

    :smile_laugh: Не бейте за говнокод, если он тут есть

    Теперь давайте писать команды для основного бота, который будет "регулировать процесс слания спама в лс" - он будет:
    - Отвечать за запуск функции send
    - Сообщать о том, запущен спам или нет
    [IMG]
    [IMG]

    Пишем основную команду:
    Python
    @client.command() #команда бота
    @commands.cooldown(1, 25, commands.BucketType.user) #с кд 25сек
    async def spam(ctx, user:discord.Member=None):
    if user == None:# если пользователь не указан пишем об этом
    await ctx.author.send(embed=discord.Embed(title='Укажи пользователя для спама в лс!'))
    else:#если указан
    try:#пытаемся дослать до него смс
    await user.send('lolz bots')
    except:#если не получилось пишем об этом
    await ctx.send('Пользователь закрыл лс, не могу делать спам!')
    return
    #если все ок пишем об этом и ебашим поток
    await ctx.author.send(embed=discord.Embed(title=f'Спам пользователю {user} запущен'))
    await asyncio.create_task(send(idd=str(user.id)))

    @client.event #ну тут хернь с кд, чтобы писало сообщение когда чел в кд
    async def on_command_error(ctx, error):
    if isinstance(error, commands.CommandOnCooldown):
    await ctx.send(embed=discord.Embed(title=f'{ctx.author}, Пожалуйста, повтори попытку через {round(error.retry_after, 2)} секунд'))
    Ну и давайте добавим последнюю строку кода:
    Python
    client.run('токен бота из discord developer portal')
    :claps: Почти готово!
    Python

    import requests # эта библа чтобы слать запросы в дискорд
    import discord #основная библа дискорда
    import asyncio # либа для потоков
    from discord.ext import commands # тож надо
    import json # чтобы простой текст преобразовать в json

    client = commands.Bot(command_prefix='!') # создаем "переменную бота" с префиксом "!" (можете изменить)

    def send(userid): #создаем функцию send которая принимает аргумент userid
    with open('tokens.txt','r') as f: #открываем файл с токенами ботов (потом узнаете зачем)
    tokens = f.readlines() # читаем все строки с токенами
    for x in tokens: # для каждого токена из списка
    token = x.rstrip() # обрезаем его от лишнего
    payload = {
    "content": f"Спам боты lolz"
    }
    # эта штука отвечает за текст который мы шлем
    u = 'https://discord.com/api/v9/users/@me/channels' # в этой части кода мы получаем "id" лс-а с юзером (нет, это не простой id человека)
    d = {
    "recipients":[f"{userid}"]
    }

    header = {
    "authorization": f"Bot {token}"
    }
    try:
    r = requests.post(url=u,json=d,headers=header) #отправляем запрос на получение id лс-а
    jss = json.loads(r.text) # подгружаем простой текст в json
    url = f'https://discord.com/api/v9/channels/{jss["id"]}/messages' # url куда шлем запрос чтобы челик получил лс
    r = requests.post(url,data=payload,headers=header)#ну и шлем смс в лс
    except: #если что то пойдет не так пишем сообщение об ошибке
    print('[ - ] Error')

    @client.command() #команда бота
    @commands.cooldown(1, 25, commands.BucketType.user) #с кд 25сек
    async def spam(ctx, user:discord.Member=None):
    if user == None:# если пользователь не указан пишем об этом
    await ctx.author.send(embed=discord.Embed(title='Укажи пользователя для спама в лс!'))
    else:#если указан
    try:#пытаемся дослать до него смс
    await user.send('lolz bots')
    except:#если не получилось пишем об этом
    await ctx.send('Пользователь закрыл лс, не могу делать спам!')
    return
    #если все ок пишем об этом и ебашим поток
    await ctx.author.send(embed=discord.Embed(title=f'Спам пользователю {user} запущен'))
    await asyncio.create_task(send(idd=str(user.id)))

    @client.event #ну тут хернь с кд, чтобы писало сообщение когда чел в кд
    async def on_command_error(ctx, error):
    if isinstance(error, commands.CommandOnCooldown):
    await ctx.send(embed=discord.Embed(title=f'{ctx.author}, Пожалуйста, повтори попытку через {round(error.retry_after, 2)} секунд'))

    client.run('токен бота из discord developer portal')


    :smile_laugh::smile_laugh: :smile_laugh: Да, всего лишь 54 строки :smile_laugh::smile_laugh::smile_laugh:


    :ok_shy: Но у ботов есть небольшой минус, если одновременно несколько людей запустят спам другим людям, например: Вася рассылку Антону, а Петя рассылку Кириллу, то рассылку сначала получит Антон, а только потом когда Антону придут все смс, рассылка начнет идти Кириллу.

    :ok_lol: Я у себя в таких спамботах, добавил "баланс рассылок", сделал спам побыстрее, и пофиксил вышесказанный баг

    :pepecool2: Но дарённому коду в зубы не смотрят, ладно. Переходим к заключительной части.


    Сейчас мы создаем файл tokens.txt, в который мы ложим токены СПАМ БОТОВ, которые будут спамить (напоминаю, основной бот просто чтобы запускать спам на этих токенах) в формате:
    Code
    token
    token
    token
    token
    ...
    Ботов же создаем на Bot Developer portal (ЛИМИТЫ!!! - 10 БОТОВ НА 1 АККАУНТ ЗА 2.5ЧАСА)
    Когда положили токены в этот файл, добавляем всех ботов на сервер, токены которых указаны в этом файле. После этого добавляем основного бота. Теперь запускаем start.bat, и о чудо - основной бот появился в сети.
    Они не включаются, мы просто их используем чтобы слать смски
    Ну а теперь пишем команду ваш префиксspam и профит, боты спамят. (Для большей скорости ставьте на хостинг, или добавьте отдельный поток для каждого токена бота) Да, не мощно - но на любительском уровне пойдёт.
    [IMG] [IMG]

    :smile_yahoo:Вроде бы всё сказал, пользуйтесь че скажу. Данный код можно спокойно продавать по 150р+. При возникновении вопросов пишите. Удачки. :smilesuicide:
     
  2. ыавщгыапркушф
    Для новокека вроде норм, +репка
     
  3. kernel
    kernel Feb 1, 2022 1661 Jul 24, 2021
    Ахах, я видел этот видос
     
    1. forzeldiscord Topic starter
  4. lamgf
    lamgf Feb 1, 2022 0 Jan 30, 2022
  5. 893
    Marteb
    Marteb Feb 1, 2022 32 Aug 12, 2021
    Интересная статья , молодец
     
  6. ReverseMyAss57
    ReverseMyAss57 Feb 1, 2022 383 Aug 28, 2019
    Найсик
     
  7. Banjiro_me
    Banjiro_me Feb 2, 2022 Banned 261 Jul 26, 2019
    Бля, форз высрал что то годное._. лови симпу, хули
     
  8. Shandeika
    Shandeika Feb 21, 2022 Заблокирован 156 Oct 17, 2018
    Добавлять кучу ботов на сервер никто не будет, а добавлять их для рассылки на своём сервере - тупо. Хочешь удивить здешних обитателей - напиши авторег аккаунтов и рассылку с помощью аккаунтов юзеров
     
  9. Kayoshi132
    Что-то пошло не так, я сделал все как было указано, но почему-то спамит только основной бот.
     
    1. ckaB10
      Kayoshi132, в коде функция send() не вызвана походу
  10. kl1zyy_inactive5223341
    не получилось :( почему-то боты в лс не пишт потом
     
  11. ZXCBEBRA444
    [IMG] да сука почему
     
    1. View previous comments (2)
    2. РОлТОн_inactive5214446
      ZXCBEBRA444, если не поможет переустанови питон с галочкой add to path
    3. podnos3
      РОлТОн_inactive5214446, а как написать боту в лс команду? точнее как его найти, т.к. тот что на дискорд деволопер не работает
  12. glor1z
    glor1z Jun 2, 2022 0 Apr 8, 2022
    а кому они писать то будут?
     
    1. Tapdig121
      glor1z,
      челику которого пинганут
  13. Мккс
    Мккс Jul 3, 2022 0 Dec 30, 2021
    Traceback (most recent call last):
    File "C:\Users\Максим\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\http.py", line 300, in static_login
    data = await self.request(Route('GET', '/users/@me'))
    File "C:\Users\Максим\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\http.py", line 254, in request
    raise HTTPException(r, data)
    discord.errors.HTTPException: 401 Unauthorized (error code: 0): 401: Unauthorized

    The above exception was the direct cause of the following exception:

    Traceback (most recent call last):
    File "C:\Users\Максим\Desktop\main.py", line 54, in <module>
    client.run('токен бота из discord developer portal')
    File "C:\Users\Максим\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\client.py", line 723, in run
    return future.result()
    File "C:\Users\Максим\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\client.py", line 702, in runner
    await self.start(*args, **kwargs)
    File "C:\Users\Максим\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\client.py", line 665, in start
    await self.login(*args, bot=bot)
    File "C:\Users\Максим\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\client.py", line 511, in login
    await self.http.static_login(token.strip(), bot=bot)
    File "C:\Users\Максим\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\http.py", line 304, in static_login
    raise LoginFailure('Improper token has been passed.') from exc
    discord.errors.LoginFailure: Improper token has been passed. Что мне делать???
     
    1. ckaB10
      Мккс, там где написано в конце client.run туда вставь токен бота основого
  14. qwais
    qwais Jul 20, 2022 249 May 15, 2022
    помогите у меня почему то вместо спам ботов пишет основной бот в лс, код спаситл 1в1 только закинул токен в main и в tokens.txt
     
    1. View previous comments (3)
    2. Dead44BS
      qwais, ну лол, основной бот чекает открыто лс ли или нет. У меня все работает. Если ты нарукожопил и делал не по статье - виноват только ты
    3. qwais
      Dead44BS, так не только у меня такая проблема была посмотри выше
    4. Dead44BS
      qwais, в коде все правильно, просто люди рукожопые
  15. Trou
    Trou Aug 28, 2022 1 Feb 4, 2022
    Not work хуйня
     
  16. no_name027
    no_name027 Aug 31, 2022 1 Jan 22, 2022
    Я видимо слишком тупой,я нихуя не понял
     
  17. LALALA1331337
    Скиньте норм спамер в личку плес
     
  18. Naydi
    Naydi Sep 11, 2022 1 Jun 5, 2021
    у тебя есть телеграмм? у меня есть вопросы...
     
  19. MarcusLZT
    MarcusLZT Sep 21, 2022 0 Mar 16, 2022
    line 7, in <module>
    client = commands.Bot(command_prefix='!') # создаем "переменную бота" с префиксом "!" (можете изменить)
    TypeError: BotBase.__init__() missing 1 required keyword-only argument: 'intents'
     
    1. View previous comments (5)
    2. NoxyYT
      MarcusLZT, все равно не работает оно указывает ошибку тут commands.Bot(command_prefix='!')
    3. la1q1
      MarcusLZT,
      Code
      commands.Bot(command_prefix='!', intents=discord.Intents.all())
    4. aqdima
      la1q1, да раздели ты commands.bot(command_prefix='!' с intents = discord.Intents.all() и еще поставь пробел между intents и = и = discord
  20. wantikcs9_inactive3570373
    Traceback (most recent call last):
    File "C:\Users\4444\Desktop\main.py", line 7, in <module>
    client = commands.Bot(command_prefix='!') # создаем "переменную бота" с префиксом "!" (можете изменить)
    TypeError: BotBase.__init__() missing 1 required keyword-only argument: 'intents'



    че с этой штукой делать?
     
    1. мопсик
      wantikcs9_inactive3570373,
      Python
      client = commands.Bot(command_prefix='!', intents=discord.Intents.all())
Loading...
Top