{"id":18734356,"url":"https://github.com/uixss/massacre-tg","last_synced_at":"2025-04-10T11:25:55.240Z","repository":{"id":260351564,"uuid":"881053215","full_name":"uixss/MASSACRE-TG","owner":"uixss","description":"Telegram report automatize | sessions | scraping web | smtp","archived":false,"fork":false,"pushed_at":"2024-12-02T14:52:52.000Z","size":693,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-24T10:12:09.562Z","etag":null,"topics":["report","scraping","telegram","telethon"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/uixss.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-30T20:44:20.000Z","updated_at":"2025-02-20T10:47:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"ecb8a235-43b7-4618-86ab-be7637a57c07","html_url":"https://github.com/uixss/MASSACRE-TG","commit_stats":null,"previous_names":["uixss/massacre-tg"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uixss%2FMASSACRE-TG","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uixss%2FMASSACRE-TG/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uixss%2FMASSACRE-TG/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uixss%2FMASSACRE-TG/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uixss","download_url":"https://codeload.github.com/uixss/MASSACRE-TG/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248208621,"owners_count":21065203,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["report","scraping","telegram","telethon"],"created_at":"2024-11-07T15:13:04.716Z","updated_at":"2025-04-10T11:25:55.217Z","avatar_url":"https://github.com/uixss.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🎫 Coding Services SEND DM 🎫\n\n## 📝 Requirements\n\n- Python 3.8+\n- Telethon Library (`pip install telethon`)\n\n# 📡 Entity Processor\n\nProcesses Telegram entities (users, channels, and groups) and saves detailed information in a JSON file.\n\n- 🛠️ Automatically loads or creates Telegram sessions.\n- 📂 Processes users, groups, and channels (public or private).\n- 📊 Retrieves member, admin, and statistical information.\n- 💾 Saves processed data to `valid_data.json`.\n\n```python\nasync def process_entity(client, entity_input, admin_limit=100):\n    if not entity_input:\n        return {\"status\": \"invalid_input\", \"details\": \"Empty or None input\", \"link\": \"N/A\", \"input\": entity_input}\n\n    try:\n        entity = await client.get_entity(entity_input)\n        link = f\"https://t.me/{entity.username}\" if hasattr(entity, 'username') and entity.username else \"N/A\"\n\n        if isinstance(entity, types.User):\n            return {\n                \"status\": \"success\",\n                \"input\": entity_input,\n                \"type\": \"user\",\n                \"link\": link,\n                \"info\": {\n                    \"id\": entity.id,\n                    \"user\": entity_input,  \n                    \"username\": entity.first_name or \"N/A\",\n                    \"name\": f\"{entity.first_name or ''} {entity.last_name or ''}\".strip(),\n                    \"is_bot\": \"Yes\" if entity.bot else \"No\",\n                },\n            }\n\n        # Procesar canales o grupos\n        elif isinstance(entity, types.Channel):\n            full_chat = await client(functions.channels.GetFullChannelRequest(entity))\n            chat_type = \"public\" if entity.username else \"private\"\n            metadata = {\n                \"id\": entity.id,\n                \"title\": entity.title,\n                \"username\": f\"@{entity.username or 'N/A'}\",\n                \"members\": full_chat.full_chat.participants_count,\n                \"description\": full_chat.full_chat.about or \"N/A\",\n                \"admins\": [],\n            }\n\n            try:\n                offset, total_admins = 0, []\n                while True:\n                    admins_data = await client(functions.channels.GetParticipantsRequest(\n                        channel=entity,\n                        filter=types.ChannelParticipantsAdmins(),\n                        offset=offset,\n                        limit=admin_limit,\n                        hash=0,\n                    ))\n                    total_admins.extend([\n                        {\n                            \"id\": admin.user_id,\n                            \"username\": admin.user.first_name or \"N/A\",  # Nombre real del admin\n                            \"user\": f\"@{admin.user.username or 'N/A'}\",  # Identificador como @username\n                            \"arorab\": admin.rank if hasattr(admin, 'rank') else \"N/A\",\n                            \"link\": f\"https://t.me/{admin.user.username}\" if admin.user.username else \"N/A\",\n                        }\n                        for admin in admins_data.participants if isinstance(admin, types.ChannelParticipantAdmin)\n                    ])\n                    if len(admins_data.participants) \u003c admin_limit:\n                        break\n                    offset += admin_limit\n\n                metadata[\"admins\"] = total_admins\n            except errors.ChatAdminRequiredError:\n                metadata[\"admins\"] = \"Restricted (Admin privileges required)\"\n            except Exception as e:\n                metadata[\"admins\"] = f\"Error retrieving admins: {str(e)}\"\n\n            return {\n                \"status\": \"success\",\n                \"input\": entity_input,\n                \"type\": \"channel\" if not entity.megagroup else \"group\",\n                \"privacy\": chat_type,\n                \"link\": link,\n                \"info\": metadata,\n            }\n\n        # Entidad desconocida\n        else:\n            return {\"status\": \"unknown_entity\", \"input\": entity_input, \"link\": link, \"details\": \"Entity type not recognized\"}\n\n    except (errors.UserDeactivatedError, errors.AuthKeyInvalidError) as e:\n        return {\"status\": \"account_issue\", \"details\": str(e), \"link\": \"N/A\", \"input\": entity_input}\n    except errors.ChannelPrivateError:\n        return {\"status\": \"private_channel\", \"link\": \"N/A\", \"details\": \"Channel is private or access is denied\", \"input\": entity_input}\n    except errors.FloodWaitError as e:\n        print(f\"FloodWaitError: Esperando {e.seconds} segundos...\")\n        await asyncio.sleep(e.seconds)\n        return {\"status\": \"flood_wait\", \"link\": \"N/A\", \"details\": f\"Flood wait for {e.seconds} seconds\", \"input\": entity_input}\n    except errors.RPCError as e:\n        return {\"status\": \"rpc_error\", \"link\": \"N/A\", \"details\": str(e), \"input\": entity_input}\n    except Exception as e:\n        return {\"status\": \"error\", \"link\": \"N/A\", \"details\": str(e), \"input\": entity_input}\n\n```\n\n---\n\n# REPORT CONTENT\n\n```python\nimport random\n\nheaders = [\n    \"Dear Telegram Compliance Monitoring Team,\",\n    \"Hello Telegram Policy Team,\",\n    \"To the Telegram Trust Enforcement Team,\",\n]\n\nfooters = [\n    \"Warmly,\",\n    \"With heartfelt thanks,\",\n    \"Ever grateful,\",\n]\n\nstatic_message = \"We have detected irregular activity in the following account.\"\ndetails = \"Account ID: 123456\"\n\nheader = random.choice(headers)\nfooter = random.choice(footers)\nmessage = f\"\"\"{header}\\n\\n{static_message}\\n\\n{details}\\n\\n{footer}\\nBye\"\"\"\n\n```\n\n---\n\n# 📧 MASSACRE TG SMTP \n\n    sms@telegram.org\n    dmca@telegram.org\n    abuse@telegram.org\n    sticker@telegram.org\n    stopCA@telegram.org\n    recover@telegram.org\n    support@telegram.org\n    security@telegram.org\n\n\n\u003cdiv style=\"display: flex; justify-content: space-between; align-items: center;\"\u003e\n    \u003cimg src=\"img/letter.png\" alt=\"MASSACRE_SMTP_1\" width=\"400\" height=\"500\"\u003e\n    \u003cimg src=\"img/imbox.png\" alt=\"MASSACRE_SMTP_2\" width=\"425\" height=\"500\"\u003e\n\u003c/div\u003e \n\n---\n\n# 📊 MASSACRE TG SESSIONS\n\nThis project automates reporting users, channels, and groups on Telegram using multiple sessions. It loads session credentials, user lists, and configuration files to perform reports based on predefined criteria.\n\n## 🚀 Features\n\n- **Multi-Session Management**: Supports multiple Telegram sessions for reporting.\n- **Automated User and Channel Reports**: Reports users and channels with specified reasons.\n- **Customizable Report Reasons**: Supports various report types like spam, fake, copyright, etc.\n- **Randomized Messaging**: Randomized report messages for variation.\n- **Error Handling**: Handles session errors like banned numbers and unauthorized access.\n\n### Prepare Session Credentials\n\n```plaintext\n(api_id, api_hash, phone_number)\n(api_id, api_hash, phone_number)\n```\n\n### Add Users to Report\n\n```json\n[\n  {\n    \"status\": \"success\",\n    \"info\": {\n      \"id\": 123456789,\n      \"user\": \"@username\"\n    }\n  }\n]\n```\n\n### Configure Report Messages\nCreate a `report.json` file with report reasons and messages:\n```json\n{\n  \"SPAM\": [\"This is spam!\", \"Inappropriate content\", \"Unwanted messages\"]\n}\n```\n\nThe script will:\n1. Validate all sessions.\n2. Report users or channels based on `main.json`.\n3. Display the results in a tabular format.\n\n## 📈 Results\nReports will be displayed in the terminal as a table:\n```\n+-------------+-------------------+-----------+\n| Session     | User/Channel      | Report    |\n+-------------+-------------------+-----------+\n| +1234567890 | @username         | SPAM      |\n+-------------+-------------------+-----------+\n```\n\n\u003cdiv style=\"display: flex; justify-content: space-between; align-items: center;\"\u003e\n    \u003cimg src=\"img/term.png\" alt=\"MASSACRE_SESSION\" width=\"425\" height=\"500\"\u003e\n    \u003cimg src=\"img/table.jpg\" alt=\"MASSACRE_SESSION2\" width=\"400\" height=\"500\"\u003e\n\u003c/div\u003e\n\n---\n\n# 🌐  MASSACRE TG WEB v2\n\n    https://telegram.org/support\n\nAutomated script to process email addresses, send messages via HTTP requests, and manage users with multi-threading. Perfect for handling bulk actions efficiently! ⚡\n\n## 📂 Features\n- **Dynamic User Agents** 🤖\n- **Multi-threading** 🧵\n- **Real-time Logging** 📝\n- **Email and User Processing** 📧\n- **JSON Configuration** 📄\n\n## 📦 File Structure\n| File/Folder    | Description                              |\n|----------------|------------------------------------------|\n| `emails.txt`   | List of email addresses to process.      |\n| `report.json`  | JSON containing messages (`SPAM` key).   |\n| `main.json`    | User details (`id`, `username`, etc.).   |\n| `results.log`  | Log file for process results.            |\n\n## 📧 Example Data\n\n### `emails.txt`\n```\nemail1@example.com\nemail2@example.com\n```\n\n### `report.json`\n```json\n{\n  \"SPAM\": [\"Message 1\", \"Message 2\"]\n}\n```\n\n### `main.json`\n```json\n[\n  {\"info\": {\"id\": 1, \"username\": \"user1\"}, \"status\": \"success\"}\n]\n```\n\n \u003cimg src=\"img/web.png\" alt=\"MASSACRE_SESSION2\"\u003e\n\n\n\n\n## ⚠️ Disclaimer\nThis tool is for educational purposes only. Use responsibly and ensure compliance with Telegram's terms of service.\n\n## 🤝 Contributing\nFeel free to submit issues or pull requests to improve the project!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuixss%2Fmassacre-tg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fuixss%2Fmassacre-tg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuixss%2Fmassacre-tg/lists"}