Anibot은 사용자가 좋아하는 애니메이션의 최신 릴리스를 알려주는 디스코드 봇입니다. 이 봇은 discord.js를 사용하며 데이터는 SubsPlease RSS 피드에서 가져옵니다.
TypeScript, MongoDB 및 NodeJS로 제작되었습니다.
Discord 개발자 포털을 방문하여 봇을 만드세요. 최소한 메시지를 보내는 등 기본 권한을 선택하세요. "Bot" 섹션 내에서 모든 Privileged Gateway Intents 옵션을 켭니다.
이 저장소를 머신에 복제하고 npm i
실행하여 종속 항목을 설치하세요.
.env 파일을 생성하고 거기에 불일치 토큰을 배치하세요. 예:
DISCORD_TOKEN= ""
CLIENT_ID= ""
GUILD_ID= ""
RELEASE_CHANNEL_ID= ""
DEV_CHANNEL_ID= ""
LOGS_CHANNEL_ID= ""
DB_CONNECTION_STRING= "" // mongodb connection, see below
MongoDB Atlas 계정을 만들고 거기에 series
데이터베이스와 data
컬렉션이 있는 클러스터를 만듭니다. 연결을 누르고 드라이버를 선택한 다음 uri
값을 복사합니다. <password>
를 클러스터 비밀번호로 수정해야 합니다.
data
수집을 추적하고 싶은 즐겨찾는 프로그램을 나열할 수 있습니다. 방영중인 프로그램 목록은 다음과 같습니다. MongoDB Compass를 사용하여 데이터나제에 연결하는 것이 좋습니다. 스키마는 다음과 같습니다.
{
"_id": {
"$oid": "64396564a26ce63fc6fc90ca"
},
"name": "Vinland Saga S2",
"latestEpisode": ""
}
여기서 id
자동으로 생성됩니다. name
및 latestEpisode
키를 생성해야 하며, latestEpisode
비워 둘 수 있습니다. 둘 다 문자열입니다.
tsc
명령을 사용하여 파일을 빌드합니다. /dist
폴더에 JavaScript 파일이 생성됩니다.
저장소 내에서 node dist/index.js
실행합니다.
완료!
메모! 이름을 올바르게 입력했는지 확인하고 로마자 버전의 이름을 사용하세요. 제목의 시즌은 '시즌 2'에서 'S2'로 단축됩니다.
봇이 새 릴리스에 대한 알림을 보냅니다. 백그라운드에서 5분마다 자동으로 실행됩니다.
10개의 최신 릴리스로 응답하는 /latest
명령
functions/fetchAPI.ts
에서 다음 변수를 원하는 대로 수정하세요.
const timezone = "Europe/Helsinki";
const timeFormat = "en-FI";
다음 사항을 확인하셨나요?
.env
에 자격 증명을 추가했습니다.이슈를 만들어보세요! 자유롭게 포크하여 개선하거나 원하는 대로 수정하세요.