discord v13으로 discord 서버용 환영 메시지 봇 구축

This tutorial requires basic knowledge on how to use discord, what is guild, channel and discord.js



Discord.js은 Discord API와 매우 쉽게 상호 작용할 수 있는 강력한 Node.js 모듈입니다. 대부분의 다른 JS Discord 라이브러리보다 훨씬 더 객체 지향적인 접근 방식을 취하므로 봇의 코드를 훨씬 더 깔끔하고 이해하기 쉽게 만듭니다.

유용성, 일관성 및 성능은 discord.js의 핵심 초점이며 Discord API를 거의 100% 커버합니다. API에 도착한 직후 새로운 Discord 기능을 받습니다.

discord.js가 말했듯이 discord.js는 discord 봇 관련 항목에 대해 가장 많은 전투 테스트를 거쳤으며 Intents, Guild 및 Member 관련 이벤트 등과 같은 많은 기능을 포함합니다.

이제 길드에 환영 메시지 discord 봇을 설정하는 방법을 소개합니다. 일반적으로 discord 서버라고합니다.

Node.js 설치



Node.js v16 이상을 권장하며, here for v16.13.2 LTS 기반 테스트 워크플로에서 직접 지원하기 때문에 Discord test workflow 을 다운로드할 수 있으므로 Node.js v16 이상을 사용하는 것이 훨씬 안전합니다.

NPM으로 프로젝트 초기화



discord 봇에 필요한 종속성을 설치하기 전에 먼저 npm으로 봇용 프로젝트를 초기화해야 합니다.

cd project-directory
npm init -y 
# -y is recommended for tutorial purpose 😄 DO NOT COPY THIS LINE.


종속성 설치



코딩을 시작하기 전에 discord.js을 설치하여 시작할 수 있으며 로컬 개발을 위해 dotenv을 설치하고 프로덕션을 위해 dotenv을 사용할 수 있지만 환경 변수 자체라는 용어는 파일이 아닌 운영 체제에 저장해야 하기 때문에 권장하지 않습니다. , 변수 값의 예기치 않은 지속성을 유발할 수 있습니다.
  • discord.js 설치

  • npm install discord.js 
    


  • dotenv 설치

  • npm install dotenv
    


    용법



    discord.js 및 dotenv를 설치한 후 guildMemberAdd이라는 길드원 도착을 수신하는 이벤트가 있는 스크립트를 만들 수 있습니다.
  • 최신 ES 모듈의 경우 package.json에 type: "module"추가, 이유 why .

  • "type": "module"
    


    Get to know about ESM with the gist made by sindresorhus here


  • 이벤트 및 클라이언트 로그인 코드를 넣을 index.js 파일을 만듭니다.

  • // index.js - DO NOT COPY THIS LINE.
    import Discord from "discord.js";
    const client = new Discord.Client({
      intents: [
        Discord.Intents.FLAGS.GUILDS,
        Discord.Intents.FLAGS.GUILD_MEMBERS,
      ],
    });
    import dotenv from "dotenv";
    dotenv.config();
    
    client.on("ready", () => {
      console.log("Bot is ready.");
    });
    
    client.on("guildMemberAdd", (member) => {
      let channel = member.guild.channels.cache;
    
      let embed = new Discord.MessageEmbed()
        .setThumbnail(
          "https://your-image-url" // make sure to change this to your image
        )
        .addField(
          `:point_right: Welcome!`,
          `Hello, welcome to ${member.guild.name} <@${member.user.id}>!`,
          true
        )
        .addField(
          `:zap: Guild Statistics`,
          `Server member count: ${member.guild.memberCount}`,
          true
        )
        .setColor("YELLOW")
        .setImage(
          "https://your-image-url" // make sure to change this to your image
        );
    
      channel
        .find((channel) => channel.id === process.env.CHANNEL_ID)
        .send({ embeds: [embed] });
    });
    
    client.login(process.env.DISCORD_TOKEN);
    


    ⚠️ Do not forget to enable your GUILD_MEMBERS intent flags, see here why


  • .env 파일 생성

  • ⚠️ 여기에는 봇 자격 증명이 포함되어 있으므로 함께 일하지 않는 사람과 공유하지 마십시오.

    DISCORD_TOKEN=
    CHANNEL_ID=
    


    DISCORD_TOKEN을 얻는 방법?



    This is little bit challenging for most developers who didn't know nothing about discord bot ecosystem before, also, this is important and the rules change sometimes, so you must have to get used to it. 😄



    이 튜토리얼에서는 처음부터 봇을 만드는 방법과 그 세부 사항에 대해 소개하지 않기 때문에 Discord 개발자 대시보드를 사용하여 이 tutorial을 찾아 봇 토큰을 가져와서 DISCORD_TOKEN=에 넣을 봇 토큰을 얻는 방법을 볼 수 있습니다. .env 파일.

    CHANNEL_ID를 얻는 방법?



    채널 ID를 얻으려면 채널을 마우스 오른쪽 버튼으로 클릭하고 "ID 복사"를 클릭한 다음 .env 파일의 CHANNEL_ID= 안에 붙여넣으십시오.


    Discord.js에는 많은 유용한 유틸리티가 있지만 v13부터는 따라야 할 변경 사항이 많지만 그럼에도 불구하고 봇을 만들고 관리하는 데 사용할 수 있는 멋진 라이브러리입니다.

    읽어 주셔서 감사합니다!

    좋은 웹페이지 즐겨찾기