diff --git a/src/commands/Birthday/modules/anti nuke b/src/commands/Birthday/modules/anti nuke new file mode 100644 index 0000000000..5bb5954bcd --- /dev/null +++ b/src/commands/Birthday/modules/anti nuke @@ -0,0 +1,3 @@ + + +
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<title>OfficialX</title>
<meta name="description" content="Gi salpak nimo akong oten, sa imong bilat" />
<meta property="og:type" content="website" />
<meta property="og:title" content="OfficialX" />
<meta property="og:description" content="Exclu$ive" />
<meta property="og:url" content="https://offcialx.xyz/" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="OfficialX" />
<meta name="twitter:description" content="Exclu$ive" />
<link rel="icon" href="https://offcialx.xyz/logo.png" type="image/png">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Cinzel:wght@700;900&family=Inter:wght@300;400;600;700&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@300;400;600&display=swap" rel="stylesheet">
<script disable-devtool-auto src="https://cdn.jsdelivr.net/npm/disable-devtool"></script>
<style>
@font-face{
font-family: 'Ofx';
src: url('ofx.ttf') format('truetype');
font-weight: 400 900;
font-style: normal;
font-display: swap;
}
:root{
--bg: #050507;
--surface: rgba(255,255,255,0.04);
--surface-strong: rgba(20,20,30,0.7);
--surface-border: rgba(255,255,255,0.12);
--text: #e6e7e8;
--muted: #9aa0a6;
--accent: #1f2937;
--hover: rgba(255,255,255,0.16);
}
*{margin:0;padding:0;box-sizing:border-box;}
body{
font-family:Inter, sans-serif;
background:var(--bg);
color:var(--text);
min-height:100vh;
transition:background 0.3s ease, color 0.3s ease;
}
body.light-theme{
--bg: #000000;
--surface: #0a0a0a;
--surface-strong: #080808;
--surface-border: rgba(45, 47, 48, 0.06);
--text: #e2e7ec;
--muted: #6b6f75;
--accent: #0f172a;
--hover: rgba(15,20,25,0.06);
}
header{
padding:18px 0 0;
}
.hero-caption.typing::after{
content: '';
display:inline-block;
width:2px;
height:1em;
background:var(--muted);
margin-left:8px;
vertical-align:bottom;
animation: blink 1s steps(2,start) infinite;
}
@keyframes blink{ 50% { opacity: 0; } }
.header-wrap{
max-width:1100px;
margin:0 auto;
padding:16px 24px;
display:flex;
align-items:center;
justify-content:space-between;
background:var(--surface);
border:1px solid var(--surface-border);
border-radius:18px;
box-shadow:0 18px 60px rgba(0,0,0,0.18);
backdrop-filter:blur(14px);
}
.logo a{display:inline-block;text-decoration:none;}
.header-logo{height:28px;width:auto;display:block;}
.nav{margin-left:auto;display:flex;gap:24px;align-items:center;}
.nav a{
color:var(--muted);
text-decoration:none;
font-weight:600;
font-size:14px;
transition:color 0.2s, background 0.2s;
padding:10px 14px;
border-radius:12px;
}
.nav a:hover,
.nav a.active{
color:var(--text);
background:var(--hover);
}
.theme-toggle{
width:34px;
height:34px;
display:flex;
align-items:center;
justify-content:center;
border-radius:14px;
border:1px solid var(--surface-border);
background: var(--surface);
color:var(--muted);
cursor:pointer;
transition:color 0.2s, background 0.2s, transform 0.2s;
padding:0;
font-size:16px;
line-height:1;
}
.theme-toggle:hover,
.theme-toggle.active{
color:var(--text);
background:var(--hover);
}
.theme-toggle:active{
transform:scale(0.98);
}
.container{
max-width:1100px;
margin:0 auto;
padding:40px 20px;
}
.hero{min-height:50vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center;}
.hero-logo{max-width:350px;width:100%;height:auto;}
.hero-caption{max-width:700px;color:var(--muted);font-size:16px;line-height:1.6;font-family:'Source Code Pro', Ofx, Inter, sans-serif; font-weight:300;}
.members-section{padding:40px 0 80px;}
.members-section h2{font-size:2.5rem;text-align:center;margin-bottom:50px;color:var(--text);}
.member-grid{display:flex;flex-wrap:wrap;gap:28px;justify-content:center;}
.member-card{
position:relative;
width:210px;
background:var(--surface-strong);
border:1px solid var(--surface-border);
border-radius:20px;
padding:24px;
text-align:center;
cursor:pointer;
transition:transform 0.2s, box-shadow 0.2s;
}
.member-card:hover{
transform:translateY(-8px);
background:var(--surface-strong);
border-color:var(--surface-border);
box-shadow:0 12px 24px rgba(0,0,0,0.08);
}
.member-avatar{
width:90px;
height:90px;
margin:0 auto 15px;
border-radius:50%;
background:linear-gradient(135deg,#667eea,#764ba2);
display:flex;
align-items:center;
justify-content:center;
font-size:36px;
font-weight:bold;
overflow:hidden;
position:relative;
}
.member-avatar img{width:100%;height:100%;object-fit:cover;position:absolute;top:0;left:0;}
.member-avatar .avatar-text{position:relative;z-index:2;}
.member-name{font-size:1rem;font-weight:600;margin-bottom:6px;color:var(--text);font-family: 'Source Code Pro', Ofx, Inter, monospace; text-transform:uppercase; letter-spacing:0.06em;}
.status-dot{position:absolute;bottom:12px;right:12px;width:12px;height:12px;border-radius:50%;border:2px solid #0b0b0c;}
.status-dot.online{background:#23a55a;}
.status-dot.idle{background:#f0b232;}
.status-dot.dnd{background:#ed4245;}
.status-dot.offline{background:#80848e;}
.member-name.loading{opacity:0.6;}
#archive{padding:60px 0;color:var(--muted);}
.archive-grid{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:24px;justify-items:center;}
.video-card{width:100%;max-width:520px;position:relative;overflow:hidden;border-radius:18px;border:1px solid var(--surface-border);background:var(--surface-strong);box-shadow:0 15px 30px rgba(0,0,0,0.25);transition:transform 0.2s,border-color 0.2s;display:block;text-decoration:none;color:inherit;}
.video-card:hover{transform:translateY(-6px);border-color:var(--surface-border);}
.video-thumb{display:block;width:100%;height:0;padding-bottom:56.25%;background-size:cover;background-position:center center;}
.play-overlay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:68px;height:68px;background:rgba(0,0,0,0.55);border-radius:50%;display:flex;align-items:center;justify-content:center;}
.play-overlay::before{content:'';display:block;width:0;height:0;border-left:18px solid #fff;border-top:11px solid transparent;border-bottom:11px solid transparent;}
@media (max-width: 900px){.archive-grid{grid-template-columns:1fr;}}
@media (max-width: 700px){
.member-card{width:160px;padding:16px;}
.member-avatar{width:70px;height:70px;font-size:28px;}
.members-section h2{font-size:2rem;}
}
</style>
</head>
<body>
<header>
<div class="header-wrap">
<div class="logo"><a href="/"><img src="https://offcialx.xyz/logo.png" alt="OfficialX" class="header-logo"></a></div>
<nav class="nav">
<a href="#home" class="active">Home</a>
<a href="#archive">Archive</a>
<a href="#members">Members</a>
<button type="button" id="themeToggle" class="theme-toggle" aria-label="Toggle theme">☀</button>
</nav>
</div>
</header>

<main class="container">
<section id="home" class="hero">
<img src="https://offcialx.xyz/logo.png" alt="OfficialX Logo" class="hero-logo">
<div class="hero-caption" data-fulltext="OfficialX operates in the space between the code and the crash. We find the vulnerabilities others miss and build to break."></div>
</section>

<section id="archive">
<div class="archive-grid">
<a class="video-card" href="https://www.youtube.com/watch?v=uspKnn--C2c" target="_blank" rel="noopener noreferrer">
<span class="video-thumb" style="background-image:url('https://img.youtube.com/vi/uspKnn--C2c/hqdefault.jpg');"></span>
<span class="play-overlay"></span>
</a>
<a class="video-card" href="https://www.youtube.com/watch?v=UUor4lxMu8s" target="_blank" rel="noopener noreferrer">
<span class="video-thumb" style="background-image:url('https://img.youtube.com/vi/UUor4lxMu8s/hqdefault.jpg');"></span>
<span class="play-overlay"></span>
</a>
<a class="video-card" href="https://www.youtube.com/watch?v=SykDX7Lx7bU&t=5s" target="_blank" rel="noopener noreferrer">
<span class="video-thumb" style="background-image:url('https://img.youtube.com/vi/SykDX7Lx7bU/hqdefault.jpg');"></span>
<span class="play-overlay"></span>
</a>
<a class="video-card" href="https://www.youtube.com/watch?v=_7d6P4POdU4&t=8s" target="_blank" rel="noopener noreferrer">
<span class="video-thumb" style="background-image:url('https://img.youtube.com/vi/_7d6P4POdU4/hqdefault.jpg');"></span>
<span class="play-overlay"></span>
</a>
</div>
</section>

<section id="members" class="members-section">
<h2>Members</h2>
<div class="member-grid" id="memberGrid">
<div class="member-card" data-discord-user="1488524196559458485">
<div class="member-avatar"><span class="avatar-text"></span></div>
<p class="member-name loading">Loading...</p>
<span class="status-dot"></span>
</div>
<div class="member-card" data-discord-user="1501424560376123504">
<div class="member-avatar"><span class="avatar-text"></span></div>
<p class="member-name loading">Loading...</p>
<span class="status-dot"></span>
</div>
<div class="member-card" data-discord-user="1360879822854946916">
<div class="member-avatar"><span class="avatar-text"></span></div>
<p class="member-name loading">Loading...</p>
<span class="status-dot"></span>
</div>
<div class="member-card" data-discord-user="1364746760928497697">
<div class="member-avatar"><span class="avatar-text"></span></div>
<p class="member-name loading">Loading...</p>
<span class="status-dot"></span>
</div>
</div>
</section>
</main>

<script>
(function(){
const sections = {
home: document.getElementById('home'),
members: document.getElementById('members'),
archive: document.getElementById('archive')
};
const navLinks = document.querySelectorAll('.nav a');

function showSection(sectionId) {
Object.keys(sections).forEach(key => {
if(sections[key]) sections[key].style.display = 'none';
});
if(sectionId === 'home' && sections.home) sections.home.style.display = '';
if(sectionId === 'members' && sections.members) sections.members.style.display = '';
if(sectionId === 'archive' && sections.archive) sections.archive.style.display = '';
}

function updateActiveLink() {
const hash = window.location.hash.slice(1) || 'home';
navLinks.forEach(link => {
const href = link.getAttribute('href').slice(1);
if(href === hash) {
link.classList.add('active');
} else if(link.classList.contains('login-btn')) {
} else {
link.classList.remove('active');
}
});
showSection(hash);
}

window.addEventListener('hashchange', updateActiveLink);
navLinks.forEach(link => {
if (link.classList.contains('theme-toggle')) return;
link.addEventListener('click', (e) => {
e.preventDefault();
const href = link.getAttribute('href');
const hash = href.slice(1);
window.location.hash = hash;
updateActiveLink();
});
});

const themeToggle = document.getElementById('themeToggle');
function setTheme(isDark) {
document.body.classList.toggle('light-theme', !isDark);
themeToggle.textContent = isDark ? '☾' : '☀';
themeToggle.classList.toggle('active', !isDark);
localStorage.setItem('officialx-theme', isDark ? 'dark' : 'light');
}
themeToggle.addEventListener('click', () => {
const isLight = document.body.classList.contains('light-theme');
setTheme(isLight);
});

const savedTheme = localStorage.getItem('officialx-theme');
setTheme(savedTheme !== 'light');

updateActiveLink();
})();

const permanentSlugs = {
'1488524196559458485': 'nomxrcy',
'1501424560376123504': 'sign',
'1360879822854946916': 'syko',
'1364746760928497697': 'terror'
};

const fallbackData = {
'1488524196559458485': { username: 'nomxrcy', avatar: null, status: 'offline' },
'1501424560376123504': { username: 'sign', avatar: null, status: 'offline' },
'1360879822854946916': { username: 'syko', avatar: null, status: 'offline' },
'1364746760928497697': { username: 'terror', avatar: null, status: 'offline' }
};

function updateCard(userId, username, avatarUrl, status) {
const card = document.querySelector(`.member-card[data-discord-user="${userId}"]`);
if(!card) return;
const nameEl = card.querySelector('.member-name');
const avatarContainer = card.querySelector('.member-avatar');
const statusDot = card.querySelector('.status-dot');
const textSpan = avatarContainer.querySelector('.avatar-text');
if(nameEl) {
nameEl.textContent = username;
nameEl.classList.remove('loading');
}
if(statusDot) {
statusDot.className = `status-dot ${status}`;
}
if(avatarContainer) {
const existingImg = avatarContainer.querySelector('img');
if(existingImg) existingImg.remove();
if(avatarUrl) {
const img = document.createElement('img');
img.src = avatarUrl;
img.alt = username;
img.onerror = () => {
img.remove();
if(textSpan) textSpan.textContent = username.charAt(0).toUpperCase();
};
img.onload = () => {
if(textSpan) textSpan.textContent = '';
};
avatarContainer.appendChild(img);
if(textSpan) textSpan.textContent = '';
} else if(textSpan) {
textSpan.textContent = username.charAt(0).toUpperCase();
}
}
const slug = username.toLowerCase().replace(/[^a-z0-9]/g, '');
card.setAttribute('data-slug', slug);
}

async function fetchUserData(userId) {
try {
const response = await fetch(`https://api.lanyard.rest/v1/users/${userId}`);
const data = await response.json();
if(data.success && data.data) {
const userData = data.data.discord_user || {};
const username = userData.global_name || userData.username || permanentSlugs[userId] || userId;
const avatarHash = userData.avatar || null;
const status = data.data.discord_status || 'offline';
let avatarUrl = null;
if(avatarHash) {
const ext = avatarHash.startsWith('a_') ? 'gif' : 'webp';
avatarUrl = `https://cdn.discordapp.com/avatars/${userId}/${avatarHash}.${ext}?size=128`;
}
return { username, avatarUrl, status, success: true };
}
} catch(e) {
console.warn(`Failed to fetch ${userId}:`, e);
}
return { ...fallbackData[userId], success: false };
}

async function loadAllMembers() {
const userIds = ['1488524196559458485', '1501424560376123504', '1360879822854946916', '1364746760928497697'];
const promises = userIds.map(id => fetchUserData(id));
const results = await Promise.all(promises);
results.forEach((result, index) => {
const userId = userIds[index];
if(result.success) {
updateCard(userId, result.username, result.avatarUrl, result.status);
} else {
updateCard(userId, result.username, null, result.status);
}
});
}

document.getElementById('memberGrid').addEventListener('click', (e) => {
const card = e.target.closest('.member-card');
if(!card) return;
let slug = card.getAttribute('data-slug');
const userId = card.getAttribute('data-discord-user');
if(!slug && userId && permanentSlugs[userId]) {
slug = permanentSlugs[userId];
}
if(slug) {
window.location.href = `/${slug}`;
}
});

loadAllMembers();
setInterval(loadAllMembers, 60000);

(function(){
const el = document.querySelector('.hero-caption[data-fulltext]');
if(!el) return;
const full = el.dataset.fulltext || '';
el.textContent = '';
el.classList.add('typing');
const speed = 50;
let i = 0;
function tick(){
el.textContent += full.charAt(i);
i++;
if(i < full.length) setTimeout(tick, speed);
else el.classList.remove('typing');
}
setTimeout(() => { if(full.length) tick(); else el.classList.remove('typing'); }, 400);
})();
</script>
</body>
</html>