#!if top1 != null && 문서명1 == null
[DEPRECATED] top1 파라미터는 더 이상 사용되지 않습니다! 대신 문서명1 파라미터를 사용해 주세요.
#!if top1 == null && 문서명1 != null
[[나무위키:프로젝트/봇 운용|나무위키:프로젝트/봇 운용]]
1. 개요
본 문서에는 봇 운용에 대하여 기본적으로 알아둘 내용을 적습니다. 본 문서는 강제력을 가지지 않으며, 기재된 정보는 위키 엔진이 업데이트되며 얼마든지 달라지거나 무의미해질 수 있습니다.2. 기본 안내
나무위키에서 봇 계정을 만들고 운용하기 위해서는, 별도의 봇 계정을 만들고 승인 절차를 받아야 합니다. 관련된 상세 규정은 나무위키:기본방침/이용자 관리 방침 문서의 4.2 문단에 있으며, 항상 본 문서보다 최신 규정을 참고하시기 바랍니다.봇 사용을 신청하기 위해서는 기본적으로 아래 내용들을 작성해서 문의 게시판에 [운영사 문의]로 올려 승인을 받아야 합니다. 구체적으로 필요한 내용들은 규정이 개정됨에 따라 변동될 수 있으므로 본 문서보다 규정을 참고하는 것을 권장합니다.
- 사용 목적
- 사용 기간
- 소유자 증빙자료: 가장 쉽게는 틀:유저박스/봇 계정 등의 틀을 부착해 소유자를 알릴 수 있습니다.
- 중지 방법: 봇이 명백히 잘못된 처리를 수행하고 있을 때, 소유자가 아닌 외부 이용자가 이를 강제로 정지시킬 수 있는 최소한의 방법을 구현해야 합니다. 흔히 봇 계정에 사용자 토론이 발제되어 있음이 감지되면 정지하는 방식으로 구현하는 경우가 많습니다.
소유자 계정의 기여 내역이 많지 않을 경우 권한 부여가 거부될 가능성이 높습니다.##
봇 계정은 특수한 종류의 계정이 아니며, 일반적인 로그인한 사용자와 다르지 않습니다. 다만, 승인 시 엔진상으로는
api_access
권한을 부여받으며, 나무위키:사용 승인된 봇 계정 목록 문서에 기재됩니다.봇 계정은 신청시 생성해주는 것이 아니므로 신청자가 사전에 계정을 생성해 두어야 합니다. 계정 가입 시 별도의 이메일 주소가 필요할 수 있습니다.## 또한 IP 이용자(로그인하지 않은 사용자)는 봇 계정 유무와 무관하게 봇 소유가 불가능하므로,## 실질적으로 계정이 2개 이상 필요하게 됩니다.
API 토큰은 내 정보의 API Token 페이지에서 발급할 수 있습니다.
3. 기타 운용시 주의사항
- 운영사에서는 1초에 요청 1회만 보내는 것을 권장하고 있으며, 실제로 이보다 빠르게 요청을 보낼 경우 서버에서 요청을 거부하거나 캡챠를 표시합니다. 방법이 없는 것은 아니나 양이 너무 많은 것이 아니면 준수하는 것을 권장하고, 양이 많다면 속도를 올리기 전에 문제 발생 소지를 잘 확인해보시기 바랍니다.
- the seed engine API 문서에 없는 기능은 내부 API를 사용하거나 브라우저를 자동화하여 구현할 수 있으나, 특성상 오동작할 여지가 크므로 이에 대하여 예외 처리를 잘 해두셔야 합니다.
- 기본적으로 the seed 엔진의 API 기본 엔드포인트는 위키 도메인에
/api
를 경로로 준 것으로, 나무위키에서는 본래https://namu.wiki/api
이고 이 경로도 동작하지만https://wiki-api.namu.la/api
를 권장한다고 운영사에서 밝힌 바 있습니다. 해당 접속 경로로는 API 요청만 가능하므로 API 요청 외의 동작을 하는 경우 적절히 대응해주어야 합니다. - 한 요청의 크기 제한은 약 1MiB로 추정됩니다. 한글을 포함한 문자열을 JSON으로 인코딩할 때 유니코드를 강제로 이스케이프하면 [1] 한글 하나 당 6바이트[2]로 변환되므로 한 요청에 최대 약 17만 자까지만 전송할 수 있어서 문서를 편집할 수 없는 경우가 종종 발생합니다. 문자를 UTF-8 그대로 넣으면 한글 한 글자 당 3바이트를 차지하여 chunking 없이도 한 요청에 약 35만 자까지 넣을 수 있고, 나무위키에 이보다 텍스트 용량이 큰 문서는 100개를 넘지 않습니다. 1MiB보다 큰 요청을 보내려고 하는 경우
invalid request body
오류를 받게 됩니다.# # - 역링크 정리시, 틀에서 참조하는 경우 역링크에 나타나지 않으므로 주의하여야 합니다. 특히 파일의 경우 잘 살펴보아야 합니다.
- 예시로, 틀:상세 내용등으로만 링크가 걸려있는 경우(1급 문서와 1급 공무원 등이 예시) 역링크에 나타나지 않고, 운이 좋게 문단명 등에 링크가 걸려있어 나타나더라도 문서 내에선 링크 문법으로 되어있지 않기 때문에 자동 편집이 이루어지지 않을 여지가 있습니다. 이 경우 깨진 링크를 만들게 되므로 유의하여야 합니다.
- 파일의 경우 단순히 깨진 링크를 넘어 아예 내용을 알 수 없게 되는 경우도 많으므로 기존 파일 삭제 전 반드시 면밀히 확인하여야 합니다.
- 분류와 마찬가지로, 현재는 이미지 업로드를 위한 API가 별도로 존재하지 않습니다.#
- 자동 반달 복구는 규정상 관리자(중재자 제외)가 소유한 봇만 가능합니다.#
[1] Python
json.dumps()
에선 기본 옵션이고, requests.post()
의 json=
키워드 인자를 사용할 경우 이 기본 옵션이 그대로 사용됩니다.[2] \u
2자 + 16진수 4자