# 환영합니다

Mora Team Docs에 오신 유저분들을 환영합니다!

궁금하신 부분을 왼쪽 탭을 클릭해서 찾아보세요!


# 고객센터 안내

Mora Team 문의방법이에요!

## ​🧐 어디로 문의하면 되나요? <a href="#contact" id="contact"></a>

### 평일 운영시간에 문의하기

{% hint style="info" %}

#### 운영시간

채팅상담 : **매일** 24시간, 공휴일 휴무

카카오 챗봇 상담 : 연중무휴 365

이메일 상담 : 365일 접수 가능
{% endhint %}

{% tabs %}
{% tab title="카카오톡으로 문의" %}
\[Mora의  카카오톡채널]\(<<http://pf.kakao.com/_xlIxeVG>>)을 추가하시면 카카오톡으로 빠른 챗봇 상담 또는 채팅상담을 시작하실 수 있습니다. \
\
모바일에서 편리하게 묻고 빠르게 답변을 받아보세요.

* 카카오톡 채널 챗봇 운영시간\
  연중무휴 365일 운영
* 카카오톡 채널 상담 운영 시간\
  365일 24시간 (공휴일 휴무)
  {% endtab %}

{% tab title="이메일로 문의" %}
언제든지 빠른 접수와 휴일이 없는 답변을 받아보실수있습니다.

* <<help@mora-bot.kr>>
* 이메일 상담 운영 시간 : 365일 24시간 (연중무휴)
  {% endtab %}

{% tab title="디스코드로 문의" %}
저희 공식 디스코드 서버에서도 문의를 하실수 있습니다!

* 공식 디스코드 서버 참여하기 : \[참여링크]\(<[https://discord.gg/BEfmJRwjkF>](https://discord.gg/BEfmJRwjkF>))
  {% endtab %}
  {% endtabs %}


# Mora 봇

재미있고 다양한 기능들이 여러분들을 기다려요!


# 문의방법

Mora 봇 문의방법입니다.

* 모라봇에 대한 궁금증이 있으신가요?\
  아래 문의방법을 확인하신후 Mora Team 에게 전달해주세요!

{% tabs %}
{% tab title="봇으로 문의하기" %}
모라봇으로 문의하시려면 모라봇 DM으로 이동하여 문의해주세요! 모라봇DM은 24시간 언제나 문의가 가능합니다
{% endtab %}

{% tab title="이메일 문의" %}
<help@mora-bot.kr>로 보내주시기 바랍니다.
{% endtab %}

{% tab title="카카오채팅상담" %}

* 카카오채팅상담은 지금 준비중에 있습니다!
  {% endtab %}

{% tab title="채널톡상담" %}

* 채널톡 상담은 [저를](https://mora.channel.io) 클릭해주세요!
  {% endtab %}
  {% endtabs %}


# 개발팀

Mora 봇 개발자 입니다.

모라 개발자는 크게 2가지로 있습니다.

* [모라봇 개발팀](https://docs.mora-bot.kr/team-bot/mora/developer/dev_bot)
* [대시보드 개발팀](https://docs.mora-bot.kr/team-bot/mora/developer/dev_dashboard)


# 봇개발팀

Mora 봇 개발자 입니다.

## 이루

* 개발 언어 : Javascript, Typescript, HTML5, PHP, Sql, NodeJS
* 담당 기능 : 관리기능, 이벤트


# 대시보드개발팀

Mora 봇 개발자 입니다.


# 명령어

Mora 봇 명령어 가이드 입니다.

모라봇의 명령어는 대부분 슬래쉬(/) 명령어로 제작되어 있습니다.


# 기본기능

Mora 봇 명령어 기본기능 가이드 입니다.


# 도움말

Mora 봇 명령어 가이드 입니다.

모라봇의 명령어는 대부분 슬래쉬(/) 명령어로 제작되어 있습니다.

> 명령어 : /도움말

모라봇 도움말 명령어는 모라봇의 모든 명령어를 확인할수 있습니다.

<figure><img src="/files/EomuHvM72e9xpmIjgHFA" alt=""><figcaption><p>기본기능</p></figcaption></figure>

<figure><img src="/files/BKcVmutwOhVBzPybtj7R" alt=""><figcaption><p>대화기능</p></figcaption></figure>

<figure><img src="/files/6TdJWN5s6I4TAU9KQ6h7" alt=""><figcaption><p>경제기능</p></figcaption></figure>

<figure><img src="/files/rz5UyvZ6PokmyOvcUePc" alt=""><figcaption><p>오락기능</p></figcaption></figure>

<figure><img src="/files/GSMGapeNCZTeatr4fapY" alt=""><figcaption><p>검색기능</p></figcaption></figure>

<figure><img src="/files/6zRRWrrB6HRTNX1MyULM" alt=""><figcaption><p>전적기능</p></figcaption></figure>

<figure><img src="/files/kwy2sDb4AHtdFpRp8qwn" alt=""><figcaption><p>뮤직기능</p></figcaption></figure>

<figure><img src="/files/D6Sv8SYyOgfXut2vTtR6" alt=""><figcaption><p>유틸리티</p></figcaption></figure>

<figure><img src="/files/tO028VgYeCl1G4rugL3z" alt=""><figcaption><p>관리기능</p></figcaption></figure>


# 건의하기

Mora 봇 명령어 가이드 입니다.

모라봇의 명령어는 대부분 슬래쉬(/) 명령어로 제작되어 있습니다.

> 명령어 : /건의

모라봇 도움말 명령어는 모라봇의 모든 명령어를 확인할수 있습니다.

<figure><img src="/files/nVkFQyJLHSh1NavqHnGs" alt=""><figcaption><p>건의명령어를 입력할때 사용합니다.</p></figcaption></figure>

<figure><img src="/files/Fihb4xoPXL05MOVDddY8" alt=""><figcaption><p>건의 명령어를 사용하신후 건의하실 내용을 작성합니다.</p></figcaption></figure>

<figure><img src="/files/Lo10MHOIY5F6Cv7gMOdK" alt=""><figcaption><p>건의를 접수한후 채널에 나오는 메시지 입니다.</p></figcaption></figure>

<figure><img src="/files/rosEXieuR5W9USHrGqFy" alt=""><figcaption><p>건의 접수를 완료한후 개인DM메시지로 전송되는 내용입니다.</p></figcaption></figure>


# 문의하기

Mora 봇 명령어 가이드 입니다.

모라봇의 명령어는 대부분 슬래쉬(/) 명령어로 제작되어 있습니다.

> 명령어 : /문의

모라봇 도움말 명령어는 모라봇의 모든 명령어를 확인할수 있습니다.

<figure><img src="/files/HGRTTrj3aljSfqPSLqS8" alt=""><figcaption><p>문의명령어를 입력할때 사용합니다.</p></figcaption></figure>

<figure><img src="/files/b3gFzSXxffOXbgkYrlsc" alt=""><figcaption><p>문의 명령어를 사용하신후 문의하실 내용을 작성합니다.</p></figcaption></figure>

<figure><img src="/files/o87vF3Q626B34VM6yYAK" alt=""><figcaption><p>문의를 접수한후 채널에 나오는 메시지 입니다.</p></figcaption></figure>

<figure><img src="/files/hISoEo63ADMKNYBEmtIO" alt=""><figcaption><p>문의 접수를 완료한후 개인DM메시지로 전송되는 내용입니다.</p></figcaption></figure>


# 신고하기

Mora 봇 명령어 가이드 입니다.

모라봇의 명령어는 대부분 슬래쉬(/) 명령어로 제작되어 있습니다.

> 명령어 : /신고

모라봇 도움말 명령어는 모라봇의 모든 명령어를 확인할수 있습니다.

<figure><img src="/files/ryYNU49lnf2VzZJFAeE2" alt=""><figcaption><p>신고명령어를 입력할때 사용합니다.</p></figcaption></figure>

<figure><img src="/files/nKhcB90tHUNzsN0IOSlS" alt=""><figcaption><p>신고 명령어를 사용하신후 신고하실 내용을 작성합니다.</p></figcaption></figure>

<figure><img src="/files/9unv3tQ2q9RB1nUNPSmC" alt=""><figcaption><p>신고를 접수한후 채널에 나오는 메시지 입니다.</p></figcaption></figure>

<figure><img src="/files/epHZMQpyot0GXsE7w1Vu" alt=""><figcaption><p>신고 접수를 완료한후 개인DM메시지로 전송되는 내용입니다.</p></figcaption></figure>


# 서포트서버

Mora 봇 명령어 가이드 입니다.

모라봇의 명령어는 대부분 슬래쉬(/) 명령어로 제작되어 있습니다.

> 명령어 : /서포트서버

모라봇 도움말 명령어는 모라봇의 모든 명령어를 확인할수 있습니다.

<figure><img src="/files/UnmPmp7xRGtzU2sefkDO" alt=""><figcaption><p>서포트서버 명령어 입니다.</p></figcaption></figure>

<figure><img src="/files/0zJUL1lU2jMvicJMpq5P" alt=""><figcaption><p>서포트서버에 참여할수 있는 버튼입니다.<br>해당 버튼을 누르면</p></figcaption></figure>


# 대화기능

Mora 봇 명령어 대화기능 가이드 입니다.


# 경제기능

Mora 봇 명령어 경제기능 가이드 입니다.


# 오락기능

Mora 봇 명령어 오락기능 가이드 입니다.


# 검색기능

Mora 봇 명령어 검색기능 가이드 입니다.


# 전적기능

Mora 봇 명령어 전적기능 가이드 입니다.


# 뮤직기능

Mora 봇 명령어 뮤직기능 가이드 입니다.


# 유틸리티

Mora 봇 명령어 유틸리티 가이드 입니다.


# 관리기능

Mora 봇 명령어 관리기능 가이드 입니다.


# Mora Music

모라뮤직의 봇을 알아보세요!

* [초대하기](https://discord.com/api/oauth2/authorize?client_id=997370848103104513\&permissions=8\&scope=applications.commands%20bot)


# 도박봇

나의 디스코드 서버에도박과 주식시스템을 추가해보세요!

* [초대하기](https://discord.com/api/oauth2/authorize?client_id=1142010766443155537\&permissions=8\&scope=applications.commands%20bot)


# 추첨봇

나의 디스코드 서버의 추첨이나 투표를 만들어보세요!

* [초대하기](https://discord.com/api/oauth2/authorize?client_id=1142022752287600760\&permissions=8\&scope=bot%20applications.commands)


# 레벨봇

나의 디스코드 서버의 레벨을 관리해보세요!

* [초대하기](https://discord.com/api/oauth2/authorize?client_id=1142022701800771624\&permissions=8\&scope=applications.commands%20bot)


# 로그봇

나의 디스코드 서버의 각종 모든 로그를 받아보세요!

* [초대하기](https://discord.com/api/oauth2/authorize?client_id=1142022800933126184\&permissions=8\&scope=bot%20applications.commands)


# 관리봇

나의 디스코드 서버의 관리를 수월하게 만들어보세요!

* [초대하기](https://discord.com/api/oauth2/authorize?client_id=1142022544262709369\&permissions=8\&scope=bot%20applications.commands)


# 보안봇

내 디스코드 서버의 보안을 더욱 세심하게 만들어보세요!

* [초대하기](https://discord.com/api/oauth2/authorize?client_id=1142022615901417573\&permissions=8\&scope=bot%20applications.commands)


# 상점봇

디스코드에 나만의 상점을 꾸며보세요!

* [초대하기](https://discord.com/api/oauth2/authorize?client_id=1142011970720116806\&permissions=8\&scope=applications.commands%20bot)


# API 소개

Mora Api 메인소개 페이지입니다.

Mora API에 대해서 궁금하시다면 아래 포스트를 확인해보세요!

## 소개

Mora API는 다양한 API를 사용할수 있고 편하게 사용하게 돕기 위해\
개발되고 있으며 해당 개발은 여러분들이 더 편하게 사용할수 있습니다.

## 신규 업데이트 (2023.09.05)

* API 스테이블 코드가 변경되었습니다.


# API Status

Mora Api Status 코드 안내

## Status 코드는 아래와 같습니다.

| Status | Description             |
| ------ | ----------------------- |
| 100    | API에 접근이 실패하였습니다.       |
| 102    | 조회를 요청한 IP가 차단되었습니다.    |
| 103    | 조회를 요청한 지역이 차단되었습니다.    |
| 200    | 성공적으로 API를 호출했습니다.      |
| 202    | API호출을 정상적으로 하지 않았습니다.  |
| 303    | 서비스가 개발중이거나 점검중인 상태입니다. |
| 304    | 잠시 서비스 제공이 중단된 API 입니다. |
| 402    | API Limite              |
| 404    | 페이지를 찾을수 없습니다.          |
| 405    | API 에러로 인해 정상 호출실패      |
| 437    | API Key가 올바르지 않음        |


# API 가이드

Mora Api 가이드 입니다.

## 일반사용자 엔드포인트

* <https://mora-bot.kr/api/>

## 프리미엄사용자 엔드포인트

* <https://mora-bot.kr/api/Premium/>

### 호출 리밋

| 엔드포인트    | 최대요청수 | 시간  |
| -------- | ----- | --- |
| 일반 사용자   | 1000번 | 30분 |
| 프리미엄 사용자 | 3000번 | 30분 |


# Version 1

v1 API 가이드 입니다.

* 아래 메뉴를 통해 궁금하신 API 가이드를 확인해보세요!<br>
  1. [타자번역](https://docs.mora-bot.kr/api/guide/version1/타자번역)
  2. [캡챠](https://docs.mora-bot.kr/api/guide/version1/캡챠)
  3. [깃허브](https://docs.mora-bot.kr/api/guide/version1/깃허브)
  4. [맞춤법검사](https://docs.mora-bot.kr/api/guide/version1/맞춤법검사)
  5. [발음번역](https://docs.mora-bot.kr/api/guide/version1/발음번역)
  6. [랜덤숫자](https://docs.mora-bot.kr/api/guide/version1/랜덤숫자)
  7. [글자뒤집기](https://docs.mora-bot.kr/api/guide/version1/글자뒤집기)
  8. [URL단축](https://docs.mora-bot.kr/api/guide/version1/URL단축)


# ⌨️ 타자번역

Mora Api 타자번역 입니다.

## 타자번역 <a href="#undefined" id="undefined"></a>

* 출처 : <https://npmjs.com/package/inko>

### Templates

* API는 모두 GET 메서드를 사용합니다

## 영어 타자 → 한글 타자 <a href="#en2ko" id="en2ko"></a>

<mark style="color:blue;">`GET`</mark> `https://mora-bot.kr/api/v1/en2ko?text={한글 타자로 변환할 문장}`

#### Query Parameters

| Name                                   | Type   | Description   |
| -------------------------------------- | ------ | ------------- |
| text<mark style="color:red;">\*</mark> | String | 한글 타자로 변환할 문장 |

{% tabs %}
{% tab title="200: OK " %}
{% code lineNumbers="true" %}

```json
// 응답 내용
{
    "license": "inko module used https://www.npmjs.com/package/inko",
    "status": 200,
    "origin": "ahfk",
    "result": "모라",
    "success": true
}
```

{% endcode %}
{% endtab %}
{% endtabs %}

| Field  | Type   | Description |
| ------ | ------ | ----------- |
| origin | String | 호출된 문장      |
| result | String | 변환된 문장      |

### NodeJS

{% code lineNumbers="true" %}

```javascript
// node-fetch
const fetch = require('node-fetch')
fetch(`https://mora-bot.kr/api/v1/en2ko?text=${encodeURI(`택스트`)}`)
    .then(res => res.json())
    .then(json => {
        console.log(json)
        console.log(`입력된 값 : ${json.origin}`);
        console.log(`한글 타자로 : ${json.result}`);
    });

// request
let api_url = `https://mora-bot.kr/api/v1/en2ko?text=${encodeURI(`텍스트`)}`
const request = require('request');
let options = {
    url: api_url
}
request.get(options, function (error, response, body) {
    if (!error && response.status == 200) {
        let json = JSON.parse(body)
        console.log(`입력된 값 : ${json.origin}`);
        console.log(`한글 타자로 : ${json.result}`);
    } else {
        console.log('error = ' + response.errorcode);
    }
});
```

{% endcode %}

### Python

{% code lineNumbers="true" %}

```python
import requests

response = requests.get("http://mora-bot.kr/api/v1/en2ko?text=[텍스트]")
result = response.json()

if response.status == 200:
  print(result)
else:
  print(f"Error Code: {response.errorcode}")
```

{% endcode %}

## 한글 발음 → 영어 발음 <a href="#undefined" id="undefined"></a>

* GET URL : <https://mora-bot.kr/api/v1/ko2en?text={영어> 타자로 변환할 문장}

| Field  | Type   | Description |
| ------ | ------ | ----------- |
| origin | String | 호출된 문장      |
| result | String | 변환된 문장      |

{% code lineNumbers="true" %}

```json
// 응답 내용
{
    "license":"inko module used https://www.npmjs.com/package/inko",
    "status":200,
    "origin":"모라",
    "result":"ahfk",
    "success":true
}
```

{% endcode %}

### NodeJS

{% code lineNumbers="true" %}

```javascript
// node-fetch
const fetch = require('node-fetch')
fetch(`https://mora-bot.kr/api/v1/ko2en?text=${encodeURI(`텍스트`)}`)
    .then(res => res.json())
    .then(json => {
        console.log(json
        console.log(`입력된 값 : ${json.origin}`);
        console.log(`한글 타자로 : ${json.result}`);
    });

// request
let api_url = `https://mora-bot.kr/api/v1/ko2en?text=${encodeURI(`텍스트`)}`
const request = require('request');
let options = {
    url: api_url
}
request.get(options, function (error, response, body) {
    if (!error && response.status == 200) {
        let json = JSON.parse(body)
        console.log(`입력된 값 : ${json.origin}`);
        console.log(`한글 타자로 : ${json.result}`);
    } else {
        console.log('error = ' + response.errorcode);
    }
});
```

{% endcode %}

### Python

{% code lineNumbers="true" %}

```python
import requests

response = requests.get("https://mora-bot.kr/api/v1/ko2en?text=[텍스트]")
result = response.json()

if response.status == 200:
  print(result)
else:
  print(f"Error Code: {response.errorcode}")
```

{% endcode %}


# 캡챠

Mora Api 캡챠 입니다.

### Templates

* API는 모두 GET 메서드를 사용합니다
* GET URL : <https://mora-bot.kr/api/v1/captcha>

| Field | Type   | Description     |
| ----- | ------ | --------------- |
| url   | String | 이미지 주소를 반환한 URL |
| code  | String | 캡챠코드를 반환        |

{% code lineNumbers="true" %}

```json
// 응답 내용
{
    "message":"captcha image and code was returned",
    "status":200,
    "url":"https://dummyimage.com/2000x500/ffffff/33363c&text=snZojQ",
    "code":"snZojQ",
    "success":true
}
```

{% endcode %}

### NodeJS

{% code lineNumbers="true" %}

```javascript
// node-fetch
const fetch = require('node-fetch')
fetch('https://mora-bot.kr/api/v1/captcha')
    .then(res => res.json())
    .then(json => {
        let imgurl = json.url;
        let code = json.code;
        console.log(json)
    });

// request
let api_url = 'https://mora-bot.kr/api/v1/captcha'
const request = require('request');
let options = {
    url: api_url
}
request.get(options, function (error, response, body) {
    if (!error && response.status == 200) {
        let imgurl = JSON.parse(body).url;
        let code = JSON.parse(body).code;
        console.log(imgurl, code)
    } else {
        console.log('error = ' + response.errorcode);
    }
});
```

{% endcode %}

### Python

{% code lineNumbers="true" %}

```python
import requests

response = requests.get("https://mora-bot.kr/api/v1/captcha")
result = response.json()

if response.status == 200:
  print(result)
else:
  print(f"Error Code: {response.errorcode}")
```

{% endcode %}


# 깃허브

Mora Api 깃허브 입니다.

### Templates

* API는 모두 GET 메서드를 사용합니다
* GET URL : <https://mora-bot.kr/api/v1/github?username=\\[닉네임>]

| Field        | Type   | Description       |
| ------------ | ------ | ----------------- |
| name         | String | 호출된 계정의 이름        |
| nickname     | String | 호출된 계정의 닉네임       |
| url          | String | 호출된 계정의 링크        |
| introduction | String | 호출된 계정의 소개        |
| avatarurl    | String | 호출된 계정의 아바타 URL   |
| creation     | String | 호출된 계정의 계정생성일     |
| update       | String | 호출된 계정의 마지막 업데이트일 |

{% code lineNumbers="true" %}

```json
// 응답 내용
{
    "message":"Return succeeded.",
    "status":200,
    "name":"MORA-Team",
    "nickname":"모라 Team",
    "url":"https://github.com/MORA-Team",
    "introduction":null,
    "avatarurl":"https://avatars.githubusercontent.com/u/104973461?v=4",
    "creation":"2022-05-05T08:00:35Z",
    "update":"2022-08-23T23:18:26Z",
    "success":true
}
```

{% endcode %}

### NodeJS

{% code lineNumbers="true" %}

```javascript
// node-fetch
const fetch = require('node-fetch')
fetch('https://mora-bot.kr/api/v1/github?username=[닉네임]')
    .then(res => res.json())
    .then(json => {
        let imgurl = json.url;
        let code = json.code;
        console.log(json)
    });

// request
let api_url = 'https://mora-bot.kr/api/v1/github?username=[닉네임]'
const request = require('request');
let options = {
    url: api_url
}
request.get(options, function (error, response, body) {
    if (!error && response.status == 200) {
        let imgurl = JSON.parse(body).url;
        let code = JSON.parse(body).code;
        console.log(imgurl, code)
    } else {
        console.log('error = ' + response.errorcode);
    }
});
```

{% endcode %}

### Python

{% code lineNumbers="true" %}

```python
import requests

response = requests.get("https://mora-bot.kr/api/v1/github?username=[닉네임]")
result = response.json()

if response.status == 200:
  print(result)
else:
  print(f"Error Code: {response.errorcode}")
```

{% endcode %}


# 맞춤법검사

Mora Api 맞춤법검사 입니다.

### Templates

* API는 모두 GET 메서드를 사용합니다
* GET URL : <https://mora-bot.kr/api/v1/grammar?string={검사할> 문장}

| Field       | Type   | Description  |
| ----------- | ------ | ------------ |
| original    | String | 호출된 문장       |
| wrong       | String | 호출된 문장의 틀린부분 |
| suggestions | String | 호출된 문장의 추천문장 |
| more        | String | 호출된 문장의 해설   |

{% code lineNumbers="true" %}

```json
// 응답 내용
{
    "message":"there is nothing wrong",
    "license":"hanspell module used https://www.npmjs.com/package/hanspell",
    "status":200,
    "original":"안녕하세요",
    "errnum":0,
    "success":true
}
```

{% endcode %}

### NodeJS

{% code lineNumbers="true" %}

```javascript
// node-fetch
let text = '검사할 문장'
const fetch = require('node-fetch')
fetch(`https://mora-bot.kr/api/v1/grammar?string=${encodeURI(text)}`)
    .then(res => res.json())
    .then(json => {
        console.log(`라이선스 : ${json.license}`)
        console.log(`원래 문장 : ${json.original}`)
        console.log(`틀린 부분 : ${json.wrong}`)
        console.log(`추천 : ${json.suggestions}`)
        console.log(`해설 : ${json.more}`)
    });

// request
let text = '검사할 문장'
let api_url = `https://mora-bot.kr/api/v1/grammar?string=${encodeURI(text)}`
const request = require('request');
let options = {
    url: api_url
}
request.get(options, function (error, response, body) {
    if (!error && response.status == 200) {
        let json = JSON.parse(body)
        console.log(`라이선스 : ${json.license}`)
        console.log(`원래 문장 : ${json.original}`)
        console.log(`틀린 부분 : ${json.wrong || 0}`)
        console.log(`추천 : ${json.suggestions || '틀린 부분 없음'}`)
        console.log(`해설 : ${json.more || '틀린 부분 없음'}`)
    } else {
        console.log('error = ' + response.errorcode);
    }
});
```

{% endcode %}

### Python

{% code lineNumbers="true" %}

```python
import requests

response = requests.get("https:/mora-bot.kr/api/v1/grammar?string=검사할문장")
result = response.json()

if response.status == 200:
  print(result)
else:
  print(f"Error Code: {response.errorcode}")
```

{% endcode %}


# 발음번역

Mora Api 발음번역 입니다.

### Templates

* API는 모두 GET 메서드를 사용합니다
* GET URL : <https://mora-bot.kr/api/v1/hangulify?text={검사할> 문장}

| Field    | Type   | Description |
| -------- | ------ | ----------- |
| original | String | 호출된 문장      |
| result   | String | 반환된 내용      |

{% code lineNumbers="true" %}

```json
// 응답 내용
{
    "license":"kpop module used https://www.npmjs.com/package/kpop",
    "status":200,
    "original":"annyeong",
    "result":"안녕",
    "success":true
}
```

{% endcode %}

### NodeJS

{% code lineNumbers="true" %}

```javascript
// node-fetch
let text = '한국어로 발음 번역할 말';
const fetch = require('node-fetch')
fetch(`https://mora-bot.kr/api/v1/hangulify?text=${encodeURI(text)}`)
    .then(res => res.json())
    .then(json => {
        console.log(json)
        console.log(`원래 값 : ${json.original}`);
        console.log(`한글 발음화 : ${json.result}`);
    });

// request
let text = '한국어로 발음 번역할 말'
let api_url = `https://mora-bot.kr/api/v1/hangulify?text=${encodeURI(text)}`
const request = require('request');
let options = {
    url: api_url
}
request.get(options, function (error, response, body) {
    if (!error && response.status == 200) {
        let json = JSON.parse(body)
        console.log(`원래 값 : ${json.original}`);
        console.log(`한글 발음화 : ${json.result}`);
    } else {
        console.log('error = ' + response.errorcode);
    }
});
```

{% endcode %}

### Python

{% code lineNumbers="true" %}

```python
import requests

response = requests.get("https://mora-bot.kr/api/v1/hangulify?text=Juan")
result = response.json()

if response.status_code == 200:
  print(result)
  print(result['status'])
  print(result['original'])
  print(result['success'])
  print(result['result'])
  print(result['license'])
else:
  print(f"Error Code: {result['status']}")
```

{% endcode %}


# 랜덤숫자

Mora Api 랜덤숫자 입니다.

### Templates

* API는 모두 GET 메서드를 사용합니다
* GET URL : <https://mora-bot.kr/api/v1/randomnumber?min={최소값}\\&max=${최대값}>

| Field   | Type   | Description |
| ------- | ------ | ----------- |
| minimum | String | 입력한 최소 수    |
| maximum | String | 입력한 최대 수    |
| result  | Number | 반환된 랜덤숫자    |
| code    | String | 숫자 지원코드     |

{% code lineNumbers="true" %}

```json
// 응답 내용
{
    "status":200,
    "minimum":"1",
    "maximum":"5",
    "result":2,
    "code":"9fcbd626-eb8c-4daf-b927-f3913d19f17b",
    "success":true
}
```

{% endcode %}

### NodeJS

{% code lineNumbers="true" %}

```javascript
// node-fetch
let min = 0;
let max = 10;
const fetch = require('node-fetch')
fetch(`https://mora-bot.kr/api/v1/randomnumber?min=${min}&max=${max}`)
    .then(res => res.json())
    .then(json => {
        console.log(json)
        console.log(`최소값 : ${json.minimum}`);
        console.log(`최대값 : ${json.maximum}`);
        console.log(`결과 : ${json.result}`);
    });

// request
let min = 0;
let max = 10;
let api_url = `https://mora-bot.kr/api/v1/randomnumber?min=${min}&max=${max}`
const request = require('request');
let options = {
    url: api_url
}
request.get(options, function (error, response, body) {
    if (!error && response.status == 200) {
        let json = JSON.parse(body)
        console.log(`최소값 : ${json.minimum}`);
        console.log(`최대값 : ${json.maximum}`);
        console.log(`결과 : ${json.result}`);
    } else {
        console.log('error = ' + response.errorcode);
    }
});
```

{% endcode %}

### Python

{% code lineNumbers="true" %}

```python
import requests

response = requests.get("https://mora-bot.kr/api/v1/randomnumber?min=0&max=10")
result = response.json()

if response.status == 200:
  print(result)
else:
  print(f"Error Code: {response.errorcode}")
```

{% endcode %}


# 글자뒤집기

Mora Api 글자뒤집기 입니다.

### Templates

* API는 모두 GET 메서드를 사용합니다
* GET URL : <https://mora-bot.kr/api/v1/reverse?text={뒤집을> 글자}

| Field    | Type   | Description |
| -------- | ------ | ----------- |
| original | String | 호출된 문장      |
| result   | String | 반환된 문장      |

{% code lineNumbers="true" %}

```json
// 응답 내용
{
    "status":200,
    "original":"안녕",
    "result":"녕안",
    "success":true
}
```

{% endcode %}

### NodeJS

{% code lineNumbers="true" %}

```javascript
// node-fetch
let text = '뒤집을 텍스트';
const fetch = require('node-fetch')
fetch(`https://mora-bot.kr/api/v1/reverse?text=${encodeURI(text)}`)
    .then(res => res.json())
    .then(json => {
        console.log(json)
        console.log(`뒤집기 전 : ${json.original}`);
        console.log(`뒤집은 후 : ${json.result}`);
    });

// request
let text = '뒤집을 텍스트'
let api_url = `https://mora-bot.kr/api/v1/reverse?text=${encodeURI(text)}`
const request = require('request');
let options = {
    url: api_url
}
request.get(options, function (error, response, body) {
    if (!error && response.status == 200) {
        let json = JSON.parse(body)
        console.log(`뒤집기 전 : ${json.original}`);
        console.log(`뒤집은 후 : ${json.result}`);
    } else {
        console.log('error = ' + response.errorcode);
    }
});
```

{% endcode %}

### Python

{% code lineNumbers="true" %}

```python
import requests

response = requests.get("https://mora-bot.kr/api/v1/reverse?text=ThankYou")
result = response.json()

if response.status == 200:
  print(result)
else:
  print(f"Error Code: {response.errorcode}")
```

{% endcode %}


# URL단축

Mora Api URL단축 입니다.

### Templates

* API는 모두 GET 메서드를 사용합니다
* GET URL : <https://mora-bot.kr/api/v1/shorten?url={단축할> URL}

| Field    | Type   | Description |
| -------- | ------ | ----------- |
| url      | String | 반환된 단축 URL  |
| code     | String | 반환된 단축 코드   |
| original | String | 호출된 URL     |

{% code lineNumbers="true" %}

```json
// 응답 내용
{
    "message":"successfully registered link",
    "status":200,
    "url":"https://mora-bot.kr/u/Qjadtj3",
    "code":"Qjadtj3",
    "original":"https://mora-bot.kr",
    "success":true
}
```

{% endcode %}

### NodeJS

{% code lineNumbers="true" %}

```javascript
// node-fetch
let link = '단축할 URL'
const fetch = require('node-fetch')
fetch(`https://mora-bot.kr/api/v1/shorten?url=${encodeURI(link)}`)
    .then(res => res.json())
    .then(json => {
        console.log(`원래 링크 : ${json.original}`)
        console.log(`변환된 링크 : ${json.url}`)
        console.log(`URL 해시 : ${json.code}`)
    });

// request
let link = '단축할 URL'
let api_url = `https://mora-bot.kr/api/v1/shorten?url=${encodeURI(link)}`
const request = require('request');
let options = {
    url: api_url
}
request.get(options, function (error, response, body) {
    if (!error && response.status == 200) {
        let json = JSON.parse(body)
        console.log(`원래 링크 : ${json.original}`)
        console.log(`변환된 링크 : ${json.url}`)
        console.log(`URL 해시 : ${json.code}`)
    } else {
        console.log('error = ' + response.errorcode);
    }
});
```

{% endcode %}

### Python

{% code lineNumbers="true" %}

```python
import requests

response = requests.get("https://mora-bot.kr/api/v1/shorten?url=https://mora-bot.kr")
result = response.json()

if response.status == 200:
  print(result)
else:
  print(f"Error Code: {response.errorcode}")
```

{% endcode %}


# Version 2

v2 API 가이드 입니다.

* 아래 메뉴를 통해 궁금하신 API 가이드를 확인해보세요!<br>
  1. [검열기](https://docs.mora-bot.kr/api/guide/version2/검열기)
  2. [깃허브](https://docs.mora-bot.kr/api/guide/version2/깃허브)
  3. [날씨](https://docs.mora-bot.kr/api/guide/version2/날씨)
  4. [랜덤일러스트](https://docs.mora-bot.kr/api/guide/version2/랜덤일러스트)
  5. [자동응답](https://docs.mora-bot.kr/api/guide/version2/자동응답)
  6. [캡챠](https://docs.mora-bot.kr/api/guide/version2/캡챠)
  7. [QR코드](https://docs.mora-bot.kr/api/guide/version2/QR코드)


# 검열기

Mora Api 검열기 입니다.

### Templates

* API는 모두 GET 메서드를 사용합니다
* GET URL : <https://mora-bot.kr/api/v2/korcen?text=\\[조회할> 단어]

| Field   | Type    | Description |
| ------- | ------- | ----------- |
| success | Boolean | 검열여부        |

{% code lineNumbers="true" %}

```json
// 응답 내용
{
    "status":200,
    "success":false
}
```

{% endcode %}

### NodeJS

{% code lineNumbers="true" %}

```javascript
// node-fetch
const fetch = require('node-fetch')
fetch(`https://mora-bot.kr/api/v2/korcen?text=[조회할 단어]`)
    .then(res => res.json())
    .then(json => {
        console.log(json)
    });

// request
const request = require('request');
let options = {
    url: `https://mora-bot.kr/api/v2/korcen?text=[조회할 단어]`
}
request.get(options, function (error, response, body) {
    if (!error && response.status == 200) {
        let json = JSON.parse(body)
        console.log(`검열여부 : ${json.success}`);
    } else {
        console.log('error = ' + response.errorcode);
    }
});
```

{% endcode %}

### Python

{% code lineNumbers="true" %}

```python
import requests

response = requests.get("https://mora-bot.kr/api/v2/korcen?text=[조회할 단어]")
result = response.json()

if response.status_code == 200:
  print(result)
else:
  print(f"Error Code: {result['status']}")
```

{% endcode %}


# 깃허브

Mora Api 깃허브 입니다.

### Templates

* API는 모두 GET 메서드를 사용합니다
* GET URL : <https://mora-bot.kr/api/v2/github?username=\\[조회할유저> 닉네임]

| Field        | Type   | Description       |
| ------------ | ------ | ----------------- |
| name         | String | 호출된 계정의 이름        |
| nickname     | String | 호출된 계정의 닉네임       |
| url          | String | 호출된 계정의 링크        |
| company      | String | 호출된 계정의 소속회사      |
| area         | String | 호출된 계정의 지역        |
| email        | String | 호출된 계정의 이메일       |
| introduction | String | 호출된 계정의 소개        |
| id           | Number | 호출된 계정의 생성시간      |
| node         | String | 호출된 계정의 고유코드      |
| gravatar     | String | 호출된 계정의 아바타       |
| followers    | String | 호출된 계정을 팔로우한 수    |
| following    | String | 호출된 계정의 팔로윙한 수    |
| twitter      | String | 호출된 계정의 트위터       |
| avatarurl    | String | 호출된 계정의 아바타 URL   |
| type         | String | 호출된 계정의 계정타입      |
| creation     | String | 호출된 계정의 계정생성일     |
| update       | String | 호출된 계정의 마지막 업데이트일 |

{% code lineNumbers="true" %}

```json
// 응답 내용
{
    "message": "Return succeeded.",
    "status": 200,
    "name": "erukim",
    "nickname": "이루",
    "url": "https://github.com/erukim",
    "company": "@hiplaygit ",
    "area": null,
    "email": null,
    "introduction": "방송을 하면서 개발과 온라인사업을 하는 이루입니다.\r\n@Dev-Korea-Server @MORA-Team @Team-Laon @Team-Social-Dev ",
    "info": {
        "id": 100296449,
        "node": "U_kgDOBfpnAQ",
        "gravatar": ""
    },
    "followers": 5,
    "following": 6,
    "twitter": null,
    "avatarurl": "https://avatars.githubusercontent.com/u/100296449?v=4",
    "type": "User",
    "creation": "2022-02-23T14:46:16Z",
    "update": "2022-11-09T14:29:24Z",
    "success": true
}
```

{% endcode %}

### NodeJS

{% code lineNumbers="true" %}

```javascript
// node-fetch
const fetch = require('node-fetch')
fetch(`https://mora-bot.kr/api/v2/github?username=[조회할유저 닉네임]`)
    .then(res => res.json())
    .then(json => {
        console.log(json)
    });

// request
const request = require('request');
let options = {
    url: `https://mora-bot.kr/api/v2/github?username=[조회할유저 닉네임]`
}
request.get(options, function (error, response, body) {
    if (!error && response.status == 200) {
        let json = JSON.parse(body)
        console.log(`조회값 : ${json}`);
    } else {
        console.log('error = ' + response.errorcode);
    }
});
```

{% endcode %}

### Python

{% code lineNumbers="true" %}

```python
import requests

response = requests.get("https://mora-bot.kr/api/v2/github?username=[조회할유저 닉네임]")
result = response.json()

if response.status_code == 200:
  print(result)
else:
  print(f"Error Code: {result['status']}")
```

{% endcode %}


# 날씨

Mora Api 날씨 입니다.

### Templates

* API는 모두 GET 메서드를 사용합니다
* GET URL : <https://mora-bot.kr/api/v2/weather?area=\\[지역>]

| Field                | Type   | Description |
| -------------------- | ------ | ----------- |
| time                 | String | 조회된 지역 시간   |
| Temperature          | String | 조회된 지역 온도   |
| windchilltemperature | String | 조회된 지역 체감온도 |
| wind                 | String | 조회된 지역 풍향   |
| Humidity             | String | 조회된 지역 습도   |

{% code lineNumbers="true" %}

```json
// 응답 내용
{
    "status": 200,
    "time": "GMT-9",
    "Temperature": "5°",
    "windchilltemperature": "2°",
    "wind": "18 km/h Northwest",
    "Humidity": "75%",
    "success": true
}
```

{% endcode %}

### NodeJS

{% code lineNumbers="true" %}

```javascript
// node-fetch
const fetch = require('node-fetch')
fetch(`https://mora-bot.kr/api/v2/weather?area=[지역]`)
    .then(res => res.json())
    .then(json => {
        console.log(json)
    });

// request
const request = require('request');
let options = {
    url: `https://mora-bot.kr/api/v2/weather?area=[지역]`
}
request.get(options, function (error, response, body) {
    if (!error && response.status == 200) {
        let json = JSON.parse(body)
        console.log(`반환값 : ${json}`);
    } else {
        console.log('error = ' + response.errorcode);
    }
});
```

{% endcode %}

### Python

{% code lineNumbers="true" %}

```python
import requests

response = requests.get("https://mora-bot.kr/api/v2/weather?area=[지역]")
result = response.json()

if response.status_code == 200:
  print(result)
else:
  print(f"Error Code: {result['status']}")
```

{% endcode %}


# 랜덤일러스트

Mora Api 랜덤일러스트 입니다.

### Templates

* API는 모두 GET 메서드를 사용합니다
* GET URL : <https://mora-bot.kr/api/v2/iIller>

### NodeJS

{% code lineNumbers="true" %}

```javascript
// node-fetch
const fetch = require('node-fetch')
fetch(`https://mora-bot.kr/api/v2/iIller`)
    .then(res => res.json())
    .then(json => {
        console.log(json)
    });

// request
const request = require('request');
let options = {
    url: `https://mora-bot.kr/api/v2/iIller`
}
request.get(options, function (error, response, body) {
    if (!error && response.status == 200) {
        let json = JSON.parse(body)
        console.log(`원래 값 : ${json}`);
    } else {
        console.log('error = ' + response.errorcode);
    }
});
```

{% endcode %}

### Python

{% code lineNumbers="true" %}

```python
import requests

response = requests.get("https://mora-bot.kr/api/v2/iIller")
result = response.json()

if response.status_code == 200:
  print(result)
else:
  print(f"Error Code: {result['status']}")
```

{% endcode %}


# 캡챠

Mora Api 캡챠 입니다.

### Templates

* API는 모두 GET 메서드를 사용합니다
* GET URL : <https://mora-bot.kr/api/v2/captcha>

| Field    | Type   | Description    |
| -------- | ------ | -------------- |
| img\_url | String | 반환된 캡챠 이미지 URL |
| code     | String | 반환된 캡챠 코드      |

{% code lineNumbers="true" %}

```json
// 응답 내용
{
    "status": 200,
    "Description": "캡챠가 정상적으로 호출되었습니다.",
    "img_url": "http://mora-bot.kr/api/v2/captcha/IuVRKhvw6v",
    "code": "680747"
}
```

{% endcode %}

### NodeJS

{% code lineNumbers="true" %}

```javascript
// node-fetch
const fetch = require('node-fetch')
fetch(`https://mora-bot.kr/api/v2/captcha`)
    .then(res => res.json())
    .then(json => {
        console.log(json)
    });

// request
const request = require('request');
let options = {
    url: `https://mora-bot.kr/api/v2/captcha`
}
request.get(options, function (error, response, body) {
    if (!error && response.status == 200) {
        let json = JSON.parse(body)
        console.log(`반환값 : ${json}`);
    } else {
        console.log('error = ' + response.errorcode);
    }
});
```

{% endcode %}

### Python

{% code lineNumbers="true" %}

```python
import requests

response = requests.get("https://mora-bot.kr/api/v2/captcha")
result = response.json()

if response.status_code == 200:
  print(result)
else:
  print(f"Error Code: {result['status']}")
```

{% endcode %}


# QR코드

Mora Api QR코드 입니다.

### Templates

* API는 모두 GET 메서드를 사용합니다
* GET URL : <https://mora-bot.kr/api/v2/qr?url=\\[링크>]

| Field | Type   | Description |
| ----- | ------ | ----------- |
| Image | String | 반환된 QR URL  |

{% code lineNumbers="true" %}

```json
// 응답 내용
{
    "status": 200,
    "Image": "https://chart.googleapis.com/chart?cht=qr&chl=https%3A%2F%2Fmora-bot.kr&chs=480x480&choe=UTF-8&chld=L|1",
    "success": true
}
```

{% endcode %}

### NodeJS

{% code lineNumbers="true" %}

```javascript
// node-fetch
const fetch = require('node-fetch')
fetch(`https://mora-bot.kr/api/v2/qr?url=[링크]`)
    .then(res => res.json())
    .then(json => {
        console.log(json)
    });

// request
const request = require('request');
let options = {
    url: `https://mora-bot.kr/api/v2/qr?url=[링크]`
}
request.get(options, function (error, response, body) {
    if (!error && response.status == 200) {
        let json = JSON.parse(body)
        console.log(`QRLINK : ${json.Image}`);
    } else {
        console.log('error = ' + response.errorcode);
    }
});
```

{% endcode %}

### Python

{% code lineNumbers="true" %}

```python
import requests

response = requests.get("https://mora-bot.kr/api/v2/qr?url=[링크]")
result = response.json()

if response.status_code == 200:
  print(result)
else:
  print(f"Error Code: {result['status']}")
```

{% endcode %}


# Version 3

v3 API 가이드 입니다.

* 아래 메뉴를 통해 궁금하신 API 가이드를 확인해보세요!
  1. [가사](https://docs.mora-bot.kr/api/guide/version3/%EA%B0%80%EC%82%AC)
  2. [NSFW](https://docs.mora-bot.kr/api/guide/version3/NSFW)


# 가사

Mora Api 가사 입니다.

### Templates

* API는 모두 GET 메서드를 사용합니다
* GET URL : <https://mora-bot.kr/api/v3/lyrics?singer=\\[가수]\\&title=\\[제목>]

| Field  | Type   | Description |
| ------ | ------ | ----------- |
| singer | String | 반환된 가수      |
| title  | String | 반환된 제목      |
| lyrics | String | 반환된 가사      |

{% code lineNumbers="true" %}

```json
// 응답 내용
{
    "status": 200,
    "singer": "아이유",
    "title": "잔소리",
    "lyrics": "가사내용"
}
```

{% endcode %}

### NodeJS

{% code lineNumbers="true" %}

```javascript
// node-fetch
const fetch = require('node-fetch')
fetch(`https://mora-bot.kr/api/v3/lyrics?singer=[가수]&title=[제목]`)
    .then(res => res.json())
    .then(json => {
        console.log(json)
    });

// request
const request = require('request');
let options = {
    url: `https://mora-bot.kr/api/v3/lyrics?singer=[가수]&title=[제목]`
}
request.get(options, function (error, response, body) {
    if (!error && response.status == 200) {
        let json = JSON.parse(body)
        console.log(`가사 : ${json.lyrics}`);
    } else {
        console.log('error = ' + response.errorcode);
    }
});
```

{% endcode %}

### Python

{% code lineNumbers="true" %}

```python
import requests

response = requests.get("https://mora-bot.kr/api/v3/lyrics?singer=[가수]&title=[제목]")
result = response.json()

if response.status_code == 200:
  print(result)
else:
  print(f"Error Code: {result['status']}")
```

{% endcode %}


# NSFW

Mora Api NSFW 입니다.

### Templates

* API는 모두 GET 메서드를 사용합니다
* waifu 에 nsfw가 사용되었습니다.
* GET URL : <https://mora-bot.kr/api/v3/nsfw>

| Field | Type   | Description |
| ----- | ------ | ----------- |
| img   | String | 반환된 이미지     |

{% code lineNumbers="true" %}

```json
// 응답 내용
{
    "status": 200,
    "img": "https://i.waifu.pics/"
}
```

{% endcode %}

### NodeJS

{% code lineNumbers="true" %}

```javascript
// node-fetch
const fetch = require('node-fetch')
fetch(`https://mora-bot.kr/api/v3/nsfw`)
    .then(res => res.json())
    .then(json => {
        console.log(json)
    });

// request
const request = require('request');
let options = {
    url: `https://mora-bot.kr/api/v3/nsfw`
}
request.get(options, function (error, response, body) {
    if (!error && response.status == 200) {
        let json = JSON.parse(body)
        console.log(`이미지 : ${json.img}`);
    } else {
        console.log('error = ' + response.errorcode);
    }
});
```

{% endcode %}

### Python

{% code lineNumbers="true" %}

```python
import requests

response = requests.get("https://mora-bot.kr/api/v3/nsfw")
result = response.json()

if response.status_code == 200:
  print(result)
else:
  print(f"Error Code: {result['status']}")
```

{% endcode %}


# 업데이트 소식

Mora Update 소식을 알수 있는 공간입니다.

### \[ 업데이트 예정 기능 ]

* V2 Github API 수정
* API Guide 직관화

<details>

<summary>📢 업데이트 관련하여 알려드립니다</summary>

* Mora의 업데이트이후 에러가 발생하실 경우 [문의하기](https://docs.mora-bot.kr/help)에서 하실수 있습니다!
* 업데이트 이후 불안정한 현상이 발생한다면 아래 단축키로 캐시 삭제를 시도해 주세요.\
  (※ 윈도우 OS: `Ctrl` + `Shift` + `R` / 맥 OS: `Command` + `Shift` + `R`)
* 캐시 삭제 이후로도 문제가 발생한다면 [Mora 고객센터](https://docs.mora-bot.kr/help)로 즉시 문의해 주세요.

</details>

### \[ 2023년 업데이트 내역 ]

<table><thead><tr><th width="193">날짜</th><th>업데이트 내역</th></tr></thead><tbody><tr><td><a href="/pages/3629Y3qdpSHDGV8PhOC6">2023년 9월 23일</a></td><td>API Base URL 수정</td></tr><tr><td><a href="/pages/BbcouvkqULUCzNUrvO2w">2023년 9월 18일</a></td><td>API 응답 방식 변경 및 노출 변경</td></tr><tr><td><a href="/pages/51zgUo9ZHGszv71B8JIE">2023년 9월 5일</a></td><td>API 스테이블 코드 추가 및 수정</td></tr></tbody></table>


# 2023년 9월 23일

Base URL 수정

## 1. Base URL 수정

> 기존 api.mora-bot.kr 에서 mora-bot.kr/api 로 호출 주소가 변경되었습니다.


# 2023년 9월 18일

API 응답 방식 변경 및 노출 변경

## 1. API 삭제

> AI(자동응답) API가 2023-09-OO 일로 서비스가 운영 중단되었습니다.

## 2. API 쿼리 변경

> 기존 URL에 데이터를 전송하던 방식에서 쿼리 방식으로 변경되었습니다. 자세한 정보는 각 API 페이지를 참고 하여 주시기 바랍니다.


# 2023년 9월 5일

API 스테이블 코드 수정

## 1. 스테이블 코드 수정

> 기존 429 스테이블코드가 레이트 리밋이였으나 402로 변경되었습니다.

## 2. 스테이블 코드 추가

> 스테이블 코드 303가 추가되었습니다. (서비스가 개발중이거나 점검중일 경우) 스테이블 코드 304가 추가되었습니다. (서비스 제공이 중단될 경우)


