const { createEmbed } = require('../utils/embeds'); const { Colors } = require('../config'); const { stmts } = require('../database'); /** * Send the disclaimer embed to ⚠️・disclaimer channel. */ async function sendDisclaimerEmbed(client) { const row = stmts.getState.get('channel_⚠️・disclaimer'); if (!row) throw new Error('Disclaimer channel not found in bot state.'); const channel = await client.channels.fetch(row.value); if (!channel) throw new Error('Could not fetch disclaimer channel.'); // Fetch the @@ Owner role for a proper mention const guild = channel.guild; const ownerRole = guild.roles.cache.find(r => r.name === '@@ Owner'); const ownerMention = ownerRole ? `<@&${ownerRole.id}>` : '**Server Owner**'; const embed = createEmbed({ title: '🔴 Disclaimer 🔴', description: [ '> **Wyvern Softworks** and all associated contributors do **NOT** endorse or support any form of cheating, unlawful activity, or malicious conduct.\n', '```', 'Our server provides source code and resources for', 'penetration testing tools and security research,', 'intended strictly for educational purposes and', 'authorized testing in controlled environments.', '```\n', '> All materials shared within this server are provided **as-is** for learning and development purposes only. Users are solely responsible for how they use the resources provided.\n', '**By joining this server, you acknowledge and agree that:**', '• You will use all resources **legally and ethically**', '• You will **not** use any tools for unauthorized access', '• You accept full responsibility for your own actions', '• Wyvern Softworks bears **no liability** for misuse\n', '━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━', '> **Wyvern Softworks** is not affiliated with any game studio, publisher, or platform.', `> For legal inquiries or DMCA notices, contact the server ${ownerMention}.`, '━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━', ].join('\n'), color: 0xe74c3c, footer: 'Wyvern Softworks — Read before proceeding', }); await channel.send({ embeds: [embed] }); } /** * Send the rules embed to 📜・rules channel. */ async function sendRulesEmbed(client) { const row = stmts.getState.get('channel_📜・rules'); if (!row) throw new Error('Rules channel not found in bot state.'); const channel = await client.channels.fetch(row.value); if (!channel) throw new Error('Could not fetch rules channel.'); const embed = createEmbed({ title: '📜 Server Rules', description: [ '> Welcome to **Wyvern Softworks**. To maintain a safe and productive community, all members must follow these rules.\n', '**1.** 🤝 **Respect Everyone** — Treat all members with respect. No harassment, hate speech, racism, sexism, or personal attacks.', '**2.** 🚫 **No Spam** — Do not spam messages, emojis, images, or links in any channel.', '**3.** 🔇 **No NSFW Content** — Absolutely no NSFW, gore, or disturbing content anywhere in the server.', '**4.** 📛 **Appropriate Names** — Keep your username and nickname clean and appropriate.', '**5.** 📢 **No Self-Promotion** — Do not advertise other servers, products, or services without explicit permission from Staff.', '**6.** 🧠 **Use Channels Correctly** — Post content in the appropriate channels. Off-topic messages will be removed.', '**7.** 🔒 **No Leaking** — Do not share, redistribute, or leak any paid or exclusive content from this server.', '**8.** ⚖️ **No Illegal Activity** — Do not share, promote, or discuss anything that violates local or international law.', '**9.** 🛡️ **No Cheating Encouragement** — We provide pentesting tools for educational purposes only. Do not encourage or discuss using tools for cheating in live environments.', '**10.** 🤖 **No Alt Accounts** — Using alternate accounts to bypass bans or restrictions will result in a permanent ban.', '**11.** 👮 **Listen to Staff** — Staff decisions are final. If you disagree, open a ticket to appeal.', '**12.** 🎫 **Ticket System** — Use the ticket system for support. Do not DM staff directly unless asked.', '**13.** 🔊 **Voice Chat Etiquette** — No mic spamming, soundboards, or disruptive audio in voice channels.', '**14.** 💬 **English Only** — Please communicate in English in all public channels.', '**15.** 📎 **No Malicious Files** — Do not upload malware, viruses, IP loggers, or any harmful files.', '**16.** 📖 **Follow Discord ToS** — All members must abide by Discord\'s Terms of Service and Community Guidelines at all times.\n', '━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━', '> **Violating any of the above rules may result in a mute, kick, or permanent ban at the discretion of Staff.**\n', '🔗 **Discord Terms of Service**', '[Terms of Service](https://discord.com/terms)', '[Community Guidelines](https://discord.com/guidelines)', '[Privacy Policy](https://discord.com/privacy)', ].join('\n'), color: 0x9b59b6, footer: 'Wyvern Softworks — Last updated ' + new Date().toLocaleDateString('en-US', { month: 'long', year: 'numeric' }), }); await channel.send({ embeds: [embed] }); } module.exports = { sendDisclaimerEmbed, sendRulesEmbed };