Discord
Discord는 StarLight용 플러그인으로, 디스코드 챗봇 API의 이벤트를 수신 및 사용할 수 있게 합니다.
사용방법
discord.slp
과awt.slp
파일을sdcard/StarLight/plugins/
폴더 내에 추가합니다.- StarLight를 재시작합니다.
- 하단의 플러그인 탭 > Discord 플러그인 > 설정 > 봇 토큰 에 본인의 봇 토큰을 입력합니다.
- StarLight 앱을 재시작하여 서버를 시작합니다.
- 이벤트를 수신할 프로젝트의 설정에 들어가 호출이 허용된 이벤트 항목에
discord.message.*
를 추가합니다.
위 과정을 실행하면 해당 프로젝트의 onMessageCreate
함수가 디스코드 메세지 수신시 호출됩니다.
Event 수신
본 플러그인은 내부적으로 JavaCord 라이브러리를 사용합니다. 따라서 onMessageCreate
의 매개변수인 event
는 JavaCord의 MessageCreateEvent
객체입니다.
자세한 사항은 JavaCord의 Javadoc을 참고하세요.
예제
단순 수신&답장
function onMessageCreate(event) { if (!event.messageAuthor.isUser()) return; if (event.message.content !== "!ping") return; event.channel.sendMessage("Pong!"); }
수신&답장 심화
const ms = java.lang.System.currentTimeMillis; function onMessageCreate(event) { if (!event.messageAuthor.isUser()) return; if (event.message.content !== "!ping") return; let start = ms(); event.channel.sendMessage("안녕하세요, " + event.messageAuthor.name + "님!"); event.channel.sendMessage("Pong!") .thenAccept(msg => { let now = ms(); msg.edit("핑은 " + (now - start) + "ms 에요!"); }); }