Pneuma00 / HypertagBot

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Hypertag

스파게티 주의

하이퍼태그는 단답형 명령어을 유저가 직접 추가할 수 있는 디스코드 봇입니다. 자체적으로 개발한 표현 언어(?)를 지원하여 조금 복잡한 명령어도 등록할 수 있습니다.

문법

우선 이 언어는 순차적으로 실행되는 프로그래밍 언어가 아닌 수학 식과 같은 언어입니다. 태그 내용에 포함된 함수를 실행하고, 함수 부분을 결과값으로 치환하여 출력합니다.

정적인 텍스트가 아닌 모든 부분은 함수로 이루어집니다. 함수의 형태는 다음과 같습니다.

{함수명;인수1;인수2;...}

함수명에 따라서 인수를 처리하는 방식과, 반환값이 달라집니다.

아래는 현재 지원되는 함수들의 사용 방법입니다.

  • {args;인덱스} - 사용자가 입력한 (인덱스)번째 인수를 반환합니다. 예) h.example hello 를 입력했다면, {args;0}hello 가 됩니다.

  • {math;연산자;첫번째수;두번째수} - 두 수의 연산 결과를 반환합니다. 현재 지원하는 연산자는 +, -, *, / 입니다. 예) {math;+;2;3} 의 결과값은 5 가 됩니다.

  • {if;첫번째값;조건연산자;두번째값;참일시반환값;거짓시반환값} 일반적인 언어의 조건 삼항 연산자 ?: 와 같습니다. 조건연산자는 ==, !=, <, >, <=, >= 가 있습니다. 앞의 3개 인수로 이루어지는 조건값에 따라 뒤의 두 값 중 하나를 반환합니다. 예) {if;2;>;3;맞습니다;틀립니다} 의 결과값은 틀립니다 가 됩니다.

  • {random;선택지1;선택지2;...} - 모든 선택지 중 랜덤한 1개를 선택해 반환합니다.

  • {set;key값;value값} - 서버마다 별개로 존재하는 데이터베이스에 key-value 형태로 값을 저장합니다. 빈 텍스트를 반환합니다.

  • {get;key값} - 데이터베이스에서 key값에 해당하는 value값을 불러옵니다.

  • {discord;불러올 값} - 디스코드와 관련된 정보를 불러옵니다. 불러올 수 있는 값은 다음과 같습니다: userid, username, nickname, channelid, guildid.

About


Languages

Language:JavaScript 100.0%