DJS V14 Embed Bot

FrianSyS

Banned
Katılım
28 Ağu 2024
Mesajlar
995
Beğeniler
351
Yaş
15
İletişim
Bu kullanıcıyla herhangi bir iş veya ticaret yapmak istiyorsanız, forumdan uzaklaştırıldığını sakın unutmayın.
Sıradan bir embed bot. Doğru kullanıma göre istediğiniz her şey yapılır.

JavaScript:
const { Client, GatewayIntentBits, EmbedBuilder } = require('discord.js');
const { REST } = require('@discordjs/rest');
const { Routes } = require('discord-api-types/v9');

const client = new Client({ intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildMessages, GatewayIntentBits.MessageContent] });
const TOKEN = ''; // token

client.once('ready', () => {
    console.log(`Bot ${client.user.tag} olarak giriş yaptı.`);
});

client.on('interactionCreate', async (interaction) => {
    if (!interaction.isCommand()) return;

    const { commandName, options } = interaction;

    if (commandName === 'embed') {
        const title = options.getString('title') || '';
        const message = options.getString('message').replace(/\\n/g, '\n');
        const image = options.getString('image');

        let embed = new EmbedBuilder()
            .setTitle(title)
            .setColor('#3498db');

        if (message.includes('```')) {
            const parts = message.split('```');
            const description = parts[0];
            const codeBlock = parts[1];

            embed.setDescription(description)
                .addFields({ name: '', value: `\`\`\`${codeBlock}\`\`\``, inline: false });
        } else {
            embed.setDescription(message);
        }

        if (image) {
            embed.setImage(image);
        }

        console.log(embed);

        await interaction.reply({ embeds: [embed] });
    }
});

const commands = [
    {
        name: 'embed',
        description: 'Embed mesajı gönderir.',
        options: [
            {
                name: 'title',
                type: 3,
                description: 'Başlık',
                required: true,
            },
            {
                name: 'message',
                type: 3,
                description: 'Mesaj içeriği',
                required: true,
            },
            {
                name: 'image',
                type: 3,
                description: 'Görsel URL\'si',
                required: false,
            },
        ],
    },
];

const rest = new REST({ version: '9' }).setToken(TOKEN);

(async () => {
    try {
        console.log('Komutlar kaydediliyor...');
        await rest.put(Routes.applicationCommands(''), { body: commands }); //sunucu id
        console.log('Komutlar başarıyla kaydedildi.');
    } catch (error) {
        console.error(error);
    }
})();

client.login(TOKEN);

image.png


/embed message: **Ürün Bilgileri**\n```Supported:\n・Windows 10/11\n・HVCI ON (Çekirdek yalıtımı açık)\n\nÖzellikler:\nVISUALS:\n・2D Box\n・Name ESP\n・Health Bar\n・Head Dot\n・Held Item\n・Team Filter\n・Recoil Crosshair\n・All Trap ESP\n\nFiyatlar:\n・Daily: 170TL\n\nÖdeme Yöntemleri:\n・Papara\n・IBAN``` image:
 

  Şuanda konuyu görüntüleyen kullanıcılar


Üst Alt