독도갈매기의 개발 블로그
[Node.js] Node.js로 디스코드 봇을 만들 수 있다고!? -2- 유저 프로필 사진 가져오기 본문
이 포스팅은 Node.js로 디스코드 봇을 만들 수 있다고!? 시리즈에서 -1- ping pong에서 이어지는 포스팅입니다.
전 포스팅을 읽지 않으셨다면 읽고오시는 것을 권장드립니다.
오늘의 목표
!avatar
명령어를 호출했을 때 호출한 유저의 프로필 사진을 받아와 채널에 출력해주는 기능을 구현할 것입니다.
index.js
const { token } = require('./token'); // token 값을 따로 js파일을 만들어주고 module.exports를 사용하여 token이 코드에 노출되는 것을 조금이라도 방지합니다.
const discord = require('discord.js'); // discord.js를 import 해줍니다.
const app = new discord.Client(); // discord.Client 인스턴스 생성
app.on('ready', () => { // 여기서 사용되는 Arrow Function은 콜백함수입니다.
console.log(`I am Ready ${app.user.tag}`); // Bot이 준비가 되면 실행할 콜백함수입니다.
});
app.on('message', msg => {
// !avatar
if(msg.content === '!avatar') msg.channel.send(msg.author.displayAvatarURL()); // 메세지를 보낸 유저의 프로필 사진을 받아옵니다.
// !ping
if(msg.content === '!ping') msg.channel.send(`pong!`); // 채팅에서 메세지가 들어왔을 때 실행할 콜백함수입니다.
});
app.login(token); // Bot의 토큰을 받아주세요. 0편에서 받은 봇의 토큰으로 로그인하는 코드입니다.
명령어 !avatar
를 입력받으면 msg를 보낸 사람 msg.author죠? 그 안에 있는 displayAvatarURL
함수를 사용해
사용자의 프로필 사진 링크를 받아와 그대로 채팅 채널에 출력하게 되면 위에 있는 사진처럼 명령어를 입력한 유저의 사진을 출력할 수 있습니다.
Node.js로 디스코드 봇을 만들 수 있다고!? 시리즈는 차근차근 조금씩 만들어갈 예정입니다.
가능하다면 웹서버를 연동하는 방향으로 생각중입니다. 오늘도 포스팅 읽어주셔서 감사드리며,
질문이나 잘못된 개념이 있다면 댓글로 알려주시면 감사드리겠습니다.
추가된 코드
const { token } = require('./token'); // token 값을 따로 js파일을 만들어주고 module.exports를 사용하여 token이 코드에 노출되는 것을 조금이라도 방지합니다.
const discord = require('discord.js'); // discord.js를 import 해줍니다.
const app = new discord.Client(); // discord.Client 인스턴스 생성
app.on('ready', () => { // 여기서 사용되는 Arrow Function은 콜백함수입니다.
console.log(`I am Ready ${app.user.tag}`); // Bot이 준비가 되면 실행할 콜백함수입니다.
});
app.on('message', msg => {
+ // !avatar
+ if(msg.content === '!avatar') msg.channel.send(msg.author.displayAvatarURL()); // 메세지를 보낸 유저의 프로필 사진을 받아옵니다.
+ // !ping
if(msg.content === '!ping') msg.channel.send(`pong!`); // 채팅에서 메세지가 들어왔을 때 실행할 콜백함수입니다.
});
app.login(token); // Bot의 토큰을 받아주세요. 0편에서 받은 봇의 토큰으로 로그인하는 코드입니다.
'Node.js' 카테고리의 다른 글
[Node.js] Node.js로 디스코드 봇을 만들 수 있다고!? -4- 봇의 설명을 넣어보자 (0) | 2020.10.15 |
---|---|
[Node.js] Node.js로 디스코드 봇을 만들 수 있다고!? -3- 봇에 짤이나 이모티콘을 추가해보자 (0) | 2020.10.13 |
[Node.js] Node.js로 디스코드 봇을 만들 수 있다고!? -1- ping pong (0) | 2020.10.10 |
[Node.js] Node.js로 디스코드 봇을 만들 수 있다고!? -0- 봇 생성하기 (0) | 2020.10.09 |
[Node.js] Node.js로 프로젝트 만들어보자 -0- (0) | 2020.10.08 |
Comments