mirror of
https://github.com/koreanbots/core.git
synced 2025-12-15 14:10:22 +00:00
feat: fetching docs from github
This commit is contained in:
parent
9b4935f015
commit
07d56c0db0
@ -1,91 +1,37 @@
|
||||
import { NextPage } from 'next'
|
||||
import { GetStaticProps, NextPage } from 'next'
|
||||
import dynamic from 'next/dynamic'
|
||||
|
||||
const Docs = dynamic(()=> import('@components/Docs'))
|
||||
import { SpecialEndPoints } from '@utils/Constants'
|
||||
|
||||
const Privacy: NextPage = () => {
|
||||
|
||||
const Docs = dynamic(()=> import('@components/Docs'))
|
||||
const Markdown = dynamic(() => import('@components/Markdown'))
|
||||
|
||||
|
||||
const Guidelines: NextPage<GuidelinesProps> = ({ content }) => {
|
||||
return (
|
||||
<Docs
|
||||
header='가이드라인'
|
||||
description='리스트에 등재되는 모든 봇들이 지켜야하는 가이드라인입니다!'
|
||||
subheader='최초 작성: 2020-04-30 수정: 2020-05-15'
|
||||
>
|
||||
<h1 className='mb-3 text-4xl font-bold'>KOREANBOTS에 오신 것을 환영합니다.</h1>
|
||||
<p>봇 추가 또는 등재 유지를 위해서 반드시 지켜야할 가이드라인들입니다.</p>
|
||||
<p>가이드라인 위반이 확인될 경우, 거부 또는 삭제 처리될 수 있음을 알려드립니다.</p>
|
||||
<h2 className='mt-10 text-3xl font-semibold' id='봇'>
|
||||
봇
|
||||
</h2>
|
||||
<p>아래는 봇 추가를 위해 반드시 지켜야할 규칙입니다.</p>
|
||||
<ul className='list-inside list-disc'>
|
||||
<li>반드시 디스코드 서버에 참가해주세요.</li>
|
||||
<li>카테고리는 정확하게 지정해주세요 (NSFW의 경우 반드시 NSFW를 지정해주셔야합니다.)</li>
|
||||
<li>
|
||||
오픈소스가 베이스가 되는 봇(유사한 점이 인정되는 경우는 설명란에 해당 오픈소스를
|
||||
기재해주세요)
|
||||
</li>
|
||||
<li>
|
||||
100퍼센트 업타임을 유지할 필요는 없지만, 심사 시간 기준으로 오프라인일 경우 심사
|
||||
거부됩니다.
|
||||
</li>
|
||||
<li>한국인 개발자가 개발하였으며, 한국어를 지원</li>
|
||||
<li>서버로 초대할 수 있는 공개봇 (특수목적의 봇은 제외)</li>
|
||||
<li>
|
||||
오픈소스봇을 따로 거부하지는 않지만, 반드시 <strong>라이선스</strong>를 지켜주세요.
|
||||
원작자가 문제 제기할 경우, 통보없이 봇이 삭제되거나 거부될 수 있습니다.
|
||||
<ul className='pl-3 list-inside list-disc'>
|
||||
<li>
|
||||
오픈소스 라이선스에 <strong>원소스를 표시해야 한다는 조항</strong>(MIT 등 해당)이
|
||||
있다면, 소스같은 곳뿐만 아니라 반드시 봇 설명에 기재해주세요.
|
||||
</li>
|
||||
<li>
|
||||
한 두개의 명령어까지 관여할 수는 없지만, 봇의 베이스 소스(예시: Just Some Bot을 활용한
|
||||
뮤직봇, RedBot 기반 봇.)에
|
||||
<br />
|
||||
오픈소스가 사용되었을 경우, 반드시 라이선스에 관한 조항을 봇 설명에 표시해주세요.
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h3 className='mt-x text-lg font-semibold' id='금지사항'>
|
||||
금지사항
|
||||
</h3>
|
||||
<p>다음 항목에 해당하는 봇의 등록을 거부할 수 있습니다.</p>
|
||||
<ul className='list-inside list-disc'>
|
||||
<li>불법 프로그램 홍보 또는 판매 기타 행위를 조장하는 봇.</li>
|
||||
<li>
|
||||
디스코드 <strong>TOS</strong>나 <strong>가이드라인</strong>, <strong>개발자 약관</strong>
|
||||
에 위반되는 봇.
|
||||
</li>
|
||||
<li>
|
||||
서버 테러를 시도하거나, 무단으로 의도하여 채널,역할 등을 삭제/수정을 시도 또는 이력이
|
||||
존재하는 경우
|
||||
</li>
|
||||
<li>대한민국 법을 위반하거나 오픈소스 라이선스, API 라이선스등을 위반한 봇</li>
|
||||
</ul>
|
||||
<h2 className='mt-10 text-3xl font-semibold' id='유저'>
|
||||
유저
|
||||
</h2>
|
||||
<p>
|
||||
다음 항목에 해당하는 유저가 제작에 참여하고 있는(과거에 제작 참여 이력과는 관련 없음) 봇의
|
||||
등록을 거부할 수 있습니다.
|
||||
</p>
|
||||
<ul className='list-inside list-disc'>
|
||||
<li>
|
||||
디스코드 <strong>TOS</strong>나 <strong>가이드라인</strong>, <strong>개발자 약관</strong>{' '}
|
||||
또는 <strong>대한민국 법</strong>, <strong>오픈소스 라이선스</strong>,{' '}
|
||||
<strong>기타 라이선스</strong> 중 하나 이상을 위반 하고 있는 경우
|
||||
</li>
|
||||
</ul>
|
||||
<p className='mt-10'>
|
||||
위 항목들은 정확하게 인정되기 전까지는 처리할 수 없습니다. 또한, 처리하기 전에는 반드시
|
||||
유저에게 통보를 시도해야합니다.
|
||||
</p>
|
||||
<p>
|
||||
당사의 가이드라인은 <strong>대한민국 국내법</strong>이 상위 적용됩니다.
|
||||
</p>
|
||||
<Markdown text={content} />
|
||||
</Docs>
|
||||
)
|
||||
}
|
||||
|
||||
export default Privacy
|
||||
interface GuidelinesProps {
|
||||
content: string
|
||||
}
|
||||
|
||||
export const getStaticProps: GetStaticProps<GuidelinesProps> = async () => {
|
||||
const res = await fetch(SpecialEndPoints.Github.Content('koreanbots', 'terms', 'guidelines.md'))
|
||||
const json = await res.json()
|
||||
return {
|
||||
props: {
|
||||
content: Buffer.from(json.content, 'base64').toString('utf-8')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default Guidelines
|
||||
|
||||
|
||||
@ -1,125 +1,32 @@
|
||||
import { NextPage } from 'next'
|
||||
import { GetStaticProps, NextPage } from 'next'
|
||||
import dynamic from 'next/dynamic'
|
||||
import fetch from 'node-fetch'
|
||||
|
||||
import { SpecialEndPoints } from '@utils/Constants'
|
||||
|
||||
const Docs = dynamic(()=> import('@components/Docs'))
|
||||
const Markdown = dynamic(() => import('@components/Markdown'))
|
||||
|
||||
const Privacy: NextPage = () => {
|
||||
const Privacy: NextPage<PrivacyProps> = ({ content }) => {
|
||||
return (
|
||||
<Docs header='개인정보취급방침' description='저희가 개인정보를 취급하는 방침입니다.'>
|
||||
<h2 className='mt-10 text-3xl font-medium'>개인정보 처리의 목적</h2>
|
||||
<p>
|
||||
"한국 디스코드봇 리스트"('https://koreanbots.dev')는 다음 목적을 위하여 개인정보를 처리하고
|
||||
있으며, 다음 목적 이외의 용도로는 사용하지 않습니다.
|
||||
</p>
|
||||
<ul className='list-inside list-disc'>
|
||||
<li>웹사이트에 표시 및 서비스 제공</li>
|
||||
<li>빠른 웹사이트 문제 수정</li>
|
||||
<li>사이트와 유저의 보안 유지</li>
|
||||
</ul>
|
||||
<h2 className='mt-10 text-3xl font-medium'>수집하는 개인정보 항목</h2>
|
||||
<ul className='list-inside list-disc'>
|
||||
<li>
|
||||
유저: 디스코드 Oauth를 통한 정보(이메일, 디스코드 유저의 ID, 아바타, 유저네임과 태그,
|
||||
접속해있는 길드), 접속로그(IP주소, 접속 기기정보), 유저의 봇 투표 정보 | 선택항목: Github
|
||||
닉네임
|
||||
</li>
|
||||
<li>
|
||||
봇: 등록일, ID, 이름, 태그, 디스코드 인증 여부, 소유자, 라이브러리, 접두사, 투표정보, 서버
|
||||
수, 봇 설명, 카테고리, 봇 Status | 선택항목: 웹사이트, GIT URL, 초대링크, 디스코드 서버
|
||||
링크
|
||||
</li>
|
||||
</ul>
|
||||
<h2 className='mt-10 text-3xl font-medium'>개인정보 보유 및 이용기간</h2>
|
||||
<p>
|
||||
개인정보는 <strong>서비스 종료시까지 보관을 원칙</strong>으로 하며, 유저의 요청시 언제든지
|
||||
파기할 수 있습니다.
|
||||
</p>
|
||||
<h2 className='mt-10 text-3xl font-medium'>이용자 및 법정 대리인의 권리와 행사 방법</h2>
|
||||
<p>
|
||||
회사는 정보통신망법 및 개인정보 보호법 등 관계 법령에서 규정하고 있는 이용자의 권리를 충실히
|
||||
보장합니다.
|
||||
</p>
|
||||
<p>
|
||||
이용자는 언제든지 자신의 개인정보 및 이용 현황을 상시 확인할 수 있으며, 동의 철회 및 정정을
|
||||
요청할 수 있습니다.
|
||||
</p>
|
||||
<h2 className='mt-10 text-3xl font-medium'>개인정보의 파기</h2>
|
||||
<p>
|
||||
개인정보의 수집 및 이용 목적이 달성 되면, 수집한 개인정보를 신속하고 안전한 방법으로
|
||||
파기합니다.
|
||||
</p>
|
||||
<h2 className='mt-10 text-3xl font-medium'>개인정보 보호책임자</h2>
|
||||
<p>
|
||||
권리 침해와 개인정보 처리와 관한 불만처리 및 피해구제를 위하여 아래와 같이 개인정보보호
|
||||
담당자를 지정하고 있습니다.
|
||||
</p>
|
||||
<h3>개인정보 보호 책임자</h3>
|
||||
<ul className='list-inside list-disc'>
|
||||
<li>성명: 박준서</li>
|
||||
<li>직책: 대표</li>
|
||||
<li>
|
||||
연락처: <a href='mailto:wonderlandpark@callisto.team'>메일</a> 혹은 디스코드
|
||||
@wonderlandpark#9999
|
||||
</li>
|
||||
</ul>
|
||||
<h2 className='mt-10 text-3xl font-medium'>개인정보 처리방침 변경 시 고지 의무</h2>
|
||||
<p>개인정보 처리방침의 변경이 있는 경우 시행 7일전 사전에 이용자에게 고지합니다.</p>
|
||||
<h2 className='mt-10 text-3xl font-medium'>정보주체의 권익침해에 대한 구제방법</h2>
|
||||
<p>정보주체는 아래의 기관에 개인정보 침해에 대한 피해구제, 상담 등을 문의할 수 있습니다.</p>
|
||||
<p>
|
||||
아래의 기관은 당사와는 별개의 기관으로서, 당사의 자체적인 개인정보 불만처리, 피해 구제
|
||||
결과에 만족하지 못하시거나 보다 자세한 도움이 필요하시면 문의하여 주시기 바랍니다.
|
||||
</p>
|
||||
<p>
|
||||
▶ 개인정보 침해신고센터 (행정안전부, 한국인터넷진흥원 운영)
|
||||
<br />
|
||||
- 소관업무 : 개인정보 침해사실 신고, 상담
|
||||
<br />
|
||||
- 인터넷 신고 : privacy.kisa.or.kr
|
||||
<br />
|
||||
- 전자우편 신고 : privacyclean@kisa.or.kr
|
||||
<br />
|
||||
- 전화 신고 : 118 (ARS 내선 2번)
|
||||
<br />
|
||||
- 팩스 신고 : ☎ 061-820-2619
|
||||
<br />
|
||||
- 방문/우편 신고 : (58324) 전라남도 나주시 진흥길 9(빛가람동 301-2) 3층 한국인터넷진흥원
|
||||
개인정보침해신고센터
|
||||
<br />
|
||||
</p>
|
||||
<p>
|
||||
▶ 개인정보 분쟁조정위원회
|
||||
<br />
|
||||
- 소관업무 : 개인정보 분쟁조정 및 집단 분쟁조정 신청, 상담
|
||||
<br />
|
||||
- 온라인 신청 : www.kopico.go.kr
|
||||
<br />
|
||||
- 오프라인(우편) 신청 : (03171) 서울특별시 종로구 세종대로 209 정부서울청사 4층
|
||||
개인정보분쟁조정위원회 (☎1833-6972)
|
||||
<br />
|
||||
</p>
|
||||
<p>
|
||||
▶ 대검찰청 과학수사부 사이버수사과
|
||||
<br />
|
||||
- 소관업무 : 각종 사이버범죄 수사/수사지원 전담
|
||||
<br />
|
||||
- 인터넷 신고 : cybercid@spo.go.kr
|
||||
<br />
|
||||
- 전화 : (국번없이) 1301, 02-3480-3570
|
||||
<br />
|
||||
</p>
|
||||
<p>
|
||||
▶ 경찰청 사이버안전국
|
||||
<br />
|
||||
- 소관업무 : 개인정보 침해 관련 사이버 범죄 신고, 상담
|
||||
<br />
|
||||
- 인터넷 신고 : cyberbureau.police.go.kr
|
||||
<br />
|
||||
- 전화 : 182(경찰민원 콜센터)
|
||||
<br />
|
||||
</p>
|
||||
<Markdown text={content} />
|
||||
</Docs>
|
||||
)
|
||||
}
|
||||
|
||||
export const getStaticProps: GetStaticProps<PrivacyProps> = async () => {
|
||||
const res = await fetch(SpecialEndPoints.Github.Content('koreanbots', 'terms', 'privacy-policy.md'))
|
||||
const json = await res.json()
|
||||
return {
|
||||
props: {
|
||||
content: Buffer.from(json.content, 'base64').toString('utf-8')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
interface PrivacyProps {
|
||||
content: string
|
||||
}
|
||||
|
||||
export default Privacy
|
||||
37
pages/tos.tsx
Normal file
37
pages/tos.tsx
Normal file
@ -0,0 +1,37 @@
|
||||
import { GetStaticProps, NextPage } from 'next'
|
||||
import dynamic from 'next/dynamic'
|
||||
|
||||
import { SpecialEndPoints } from '@utils/Constants'
|
||||
|
||||
|
||||
const Docs = dynamic(()=> import('@components/Docs'))
|
||||
const Markdown = dynamic(() => import('@components/Markdown'))
|
||||
|
||||
|
||||
const ToS: NextPage<ToSProps> = ({ content }) => {
|
||||
return (
|
||||
<Docs
|
||||
header='서비스 이용약관'
|
||||
description='한국 디스코드봇 리스트의 서비스를 이용하실 때 지켜야하는 약관입니다.'
|
||||
>
|
||||
<Markdown text={content} />
|
||||
</Docs>
|
||||
)
|
||||
}
|
||||
|
||||
interface ToSProps {
|
||||
content: string
|
||||
}
|
||||
|
||||
export const getStaticProps: GetStaticProps<ToSProps> = async () => {
|
||||
const res = await fetch(SpecialEndPoints.Github.Content('koreanbots', 'terms', 'tos.md'))
|
||||
const json = await res.json()
|
||||
return {
|
||||
props: {
|
||||
content: Buffer.from(json.content, 'base64').toString('utf-8')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default ToS
|
||||
|
||||
@ -198,6 +198,7 @@ export const KoreanbotsEndPoints = {
|
||||
|
||||
export const SpecialEndPoints = {
|
||||
Github: {
|
||||
Content: (owner: string, repo: string, path: string) => `https://api.github.com/repos/${owner}/${repo}/contents/${path}`,
|
||||
Token: (clientID: string, clientSecret: string, code: string) => `https://github.com/login/oauth/access_token?client_id=${clientID}&client_secret=${clientSecret}&code=${code}`,
|
||||
Me: 'https://api.github.com/user'
|
||||
},
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user