Tiplu's Mind

디스코드 웹훅을 사용하여 트위터의 트윗을 가져오는 법

반응형

 디스코드에는 웹훅 기능을 사용하여 다른 사이트들에서 업데이트 되는 내용을 가져올 수 있습니다. 사실, 기본적으로 버튼 하나만 까딱해서 사용할 수 있는 기능들과는 달리, 웹훅은 어느정도 프로그래밍 지식이 있어야 쓸 수 있을 정도로 따지고 보면 컴퓨터를 잘 모르는 분들에게는 충분히 복잡할 수 있습니다. 하지만, 이런 분들을 위해 이런 여러 기술을 좀 더 쉽게 사용하게끔 하고자 IFTTT와 같은 곳들이 존재하며, 이 글 또한 IFTTT를 바탕으로 설명할 것이기에 차근차근 따라만 한다면 누구나 구현해볼 수 있습니다. 과정을 전부 마치고 보면 간단하더라도 중간중간은 어려울 수 있기에 다른 글을 작성할 때보다 자세히 설명할 것입니다.



디스코드 웹훅 기능, '트윗을 긁어오는 것'은 생각만큼 어렵지 않다

웹 자체 서비스라 스마트폰을 사용해도 이용이 가능하지만, PC 화면을 기준으로 따라갑니다.


최우선적으로 트윗을 긁어오는 작업을 IFTTT에서 진행하기에, 위 페이지에 로그인 된 상태여야 합니다.


Google 등의 계정이 있다면 바로 로그인 할 수 있으므로, 편한대로 진행합니다.


 정상적으로 로그인 했다면 상단부 메뉴에 My Applets가 생성되는데, 눌러서 이동합니다. 페이지 자체가 반응형이기에, 될 수 있다면 창을 최대한 크게 해서 이 글과 인터페이스를 동일화하여 따라가기 좋게 맞춰줍시다.


New Applet을 순서대로 선택합니다.


파란색 폰트인 +this 부분을 선택해주고,


이어서 서비스를 선택하라는 부분에서 Twitter를 골라줍니다.


 내부에도 여러 옵션이 있는데, 특정 유저의 트윗을 긁어오는 작업을 하는 것이 목적이므로, New tweet by a specific user를 선택합니다.


Username to watch 항목에 @로 시작하는 대상의 계정명(?)을 적어줘야 합니다.


 전 IFTTT 공식 트위터의 계정에서 작성되는 글을 가져오고자, @IFTTT를 입력해보겠습니다. 이 부분에는 각자 원하는 계정명을 따오도록 합니다.(닉네임이 아닙니다.)


입력하고, Create trigger 선택.


그럼 앞 부분의 +that은 트위터로 맞춰졌고, 이번엔 뒷 부분에 +that이 생성되었습니다. 마찬가지로 눌러주면,


Choose action service 창이 뜨는데,


웹훅으로 가져올 것이기에 Webhooks를 선택합니다.


 눌러보면 앞선 Twitter와는 다르게 Make a web requset 하나만 뜹니다. 선택합니다. 그럼 여러 정보를 입력해야 하는 창이 뜨는데, 띄워둔 채로 디스코드를 실행합니다.


 이제 디스코드로 옮겨오기위해 자체적으로 제공하는 웹훅을 사용해야만 하므로, 목록에서 가져올 디스코드 방을 우클릭하여 서버 설정 메뉴의 웹훅을 클릭합니다.


웹훅 생성 버튼을 선택합니다.


 이름은 구별하기 편하게, 채널은 일반 채팅에 올려버리면 긁어오는 트윗과 채팅이 섞여버리기에 따로 공지나 소식과 같은 채널을 만들어서 선택해줍니다. 이 글에서는 단순 설명을 위해 #General을 그대로 사용했습니다.

이름과 아이콘 등은 나중에도 수정할 수 있기에 생략하고, 우선적으로는 서비스부터 구축합니다.


만들고 나면 스크린 샷 처럼 목록에 하나가 추가되는데, 수정을 선택하면 주소를 확인할 수 있습니다.


WEBHOOK URL의 오른쪽 Copy를 눌러 복사합니다.


 앞서 길게 뜬 창의 URL 부분에 방금 복사했던 WEBHOOK URL을 입력합니다. 그리고 바로 아래의 Method는 POST로 맞춰줍니다.


 Content Type은 application/json을, Body 항목에는 '긁어오는 형식'을 적어줘야 하기에 개개인이 작성하기보다는 일단, 제가 추가한 소스코드를 그대로 복사하여 사용해줍니다.

Discord Webhook body code.txt

첨부파일을 확인하세요.

전부 입력했다면 Create action을 클릭합니다.


거의 다 완료됐습니다. Applet이 작동할 때마다 알림을 받을 것인가는 알아서 설정하고, Finish를 눌러줍니다.


 IFTTT의 My Applets에서 반드시 위와 같이 On에 맞춰진 상태여야만 작동하며, 이 설정을 디스코드에 넣기 전에 이미 작성한 트윗은 가져오지 않습니다.


 사실상 자신이 게시하는 Tweet은 바로 실험이 되지만, 타인이 게시하는 경우에는 그 사람이 작성할 때까지 기다려야 하기에 좀 걸립니다. 알림을 받아보면, 앞서 받아서 적용했던 메모장 형식대로 불러오는 것을 확인할 수 있으며, 여기서 닉네임 변경을 위해 IFTTT의 My Applets에 만들었던 것을 수정하여 "replace_with_bot_displayname" 부분에 따옴표만 남겨놓고 지운 뒤, 자신이 원하는 닉네임을 기입해주면 스크린 샷과 같이 아이콘 오른쪽에 replace_with~ 꼴로 뜨지는 않을 것입니다.

 아이콘의 경우엔 아까 WEBHOOK URL을 복사했던 화면으로 이동하여 적절한 이미지를 추가해주면 즉시 변경되어 적용됩니다.