Node 및 Discord를 사용하여 Discord Bot 구축 및 배포js는 5분 안에

12158 단어 discordbotjavascript
처음에 here at xtrp.io을 발표했는데 이것은 자바스크립트, CSS, 그리고 모든 프로그래밍에 관한 블로그이다.
제목은 매체와 다른 매체가 사용하는 것처럼 읽는 시간이 분당 265개라고 가정한다.
Discord 로봇은 음성 채팅에서 음악을 틀거나 유튜브에서 새로운 동영상을 발표할 때 자동으로 공지를 보내는 등 많은 일을 할 때 유용하다.
나는 몇 개의 Discord 서버에서 활발하게 활동하며 줄곧 자신의 Discord 로봇을 구축하고 싶었다.내 자신의 로봇을 구축하고 배치하고 사용한 지 한 달여가 지난 후에 나는 이 글을 써서 기본 로봇을 구축하는 출발점으로 삼아 거기서부터 시작했다.
우리는 수학 방정식을 풀기 위해 매우 간단한 일을 할 수 있는 로봇을 구축할 것이다.사용자는 !solve [math equation]처럼 보이는 모든 채널에서 메시지를 보내고 계산 결과가 있는 응답을 받을 수 있습니다.예:

책을 읽기 전에, 너는 마땅히 다음과 같이 해야 한다.

  • 은 기본 JavaScript 및 노드를 이해합니다.js(노드 및 NPM 설치)
  • 에 불협화음 계정이 있습니다. (here 만들기)
  • 1. 비협조적인 API 어플리케이션 및 Bot 만들기


    discord.com/developers/applications으로 이동하고 오른쪽 상단의 "새 응용 프로그램"을 누르십시오.응용 프로그램을 Solver Bot이라고 부릅니다.

    응용 프로그램을 만들면 Discord API에 연결할 수 있는 유일한 API 키를 얻을 수 있으며,bot을 만들고, 이bot로 메시지를 보내고 받을 수 있습니다.
    이제 오른쪽 사이드바에서 로봇 탭을 클릭한 다음 로봇 추가 를 클릭합니다.

    로컬 컴퓨터에서 파일을 가져와서 로봇에 프로필 그림을 추가합니다.
    나는 download here을 사용할 수 있는 아이콘을 사용할 것이다. (이 아이콘은 CC0이 권한을 부여한 것이기 때문에 귀인할 필요가 없다.)

    2. 당신의 로봇을 서버에 추가!


    이제 로봇 계정으로 Discord API 응용 프로그램을 만들었습니다. 로봇을 서버에 추가할 수 있습니다.나는 네가 스스로 서버를 만들어서 너의 로봇을 테스트할 것을 건의한다.
    로봇을 서버에 추가하려면 조화롭지 못한 OAuth2 URL이 필요합니다.이 URL을 열면 모든 Discord 사용자가 로봇을 소유한 서버에 추가하고 권한을 부여할 수 있습니다.
    URL을 생성하려면 OAuth2 탭을 엽니다.
    체크 상자 격자를 볼 수 있습니다. 여기서 "bot"옵션을 선택하십시오.다른 격자가 나타날 것입니다. 여기에서bot 권한을 선택할 것입니다.이 기본적인 로봇에 대해 우리는 정보를 관리하고 읽기만 하면 된다.

    선택한 옵션을 지정하면 Discord가 자동으로 OAuth2 URL을 생성합니다. 첫 번째 격자 아래의 입력 상자에서 볼 수 있습니다.URL은 https://discord.com/oauth2/...처럼 보입니다.
    URL 복사 및 열기 시도!로봇을 보유한 모든 서버에 추가할 수 있어야 합니다.

    3. Node와 Discord를 사용하여 로봇을 만드는 기능회사 명


    Node에서 bot 기능을 구축하겠습니다.
    컴퓨터에 discord-solver-bot이라는 새 폴더를 만듭니다.
    터미널이나 명령줄에서 이 폴더로 이동하여 npm init을 실행하고 필요할 때 필요한 상세한 정보를 추가합니다.
    이제 의존항을 추가합시다.연결을 단순화하고 Discord API를 사용하는 패키지인 Discord.js을 사용합니다.수학 방정식을 풀기 위해서 우리는 유용한 Equations 모듈을 사용할 것이다.npm install discord.js equations --save을 실행하여 이러한 패키지를 설치합니다.
    알겠습니다. 이제 폴더에 index.js 파일을 만들고 코드를 작성할 수 있습니다.

    우리는 필요한 가방을 가져오는 것부터 시작할 수 있다.
    const Discord = require('discord.js');
    const Equation = require('equations').default; // .default to fix a problem I encountered while importing without it
    

    로봇 토큰을 사용하여 로봇에 연결하고 Discord에 로그인


    Discord를 사용하여 로봇에 연결합니다.js, 우리는 불협화음을 초기화합니다.Discord API에 연결된 js 클라이언트 객체입니다.
    클라이언트의bot로 로그인하려면bot영패가 필요합니다.개발자 포털 > 로봇 > 영패 > 복제 중인 응용 프로그램에 들어가서 영패를 복제합니다.
    현재, 우리는 클라이언트 login 함수를 호출하여 복사된 영패를 전달함으로써bot에 로그인할 수 있습니다.
    const client = new Discord.Client();
    client.login("[your bot token here]");
    

    Don't share your bot token with anyone else. It can be used to take complete control over your bot.


    로봇이 로그인되어 있는지 확인


    로봇이 로그인하여 Discord에서 작업을 수행할 준비가 되었는지 확인하려면 클라이언트 ready 이벤트를 사용하십시오.
    client.on('ready', async () => {
      console.log(`Logged in successfully as bot!`);
    });
    
    node index.js을 실행하여bot을 실행해 보십시오.로봇이 로그인한 것을 보셔야 합니다.Discord에서는 로봇이 온라인으로 표시되는 것도 볼 수 있습니다.

    메시지에 귀를 기울이고 응답


    사용자가bot가 있는 모든 서버의 어느 위치에서든 메시지를 보낼 때 클라이언트 message 이벤트를 사용합니다.이 이벤트는 content(메시지의 텍스트 내용) 속성 등을 포함하는 메시지 대상을 첨부합니다.
    이 대상은 또한 .reply 방법으로 당신의 로봇이 메시지를 보내는 사용자에게 직접 답장을 할 수 있습니다.
    일반적으로 우리가 찾는 소식은 !solve [equation here]처럼 보인다.
    그래서 우리가 해야 할 일은 소식이'!해답을 구하고 뒤에 쓴 방정식을 구해라.우리는 각각 자바스크립트 문자열 .startsWith.slice 함수를 사용하여 이 점을 실현할 수 있다.
    방정식을 풀기 위해 equations 소프트웨어 패키지는 .solve 함수로 주어진 방정식을 풀었다.만약 방정식이 무효라면, .solve은 오류를 던질 것입니다. 우리는 이 오류를 포착해서 방정식이 해답을 구할 수 없습니다.
    이 코드는 다음과 같습니다.
    client.on('message', (msg) => {
        msg.content = msg.content.trim(); // remove extra whitespace
        const flag = '!solve ';
        if (msg.content.startsWith(flag)) {
            const toSolve = msg.content.slice(flag.length, msg.content.length);
            try {
                const solved = Equation.solve(toSolve);
    
                msg.reply(`${toSolve} = ${solved}`); // backticks (TLs) are used to embed variables in strings like `${var}`
            } catch (err) {
                msg.reply(`Could not solve the equation '${toSolve}'.`);
            }
        }
    });
    

    우리 끝났어!로봇을 테스트해 보도록 하겠습니다.

    node index을 실행한 후bot이 있는 서버로 이동하여 (내 예에서 나의bot 테스트 서버) !solve 2 + 2과 같은 메시지를 보내려고 합니다.2 + 2 = 4과 같은 응답을 보실 수 있습니다.더 복잡한 방정식을 시도할 수도 있고, 형식이 잘못된 방정식 테스트 오류 검사를 사용할 수도 있습니다.

    5. 당신의 로봇과 다음 단계를 배치


    너의 로봇을 배치하는 것은 상당히 간단하다.당신이 해야 할 일은 색인 파일 (이 예에서 node index) 을 당신의 로봇이 온라인으로 운행하기를 원할 때 실행하는 것입니다. 보통 전천후 운행입니다.구형 컴퓨터나 Raspberry Pi(자신의 서버)에서 실행할 수도 있고, Heroku과 같은 플랫폼에 배치할 수도 있습니다.
    더욱 복잡한 로봇을 구축하는 다음 단계에서 Discord.js documentation은 Discord API를 사용하여 텍스트와 음성 채널, 다중 서버, 직접 메시지 등 기능을 실행하는 데 매우 유용하다.
    당신의 로봇을 공유할 때, 많은 사이트에서 디스코드 로봇을 전문적으로 열거하는데, bots.ondiscord.xyz, discord.bots.ggtop.gg을 포함한다.로봇을 서버에 추가하기 위해 기능과 URL을 보여주는 사이트를 만들 때 매우 유용합니다.소유한 서버 간에bot을 공유하는 것도 유용합니다.

    읽어주셔서 감사합니다.


    원본 코드와 자산 here, at my tutorials repo을 보십시오.
    나는 네가 이 글을 좋아하고 노드와 디스코드가 있는 디스코드 로봇을 만들 때 매우 유용하다는 것을 발견하길 바란다.js.
    굴러줘서 고마워요.
    이 글은 처음에 my blog at xtrp.io에서 왔다.
    - 가브리엘 로무알도

    좋은 웹페이지 즐겨찾기