나만의 불화를 만드는 법
Discord는 커스텀 봇과 매우 활동적인 봇 커뮤니티 작성을위한 뛰어난 API를 제공합니다. 오늘부터 직접 만드는 방법을 살펴 보겠습니다..
봇을 코딩하기 위해서는 약간의 프로그래밍 지식이 필요합니다. 따라서 모든 사람들에게 해당되는 것은 아닙니다만 다행히도 쉽게 할 수있는 인기있는 언어 모듈이 있습니다. 가장 인기있는 discord.js를 사용합니다..
시작하기
Discord의 봇 포털로 이동하여 새 응용 프로그램 만들기.
클라이언트 ID와 암호 (물론 암호를 알고 있어야 함)를 적어 두는 것이 좋습니다. 그러나 이것은 봇이 아니며 단지 "응용 프로그램"입니다. "봇"탭 아래에 봇을 추가해야합니다.
이 토큰도 기록하고 비밀로 유지하십시오. 어떠한 상황에서도 Github에게이 열쇠를 저 지르지 마십시오. 귀하의 봇은 거의 즉시 해킹 될 것입니다..
Node.js 설치 및 코딩 얻기
웹 페이지 외부에서 Javascript 코드를 실행하려면 Node가 필요합니다. 다운로드하여 설치하고 터미널 (또는 명령 프롬프트)에서 작동하는지 확인하십시오.이 모든 것이 Windows 시스템에서 작동해야합니다. 기본 명령은 "노드"입니다.
또한 nodemon 도구를 설치하는 것이 좋습니다. 그것은 봇의 코드를 모니터링하고 변경 사항에 따라 자동으로 다시 시작하는 명령 줄 응용 프로그램입니다. 다음 명령을 실행하여 설치할 수 있습니다.
npm i -g nodemon
텍스트 편집기가 필요합니다. 메모장을 사용할 수도 있지만 Atom 또는 VSC 중 하나를 사용하는 것이 좋습니다..
다음은 "Hello World"입니다.
const 불화 = 요구 ( 'discord.js'); const 클라이언트 = 새로운 Discord.Client (); client.on ( 'ready', () => console.log ( '$ client.user.tag로 로그인했습니다!');); client.on ( 'message', msg => (msg.content === 'ping') msg.reply ( 'pong');)); client.login ( '토큰');
이 코드는 discord.js 예제에서 가져온 것입니다. 그걸 부셔 버리자..
- 처음 두 행은 클라이언트를 구성하는 것입니다. 첫 번째 줄은 모듈을 "Discord"라는 객체로 가져오고 두 번째 줄은 클라이언트 객체를 초기화합니다.
- 그만큼
client.on ( '준비')
블럭은 봇이 시작할 때 시작됩니다. 여기에서는 터미널에 이름을 기록하도록 구성되었습니다.. - 그만큼
client.on ( 'message')
블록은 새 메시지가 모든 채널에 게시 될 때마다 실행됩니다. 물론 메시지 내용을 확인해야합니다.만약
블록 않습니다. 메시지에 "ping"이라고 표시되면 "Pong!"으로 응답합니다. - 마지막 줄은 봇 포털의 토큰으로 로그인합니다. 분명히 여기서 스크린 샷의 토큰은 가짜입니다. 토큰을 인터넷에 게시하지 마십시오..
이 코드를 복사하고 하단의 토큰에 붙여 넣은 다음 index.js
전용 폴더에.
봇 실행 방법
터미널로 가서 다음 명령을 실행하십시오.
nodemon --inspect index.js
이렇게하면 스크립트가 시작되고 Chrome 디버거가 실행되며 입력하면 액세스 할 수 있습니다. chrome : // inspect /
Chrome의 Omnibar에 넣은 다음 "노드 용 전용 devtools"를 엽니 다.
이제는 "Logged in as"라고 말해야하지만 여기서는 콘솔에 수신 된 모든 메시지 객체를 기록하는 행을 추가했습니다.
그러면이 메시지 객체는 무엇이됩니까? 실제로 많은 것들이 있습니다.
특히 저자 정보와 채널 정보가 있으며, msg.author 및 msg.channel을 사용하여 액세스 할 수 있습니다. 이 도구를 사용하여 Chrome 노드 devtools에 개체를 로깅하는 방법을 사용하는 것이 좋습니다. 흥미로운 것을 발견 할 수 있습니다. 예를 들어, 봇은 응답을 콘솔에 기록하므로 봇의 응답이 트리거됩니다 client.on ( 'message')
. 그래서, 나는 spambot을 만들었다 :
노트: 재귀를 다루고 싶지 않으므로주의해야한다..
서버에 봇을 추가하는 방법
이 부분은 있어야 할 것보다 더 어렵습니다. 이 URL을 가져 가야합니다.
https://discordapp.com/oauth2/authorize?client_id=CLIENTID&scope=bot
CLIENTID를 응용 프로그램 페이지의 일반 정보 탭에있는 봇의 클라이언트 ID로 대체하십시오. 일단 이것이 끝나면 친구에게 링크를 제공하여 봇을 서버에 추가하도록 할 수 있습니다..
좋아, 그럼 내가 할 수있는 일은 뭐니??
기본 설정 외에도 다른 것은 전적으로 귀하에게 달려 있습니다. 그러나, 우리가 hello world에서 멈추었다면 이것은 튜토리얼의 많은 부분이 아니기 때문에, 문서의 일부를 살펴 보도록하자. 그러면 가능한 것이 무엇인지 더 잘 알 수있을 것이다. 나는 당신이 할 수있는 한 많이 읽을 것을 권합니다. 아주 잘 기록되어 있습니다..
추가하는 것이 좋습니다. console.log (클라이언트)
코드의 시작 부분에 추가하고 콘솔에서 클라이언트 객체를 살펴 봅니다.
여기에서 많은 것을 배울 수 있습니다. 한 번에 여러 서버에 봇을 추가 할 수 있으므로 서버는 길드
지도 개체. 이 객체에는 개별 Guild (API의 "server"이름)가 있으며 길드 객체에는 모든 정보와 메시지 목록을 포함하는 채널 목록이 있습니다. API는 매우 깊이 있고 배우기까지 시간이 걸릴 수 있지만 적어도 설정하고 배우기는 쉽습니다..