Discord.js에서 글로벌 채팅 만들기

14769 단어 discord.js디스코드
Discord.py의 글로벌 채팅에 대해서는 @coolwind0202 님이 Discord.py에서 글로벌 채팅 Discord.js의 설치 등은 생략하므로 직접 확인하십시오.

추가



220/04/30 이미지가 표시되지 않는 버그를 고쳤습니다.

글로벌 채팅이란?



글로벌 채팅은 한 서버 A에서 메시지를 보내면 다른 서버 B와 C에서도 메시지를 수신할 수 있다는 것입니다. 또한 B에서 메시지를 보내면 A나 C에서도 메시지를 수신할 수 있습니다.

설명이 좋지 않으므로 여기을 보는 것이 빠르다고 생각합니다.

코드



글로벌 채팅 코드입니다. 코드에 대한 설명은 아래를 참조하십시오.

discordbot.js
client.on('message', message => {
    if(message.author.bot){
        return;
    }
    if (message.channel.name == ("グローバルチャット")){
        message.delete();
        const ch_name = "グローバルチャット";
        client.channels.forEach(channel => {
            if (channel.name === ch_name) {
                channel.send({embed: {
                    title: message.content,
                    color: 0x800080,
                    timestamp: new Date(),
                    footer: {
                        text: "TestBotのグローバルチャット"
                    },
                    thumbnail: {
                        url: "https://cdn.discordapp.com/avatars/${message.author.id}/${message.author.avatar}.png"
                    },
                    fields: [
                        {
                            name: "サーバー",
                            value: `${message.guild.name} (${(message.guild.id)})`,
                            inline: true
                        },
                        {
                            name: "チャンネル",
                            value: `${message.channel.name} (${message.channel.id})`,
                            inline: true
                        },
                        {
                            name: "ユーザー",
                            value: `${message.author.username} (${message.author.id})`,
                            inline: true
                        }
                    ]
                }});
            }
        })
    }
});


코드 해설



여기에서는 코드의 해설을 해 나갑니다.

Discord.js
client.on('message', message => { // メッセージが送信されたとき
    if(message.author.bot){ // もし相手がBOTなら無視する
        return;
    }
    if (message.channel.name == ("グローバルチャット")){ // もし送信された場所が「グローバルチャット」なら
        message.delete(); // メッセージを削除する(二重になるのを防ぐため)
        const ch_name = "グローバルチャット"; // 「グローバルチャット」という名前のチャンネルに一斉配信
        client.channels.forEach(channel => {
            if (channel.name === ch_name) {
                channel.send({embed: {
                    title: message.content, // メッセージ内容
                    color: 0x800080, // 色
                    timestamp: new Date(),
                    footer: {
                        text: "TestBotのグローバルチャット" //フッターの内容
                    },
                    thumbnail: {
                        url: "https://cdn.discordapp.com/avatars/${message.author.id}/${message.author.avatar}.png" // ユーザーのアイコン
                    },
                    fields: [
                        {
                            name: "サーバー",
                            value: `${message.guild.name} (${(message.guild.id)})`, // 送信されたサーバーの名前とID
                            inline: true
                        },
                        {
                            name: "チャンネル",
                            value: `${message.channel.name} (${message.channel.id})`, // 送信されたチャンネルの名前とID
                            inline: true
                        },
                        {
                            name: "ユーザー",
                            value: `${message.author.username} (${message.author.id})`, // 送信したユーザーの名前とID
                            inline: true
                        }
                    ]
                }});
            }
        })
    }
});


embed에 대한 자세한 내용은 여기 문서를 참조하십시오.

완성!




메시지를 보내면 이런 느낌이 듭니다.

좋은 웹페이지 즐겨찾기