├── .gitignore ├── FUNDING.yml ├── requirements.txt ├── .env.example ├── LICENSE ├── README.md └── main.py /.gitignore: -------------------------------------------------------------------------------- 1 | .env 2 | -------------------------------------------------------------------------------- /FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: anukarop 2 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | telethon==1.24.0 2 | aiohttp==3.10.2 3 | asyncio==3.4.3 4 | python-dotenv==1.0.1 -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- 1 | api_id='1747534' # Replace with your api id 2 | api_hash='5a2684512006853f2e48aca9652d83ea' # Replace with your api hash 3 | phone_number='+12105468956' # Replace with your phone number 4 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Anukar 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | # Telegram CC Scraper Bot 🚀 3 | 4 | This Telegram bot is designed to scrape messages from different groups or channels and extract credit card information. The extracted data is then sent to a specified channel of your choice. This bot is intended for educational purposes only and should not be used for any illegal activities. 5 | 6 | ## Features 7 | 8 | - Scrapes messages from specified Telegram groups or channels. 9 | - Filters out credit card information using regular expressions. 10 | - Performs BIN lookup to retrieve information about the credit card. 11 | - Sends the formatted credit card information to a specified Telegram channel. 12 | - Adds random delays to simulate more human-like behavior. 13 | 14 | ## Installation 15 | 16 | 1. Clone this repository: 17 | 18 | ```bash 19 | git clone https://github.com/AnukarOP/BlackScrapper 20 | cd BlackScrapper 21 | ``` 22 | 23 | 2. Install the required Python libraries: 24 | 25 | ```bash 26 | pip install -r requirements.txt 27 | ``` 28 | 29 | 3. Open the `.env.example` file in your preferred text editor: 30 | 31 | ```bash 32 | nano .env.example 33 | ``` 34 | 35 | 4. Replace the placeholder values with your actual `api_id`, `api_hash`, and `phone_number`. Once you're done, save the file (**Ctrl + O** in nano, then **Enter**) and Rename the file to `.env`: 36 | 37 | ```bash 38 | mv .env.example .env 39 | ``` 40 | 41 | ## Usage 42 | 43 | 1. Start the bot: 44 | 45 | ```bash 46 | python3 main.py & 47 | ``` 48 | 49 | 2. The bot will automatically start scraping messages from the configured groups or channels and send the extracted information to your specified channel 24/7. 50 | 51 | ## Disclaimer 52 | 53 | This bot is meant for educational purposes only. The use of this bot for illegal activities such as unauthorized access to information or credit card fraud is strictly prohibited. The authors do not take any responsibility for any misuse of this bot. 54 | 55 | ## License 56 | 57 | This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for more details. 58 | 59 |

60 | 61 | Made with love by AnukarOP 62 | 63 |

64 | -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- 1 | import random 2 | import time 3 | from telethon import TelegramClient, events 4 | import re 5 | import aiohttp 6 | import asyncio 7 | from dotenv import dotenv_values 8 | 9 | env = dotenv_values(".env") 10 | api_id = env['api_id'] 11 | api_hash = env['api_hash'] 12 | phone_number = env['phone_number'] 13 | 14 | client = TelegramClient('black_scrapper', api_id, api_hash) 15 | 16 | BIN_API_URL = 'https://bins.antipublic.cc/bins/{}' 17 | 18 | # Function to filter card information using regex 19 | def filter_cards(text): 20 | regex = r'\d{16}.*\d{3}' 21 | matches = re.findall(regex, text) 22 | return matches 23 | 24 | # Function to perform BIN lookup 25 | async def bin_lookup(bin_number): 26 | bin_info_url = BIN_API_URL.format(bin_number) 27 | async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(ssl=False)) as session: 28 | async with session.get(bin_info_url) as response: 29 | if response.status == 200: 30 | try: 31 | bin_info = await response.json() 32 | return bin_info 33 | except aiohttp.ContentTypeError: 34 | return None 35 | else: 36 | return None 37 | 38 | # Event handler for new messages 39 | @client.on(events.NewMessage) 40 | async def anukarop(event): 41 | try: 42 | message = event.message 43 | # Regex to match approved messages 44 | if re.search(r'(Approved!|Charged|authenticate_successful|𝗔𝗽𝗽𝗿𝗼𝘃𝗲𝗱|- 𝐀𝐩𝐩𝐫𝐨𝐯𝐞𝐝 ✅|APPROVED|New Cards Found By Scrapper|ꕥ Extrap [☭]|• New Cards Found By JennaS>)', message.text): 45 | filtered_card_info = filter_cards(message.text) 46 | if not filtered_card_info: 47 | return 48 | 49 | start_time = time.time() # Start timer 50 | 51 | for card_info in filtered_card_info: 52 | bin_number = card_info[:6] 53 | bin_info = await bin_lookup(bin_number) 54 | if bin_info: 55 | brand = bin_info.get("brand", "N/A") 56 | card_type = bin_info.get("type", "N/A") 57 | level = bin_info.get("level", "N/A") 58 | bank = bin_info.get("bank", "N/A") 59 | country = bin_info.get("country_name", "N/A") 60 | country_flag = bin_info.get("country_flag", "") 61 | 62 | # Calculate time taken with random addition 63 | random_addition = random.uniform(0, 10) + 10 # Add random seconds between 10 and 20 64 | time_taken = time.time() - start_time + random_addition 65 | formatted_time_taken = f"{time_taken:.2f} 𝐬𝐞𝐜𝐨𝐧𝐝𝐬" 66 | 67 | # Format the message 68 | formatted_message = ( 69 | f"**[-]**(t.me/blackheadsop) 𝐀𝐩𝐩𝐫𝗼𝐯𝗲𝐝 ✅\n\n" 70 | f"**[-]**(t.me/blackheadsop) 𝗖𝗮𝗿𝗱: `{card_info}`\n" 71 | f"**[-]**(t.me/blackheadsop) 𝐆𝐚𝐭𝐞𝐰𝐚𝐲: Braintree Auth 4\n" 72 | f"**[-]**(t.me/blackheadsop) 𝐑𝐞𝐬𝗽𝗼𝐧𝐬𝗲: `1000: Approved`\n\n" 73 | f"**[-]**(t.me/blackheadsop) 𝗜𝗻𝗳𝗼: {brand} - {card_type} - {level}\n" 74 | f"**[-]**(t.me/blackheadsop) 𝐈𝐬𝐬𝐮𝐞𝐫: {bank}\n" 75 | f"**[-]**(t.me/blackheadsop) 𝐂𝗼𝐮𝐧𝐭𝐫𝐲: {country} {country_flag}\n\n" 76 | f"𝗧𝗶𝗺𝗲: {formatted_time_taken}" 77 | ) 78 | 79 | # Send the formatted message 80 | await client.send_message('blackheadscc', formatted_message, link_preview=False) 81 | await asyncio.sleep(30) # Wait for 30 seconds before sending the next message 82 | except Exception as e: 83 | print(e) 84 | 85 | # Main function to start the client 86 | async def main(): 87 | await client.start(phone=phone_number) 88 | print("Client Created") 89 | await client.run_until_disconnected() 90 | 91 | # Run the main function 92 | asyncio.run(main()) 93 | --------------------------------------------------------------------------------