June 29, 2023

Функциональный спамер по чатам в Telegram.

Шалом! Данный скрипт нашёл на форуме endway.su и он позволяет отправлять сообщения во все чаты Telegram, к которым подключён аккаунт, используя последнее сообщение из избранного.

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

Инструкция

  1. Установите библиотеку telethon, выполнив команду pip install telethon.
  2. Зарегистрируйте свое приложение на сайте Telegram API и получите api_id и api_hash.
  3. Введите свой api_id и api_hash в скрипте в соответствующие переменные.
  4. Установите значения переменных delay, sms и chats. Переменная delay указывает, сколько секунд нужно ждать между циклами отправки сообщений в группы. Переменная sms определяет, сколько сообщений должно быть непрочитанными в группе, чтобы скрипт начал пересылать сообщения в эту группу. Переменная chats определяет, сколько групп нужно выбрать для отправки сообщения.
  5. Запустите скрипт командой python script_name.py.
from telethon import TelegramClient, errors
from time import sleep
from telethon.errors.rpcerrorlist import MessageTooLongError

api_id = 123
api_hash = 'abc'
delay = 20
sms = 1
chats = 5

session_name = 'session_name'
client = TelegramClient(session_name, api_id, api_hash)


def dialog_sort(dialog):
    return dialog.unread_count


async def get_groups():
    groups = []
    async for dialog in client.iter_dialogs():
        if dialog.is_group and dialog.unread_count >= sms:
            groups.append(dialog)
    return groups


async def spammer():
    while True:
        try:
            groups = await get_groups()
            if not groups:
                print('No groups found')
                sleep(60)
                continue
            groups.sort(key=dialog_sort, reverse=True)

            for g in groups[:chats]:
                if g.unread_count < sms:
                    continue
                async for msg in client.iter_messages('me', 1):
                    try:
                        await client.forward_messages(g.id, msg)
                        print(f'Message forwarded to {g.title}')
                        break
                    except errors.FloodWaitError as e:
                        print(f'Flood wait error: {e.message}, waiting {e.seconds} seconds')
                        sleep(e.seconds)
                    except errors.MessageIdInvalidError as e:
                        print(f'Message ID invalid error: {e.message}')
                    except errors.MessageNotModifiedError as e:
                        print(f'Message not modified error: {e.message}')
                    except errors.MessageEmptyError as e:
                        print(f'Message empty error: {e.message}')
                    except MessageTooLongError:
                        print(f'Message too long error: {g.title}')
                    except errors.PeerIdInvalidError:
                        pass
                    except errors.ChatAdminRequiredError as e:
                        print(f'Chat admin required error: {e.message}')
                    except errors.ChatIdInvalidError as e:
                        print(f'Chat ID invalid error: {e.message}')
                    except errors.ChatWriteForbiddenError as e:
                        pass
                    except errors.UserDeactivatedError as e:
                        print(f'User deactivated error: {e.message}')
                    except errors.PeerFloodError as e:
                        print(f'Peer flood error: {e.message}, waiting {e.seconds} seconds')
                        sleep(e.seconds)
                    except errors.UserBlockedError as e:
                        print(f'User blocked error: {e.message}')
                    except errors.YouBlockedUserError as e:
                        print(f'You blocked user error: {e.message}')
                    except errors.RPCError as e:
                        print(f'RPC error, waiting {e.seconds} seconds: {e.message}')
                        sleep(e.seconds)

            sleep(delay)
        except Exception as e:
            print(f'Error: {e}')
            sleep(1)


if __name__ == '__main__':
    client.start()
    client.loop.run_until_complete(spammer())

That's all! Спасибо за внимание и не работай руками, когда нет красивой женщины!


Тёмный Берег — благодаря нам ты туда сюда там сям миллионер!