개인 자료란 (JE)

  서버 커뮤니티

Profile lukekeum 대표칭호 없음
Profile

인자값 받아보기


TIP

이번 강의 또한 이전 강의 내용을 바탕으로 하고 있습니다

인자값?

오늘은 좀 고급진 명령어를 만드는 방법에 대해서 알려드리겠습니다. 우리가 알고 있는 유명한 디스코드 봇 무엇무엇이 있을까요? 아마도 AyanaFredbot 등이 있을 것입니다. 그러한 뮤직봇의 명령어들을 보면, ;;p (주소) 이런식인데요, 여기서 우리가 (주소)라는 값을 불러오기 위하여 인자값을 불러와야합니다. 좀 더 쉽게 접근해볼까요? 우리가 잘 아는 마인크래프트에서 제가 서버를 만들고, /돈 (player) 이라는 명령어를 만들었다고 가정해 봅시다. 이러한 명령어에서 (player)이라는 값을 불러오기 위하여 우리는 인자값을 불러와야합니다. 자, 이제 대충이라도 인자값이 무엇인지 이해하셨나요? 그럼 이제 인자값을 불러오는 거 부터 해보죠.

인자값 불러오기

이제 인자값이라는 것의 정의를 알았으니, 이제 한번 그 인자값을 사용해 볼까요? 먼저, 우리 프로젝트에 있는 index.js를 열어, 아래와 같이 수정해 봅시다.

client.on('message', message => {
  if(message.content.startsWith(`{prefix}말하기`)) {
    const args = message.content.split(" ");
    message.channel.send(`args[0]: ${args[0]}, args[1]: ${args[1]}`);
  }
});

이런식으로 써 주시고 실행 해 봅시다. 실행을 해 주시고, 디스코드에다가 아래와 같이 채팅을 써 보세요

   !말하기 안녕

이런 식으로 채팅을 쳤을 때, 봇이 이렇게 말하면 성공입니다

   args[0]: !말하기, args[1]: 안녕

이런식으로 말 했나요? 그러면 여러분들은 이제 인자라는 것을 잘 다룰 수 있습니다. 근데, 이 방법에는 문제점이 있습니다. 바로 !말하기123 이런식으로 적어도 정상적으로 작동한다 이 말이죠. 그렇기에, 우리는 처음부터 인자값을 불러와보겠습니다.

client.on('message', message => {
  const args = message.content.split("");
  if(args[0] === `{prefix}말하기`) {
    message.channel.send(`args[0]: ${args[0]}, args[1]: ${args[1]}`);
  }
});

이렇게 바꾸시고 실행을 하셔도 잘 실행이 됩니다. 자, 그러면 여러분들은 이제 인자값을 받아오는 것을 할 수 있습니다.

다음시간

다음 시간에는 앞에서 배운 내용을 활용하여, 주사위를 만드는 것을 해 보겠습니다. 수고하셨습니다

P.S. 곧 자바스크립트 기초 강의를 시작하겠습니다. 자바스크립트의 기본기를 다지시고 이 강의를 보면, 좀 더 이해가 될것입니다


https://discord.gg/2gxSqWu - 마인크래프트 개발자 디스코드

2개의 댓글

lukekeum
2020.03.31

이번 강의는 짧지만, 디스코드 봇을 만드는 것에 대해서는 아주 중요한 내용입니다

hellored
2020.12.17

안녕하세요 올려주신 강의 정말 잘 보고 있습니다

글에 적혀 있는 대로 하나씩 해보고 있는데, 인자값 불러오기 두 번째가 잘 안 되서 왜 그런지 궁금합니다 ㅠㅠ

1번째 꺼는 잘 작동하는데 2번째 꺼는 채팅을 쳐도 반응이 없습니다...

잘 안 되서 올려주신 코드를 그대로 복사해서 해봤는데도 무반응입니다 왜 그런지 알 수 있을까요 ㅠㅠ

뉴스 및 창작물
/files/thumbnails/520/751/003/262x150.crop.jpg?20240328020349

레드스톤

마인크래프트 노트블록으로 만든 『 Bling‐Bang‐Bang‐Born 』 1

Sonttukk

2024-03-23

1

/files/thumbnails/467/742/003/262x150.crop.jpg?20240311163123

레드스톤

[노트블럭커버] MILGRAM -ミルグラム(밀그램)- / 아마네 「숙청 행진」 제 2심 2

리비온

2024-03-11

0

/files/thumbnails/846/741/003/262x150.crop.jpg?20240310221214

레드스톤

워든 vs 라마 200마리 1

GlassesFilm

2024-03-10

0

/files/thumbnails/542/739/003/262x150.crop.jpg?20240309070457

레드스톤

[고인의 명복을 빕니다][노트블럭]드래곤볼 GT 오프닝 - 점점 마음이 끌려

리비온

2024-03-09

0

/files/thumbnails/326/738/003/262x150.crop.jpg?20240328020414

레드스톤

마인크래프트 노트블록으로 만든 『 Build Our Machine 』

Sonttukk

2024-03-07

0