봇 계정 생성

라이브러리와 디스코드 API를 사용하여 작업하기 위해서 우리는 먼저 디스코드 봇 계정을 생성해야 합니다.

봇의 계정을 만드는 과정은 꽤 간단합니다.

  1. Make sure you’re logged on to the Discord website.

  2. Navigate to the application page

  3. 《New Application》 버튼을 클릭합니다.

    The new application button.
  4. 애플리케이션의 이름을 짓고 《Create》를 클릭합니다.

    The new application form filled in.
  5. 《Bot》 탭으로 이동해 《Add Bot》을 클릭하여 봇을 생성합니다.

    • 계속하기 위해서 《Yes, do it!》을 클릭합니다.

    The Add Bot button.
  6. 다른 사람들이 당신의 봇을 초대하길 원한다면 Public Bot이 활성화되어 있는지 확인하세요.

    • 또한 Require OAuth2 Code Grant가 필요하지 않다면 비활성화되어 있는지 확인해야 합니다. 잘 모르겠다면 그냥 비활성화 상태로 놔두세요.

    How the Bot User options should look like for most people.
  7. 《Copy》 버튼을 클릭하여 토큰을 복사합니다.

    • This is not the Client Secret at the General Information page.

    경고

    토큰은 당신의 봇의 암호라고 해도 과언이 아닙니다. 당신은 절대로 이것을 다른 사람과 공유해서는 안 됩니다. 만약 하게 된다면, 누군가가 당신의 봇에 로그인하여 악의적인 짓을 할 수 있습니다. 악의적인 행동에는 서버를 나가거나, 서버에 있는 모든 사용자를 차단하거나, 악의적으로 모든 사람을 멘션 하는 것 등이 있습니다.

    상상 이상의 많은 것들이 가능하므로, 이 토큰을 공유하지 마세요.

    만약 당신이 실수로 토큰을 유출하였다면, 최대한 빨리 《Regenerate》 버튼을 클릭하세요. 이것은 기존 토큰을 삭제하고 새로운 토큰을 생성합니다. 그리고 당신은 새로운 토큰을 사용해서 로그인해야 합니다.

이게 끝입니다. 이제 봇 계정을 만들었고, 봇에 로그인할 수 있습니다.

봇 초대

봇은 만들었지만, 아무런 서버에도 접속하지 않았습니다.

당신이 봇을 초대하고 싶다면 반드시 초대 URL을 생성해야 합니다.

  1. Make sure you’re logged on to the Discord website.

  2. Navigate to the application page

  3. 봇 페이지를 클릭합니다.

  4. 《OAuth2》 탭으로 이동합니다.

    How the OAuth2 page should look like.
  5. 《scopes》에서 《bot》을 활성화합니다.

    The scopes checkbox with "bot" ticked.
  6. 《Bot Permissions》에서 봇이 필요한 권한을 활성화합니다.

    • 당신의 봇이 《관리자》 권한을 갖는 것에 대해 유의하십시오.

    • Bot owners must have 2FA enabled for certain actions and permissions when added in servers that have Server-Wide 2FA enabled. Check the 2FA support page for more information.

    The permission checkboxes with some permissions checked.
  7. 이제 생성된 URL을 사용하여 봇을 서버에 초대할 수 있습니다. 브라우저에 URL을 복사 및 붙여넣기 하여 봇이 접속할 서버를 선택하고 《Authorize》를 클릭하세요.

참고

봇을 추가하기 위해선 《서버 관리》 권한을 갖고 있어야 합니다.

만약 discord.Permissions를 사용하여 봇의 런타임에서 동적 URL을 생성하고 싶다면 discord.utils.oauth_url()을 사용하세요.