API 문서
개요
디스호스트 봇 리스트 API를 사용하면 여러분의 봇 통계를 자동으로 업데이트할 수 있습니다. API 키는 봇 등록 및 소유권 인증 후 발급받을 수 있습니다.
🔑 API 키 발급
- 디스코드로 로그인합니다.
- "봇 등록" 페이지에서 봇 ID를 입력합니다.
- 발급받은 인증 코드를 봇 프로필의 "About Me"에 추가합니다.
- "내 봇" 페이지에서 "인증" 버튼을 클릭합니다.
- 인증 완료 시 API 키가 발급됩니다. (한 번만 표시되므로 안전하게 보관하세요!)
📊 POST /bots/stats
봇의 서버 수를 업데이트합니다.
Endpoint
POST https://listapi.dishost.kr/bots/statsHeaders (권장)
X-API-Key: YOUR_API_KEY
Content-Type: application/jsonRequest Body
{
"server_count": 1234
}Response
{
"message": "통계가 업데이트되었습니다.",
"isCertified": true
}✅ 디스호스트 인증
디스호스트 호스팅의 IP 주소에서 통계를 제출하면 자동으로 "디스호스트 인증" 배지가 부여됩니다.
- 인증 배지는 메인 페이지에서 ✅ 이모지로 표시됩니다.
- 3일 이상 통계를 업데이트하지 않으면 인증이 해제됩니다.
- 디스호스트 호스팅을 이용하지 않아도 봇을 등록하고 사용할 수 있습니다.
💻 예제 코드
curl
curl -X POST https://listapi.dishost.kr/bots/stats \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"server_count": 1234}'JavaScript (Node.js)
const axios = require('axios');
async function updateStats(serverCount) {
try {
const response = await axios.post(
'https://listapi.dishost.kr/bots/stats',
{ server_count: serverCount },
{
headers: {
'X-API-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json'
}
}
);
console.log('통계 업데이트 성공:', response.data);
} catch (error) {
console.error('통계 업데이트 실패:', error.message);
}
}
// Discord.js 예제
client.on('ready', () => {
updateStats(client.guilds.cache.size);
// 1시간마다 업데이트
setInterval(() => {
updateStats(client.guilds.cache.size);
}, 60 * 60 * 1000);
});Python
import requests
def update_stats(server_count):
url = 'https://listapi.dishost.kr/bots/stats'
headers = {
'X-API-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json'
}
data = {'server_count': server_count}
try:
response = requests.post(url, json=data, headers=headers)
response.raise_for_status()
print('통계 업데이트 성공:', response.json())
except requests.exceptions.RequestException as e:
print('통계 업데이트 실패:', str(e))
# Discord.py 예제
@client.event
async def on_ready():
update_stats(len(client.guilds))
# 1시간마다 업데이트
async def update_loop():
while True:
await asyncio.sleep(3600)
update_stats(len(client.guilds))
client.loop.create_task(update_loop())🔍 GET /bots/check-vote
특정 유저가 오늘 투표했는지 확인합니다. (봇 소유자만 사용 가능)
Endpoint
GET https://listapi.dishost.kr/bots/check-vote?user_id=DISCORD_USER_IDHeaders
X-API-Key: YOUR_API_KEYQuery Parameters
user_id: Discord 유저 ID (필수)
Response
{
"voted": true,
"votedAt": "2025-11-08T12:34:56Z"
}사용 예제
// Discord.js 예제 - 투표한 유저에게 리워드 지급
client.on('messageCreate', async (message) => {
if (message.content === '!리워드') {
const response = await fetch(
`https://listapi.dishost.kr/bots/check-vote?user_id=${message.author.id}`,
{
headers: {
'X-API-Key': 'YOUR_API_KEY'
}
}
);
const data = await response.json();
if (data.voted) {
message.reply('투표 감사합니다! 리워드가 지급되었습니다. 🎁');
// 리워드 지급 로직
} else {
message.reply('먼저 투표해주세요! https://list.dishost.kr/bots/YOUR_BOT_ID');
}
}
});⚠️ 주의사항
- API 키는 절대 공개하거나 공유하지 마세요.
- 통계는 최소 1시간에 한 번만 업데이트하는 것을 권장합니다.
- 과도한 요청은 제한될 수 있습니다.
- API 키 분실 시 "내 봇" 페이지에서 재발급받을 수 있습니다.
