Anibot は、お気に入りのアニメの最新リリースをユーザーに通知する Discord ボットです。このボットは discord.js を使用し、データは SubsPlease RSS フィードから取得されます。
TypeScript、MongoDB、NodeJS で作成されています。
Discord 開発者ポータルにアクセスしてボットを作成します。少なくともメッセージを送信できる基本的な権限を選択します。 「ボット」セクション内のすべての Privileged Gateway Intents オプションをオンにします。
このリポジトリのクローンをマシンに作成し、 npm i
実行して依存関係をインストールします。
.env ファイルを作成し、そこに discord トークンを配置します。例:
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 を使用して datanase に接続することをお勧めします。スキーマは次のとおりです。
{
"_id": {
"$oid": "64396564a26ce63fc6fc90ca"
},
"name": "Vinland Saga S2",
"latestEpisode": ""
}
id
自動的に生成されます。 name
キーとlatestEpisode
キーを作成する必要があります。latest latestEpisode
空のままにしても問題ありません。どちらも文字列です。
コマンドtsc
を使用してファイルをビルドします。 JavaScript ファイルは/dist
フォルダーに作成されます。
リポジトリ内でnode dist/index.js
を実行します。
終わり!
注記!名前を正しく入力してください。ローマ字バージョンの名前を使用してください。タイトル内のシーズンは「シーズン2」から「S2」のように短縮されています。
新しいリリースの通知を送信するボット。バックグラウンドで 5 分ごとに自動的に実行されます。
/latest
コマンドは 10 個の最新リリースを応答します
必要に応じて、 functions/fetchAPI.ts
内のこれらの変数を変更します。
const timezone = "Europe/Helsinki";
const timeFormat = "en-FI";
次のことを確認しましたか?
.env
に追加しました問題を作成してください!これを自由にフォークして改善したり、好みに合わせて変更したりしてください。