import asyncio
import aiohttp
import json
import re
import random
import string
import time
import threading
import sys
import os
from datetime import datetime
from colorama import Fore, Style, init
import requests
import base64
init(autoreset=True)
class TokenJoinerSupreme:
def __init__(self):
[Link] = []
self.server_id = ""
self.user_agents = [
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,
like Gecko) Chrome/91.0.4472.124 Safari/537.36",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101
Firefox/89.0"
]
self.base_url = "[Link]
self.headers_template = {
"accept": "*/*",
"accept-encoding": "gzip, deflate, br",
"accept-language": "en-US,en;q=0.9",
"content-type": "application/json",
"origin": "[Link]
"sec-ch-ua": '" Not;A Brand";v="99", "Google Chrome";v="91",
"Chromium";v="91"',
"sec-ch-ua-mobile": "?0",
"sec-fetch-dest": "empty",
"sec-fetch-mode": "cors",
"sec-fetch-site": "same-site",
"user-agent": [Link](self.user_agents),
"x-debug-options": "bugReporterEnabled",
"x-discord-locale": "en-US"
}
def clear_screen(self):
[Link]('cls' if [Link] == 'nt' else 'clear')
def print_banner(self):
self.clear_screen()
banner = f"""
██
██
██
█████▒ ███ █████▓ ░███ ███ ██████ ███ ██████████
██ ██▒ ███ ▓█ ███ ░███ ███ ░█ ███ ███ ████░▒████▓
███████ ███ ███████ ░███ ███ ███████ ███ ▒ ▒ ███
▓███ ███ ▒ ███ ░███ ███ ▒ ███ ███ ▒ ███
░███ ░███ ▒ ███ ░███ ███ ▒ ███ ███ ▒ ███░
░███ ░███ ▒ ███ ░███ ███ ▒ ███ ███ ▒ ███░
░███ ░███ ▒ ███ ░███ ███ ▒ ███ ███ ▒ ███░
░███ ▓██████ ░██████▒ ░███ ██████░ ▒ ███ ░██████ ▒ ███░
░█████████▒ ██ ██ ███ ████▓███ ███ ░█ ▒ ███░██████ ██ ▒ ███░
░████▓ ██ ██▒ ██ ▓██▒ ▓████ ░███▓██ ▒ █████ ██░░██ ▒ ███░
[Link] --NOmNaO
{[Link]}╚══════════════════════════════════════════════════════════════╝
{[Link]}╔══════════════════════════════════════════════════════════════╗
{[Link]}║{[Link]} TOKEN JOINER🥛
{[Link]}╚══════════════════════════════════════════════════════════════╝
"""
print(banner)
def get_tokens_input(self):
print(f"{[Link]}[+] กรุณาใส่ Token Discord (หากมีหลายตัวให้ใช้ ๑ คั่น)")
print(f"{[Link]}[!] ตัวอย่าง: token1 ๑ token2 ๑ token3")
tokens_input = input(f"{[Link]}[INPUT] Token: {Style.RESET_ALL}")
if '๑' in tokens_input:
[Link] = [[Link]() for token in tokens_input.split('๑') if
[Link]()]
else:
[Link] = [tokens_input.strip()]
print(f"\n{[Link]}[✓] ได้รับ Token ทั้งหมด: {len([Link])} ตัว")
def display_token_info(self):
print(f"\
n{[Link]}╔══════════════════════════════════════════════════════════════╗")
print(f"{[Link]}║{[Link]} ข้อมูล Token ทั้งหมด🥛
║")
print(f"{[Link]}╚══════════════════════════════════════════════════════════════
╝")
for i, token in enumerate([Link], 1):
try:
user_info = self.get_user_info(token)
if user_info:
print(f"\n{[Link]}[Token {i}]")
print(f" {[Link]}ชื่อผู้ใช้: {[Link]}
{user_info['username']}#{user_info['discriminator']}")
print(f" {[Link]}ID: {[Link]}{user_info['id']}")
print(f" {[Link]}Bot: {[Link]}{user_info.get('bot',
'N/A')}")
print(f" {[Link]}Verified: {[Link]}
{user_info.get('verified', 'N/A')}")
print(f" {[Link]}Email: {[Link]}
{user_info.get('email', 'N/A')}")
else:
print(f"\n{[Link]}[Token {i}] - ข้อมูลไม่ถูกต้องหรือหมดอายุ")
except Exception as e:
print(f"\n{[Link]}[Token {i}] - ข้อผิดพลาด: {e}")
def get_user_info(self, token):
try:
headers = self.headers_template.copy()
headers['authorization'] = token
response = [Link](f"{self.base_url}/users/@me", headers=headers)
if response.status_code == 200:
return [Link]()
return None
except:
return None
def get_server_invite_info(self, invite_code):
try:
response = [Link](f"{self.base_url}/invites/{invite_code}")
if response.status_code == 200:
data = [Link]()
return {
'server_name': data['guild']['name'],
'server_id': data['guild']['id'],
'invite_code': invite_code
}
return None
except:
return None
def get_invite_code_from_url(self, invite_url):
# Extract invite code from various Discord invite formats
patterns = [
r'discord\.gg/([a-zA-Z0-9]+)',
r'discord\.com/invite/([a-zA-Z0-9]+)',
r'invite/([a-zA-Z0-9]+)'
]
for pattern in patterns:
match = [Link](pattern, invite_url)
if match:
return [Link](1)
return None
def get_server_input(self):
print(f"\n{[Link]}[+] กรุณาใส่ลิงก์เชิญเซิร์ฟเวอร์ ([Link]/...) หรือ
Server ID")
server_input = input(f"{[Link]}[INPUT] ลิงก์/ID: {Style.RESET_ALL}")
if '[Link]' in server_input or '[Link]' in server_input:
invite_code = self.get_invite_code_from_url(server_input)
if invite_code:
server_info = self.get_server_invite_info(invite_code)
if server_info:
print(f"{[Link]}[✓] เซิร์ฟเวอร์:
{server_info['server_name']}")
self.server_invite = invite_code
return True
else:
print(f"{[Link]}[✗] ไม่สามารถดึงข้อมูลเซิร์ฟเวอร์ได้")
return False
else:
print(f"{[Link]}[✗] รูปแบบลิงก์ไม่ถูกต้อง")
return False
else:
self.server_id = server_input.strip()
print(f"{[Link]}[✓] Server ID: {self.server_id}")
return True
async def join_server_with_token(self, session, token, invite_code=None,
server_id=None):
headers = self.headers_template.copy()
headers['authorization'] = token
try:
if invite_code:
# Method 1: Use invite
json_data = {"session_id": self.generate_session_id()}
async with [Link](f"{self.base_url}/invites/{invite_code}",
headers=headers, json=json_data) as response:
result = await [Link]()
if [Link] in [200, 201, 204]:
return True, "Joined via invite"
else:
return False, f"Error {[Link]}: {result}"
else:
# Method 2: Direct server join (requires more setup)
# This is more complex and may require additional headers
return False, "Direct server join not implemented"
except Exception as e:
return False, f"Exception: {str(e)}"
def generate_session_id(self):
return ''.join([Link](string.ascii_letters + [Link], k=32))
async def join_all_servers(self):
if not [Link]:
print(f"{[Link]}[✗] ไม่มี Token สำหรับใช้จอย")
return
print(f"\
n{[Link]}╔══════════════════════════════════════════════════════════════╗")
print(f"{[Link]}║{[Link]} เริ่มกระบวนการจอย
เซิร์ฟเวอร์🥛 ║")
print(f"{[Link]}╚══════════════════════════════════════════════════════════════
╝")
async with [Link]() as session:
tasks = []
for i, token in enumerate([Link]):
task = self.join_server_with_token(session, token, getattr(self,
'server_invite', None))
[Link](task)
results = await [Link](*tasks)
success_count = 0
for i, (success, message) in enumerate(results):
status = f"{[Link]}[✓]" if success else f"{[Link]}[✗]"
print(f"{status} Token {i+1}: {message}")
if success:
success_count += 1
print(f"\
n{[Link]}╔══════════════════════════════════════════════════════════════╗")
print(f"{[Link]}║{[Link]} สรุปผลการจอย
เซิร์ฟเวอร์🥛 ║")
print(f"{[Link]}╚══════════════════════════════════════════════════════════════
╝")
print(f"{[Link]}[+] จอยสำเร็จ: {success_count}/{len([Link])}")
print(f"{[Link]}[+] เวลาที่ใช้: {[Link]() - self.start_time:.2f}
วินาที")
def run(self):
self.print_banner()
self.get_tokens_input()
self.display_token_info()
if not self.get_server_input():
return
self.start_time = [Link]()
print(f"\n{[Link]}[!] เริ่มจอยเซิร์ฟเวอร์ด้วย {len([Link])}
Token...")
print(f"{[Link]}[!] กด Ctrl+C เพื่อหยุด")
try:
[Link](self.join_all_servers())
except KeyboardInterrupt:
print(f"\n{[Link]}[!] ถูกยกเลิกโดยผู้ใช้")
except Exception as e:
print(f"\n{[Link]}[!] ข้อผิดพลาด: {e}")
if __name__ == "__main__":
joiner = TokenJoinerSupreme()
[Link]()