• 디스코드 웹훅 Node.js로 연동하기

    2022. 8. 12.

    by. 카유.

    연동하고자 하는 디스코드 서버에서
    서버 설정에 들어갑니다.

     

    좌측 메뉴에 '연동'으로 들어갑니다.

     

    '웹후크 만들기' 누릅니다.

    이미 있으신 분들은 '웹후크 보기' 누르고
    '새 웹후크' 누릅니다.

     

    웹후크를 만드셨으면 '웹후크 URL 복사'
    눌러서 메모장에 붙여넣거나
    나중에 다시 오셔서 복사하시면 됩니다.

     

     

    Node.js 모듈 설치

    HTTP 비동기 요청

    npm install axios

     

     

    코드로 구현

    이제 서버에 메시지를 보내보겠습니다.

     

    const axios = require('axios').default;
    
    const webhookURL = "아까 복사하셨던 웹후크 URL";
    
    axios.post(webhookURL, {
        "content": "하이빵가루~"
    });

    실행하면 서버에 다음과 같이 옵니다.

     

    이름과 프사를 바꾸고싶다면

    await axios.post(webhookURL, {
        "content": "하이빵가루~",
        "username": "고세구",
        "avatar_url": "이미지 URL"
    });

     

    임베디드 메시지로 보내려면

    await axios.post(webhookURL, {
        "embeds": [
            {
                "title": "제목",
                "description": "내용",
                "color": 3447003
            }
        ],
        "username": "고세구",
        "avatar_url": "이미지 URL"
    });

     

     

    예제

    const axios = require('axios').default;
    
    const webhookURL = "아까 복사하셨던 웹후크 URL";
    const avatarURL = "프로필 이미지 URL"
    
    async function main() {
        try {
            await axios.post(webhookURL, {
                "embeds": [
                    {
                        "title": "제목",
                        "description": "내용",
                        "color": 3447003
                    }
                ],
                "username": "이름",
                "avatar_url": avatarURL
            });
        }
        catch (err) {
            console.error(err);
        }
    };
    
    main();

     

     

    참고

    웹훅 소개

    웹훅 설명서

    Embed 오브젝트 설명서

    댓글