Anibot — это дискорд-бот, который уведомляет пользователей о последних выпусках их любимых аниме. Этот бот использует discord.js, а данные извлекаются из RSS-канала SubsPlease.
Сделано с использованием TypeScript, MongoDB и NodeJS.
Посетите портал разработчиков Discord и создайте бота. Выберите базовые разрешения, хотя бы отправку сообщений. Включите все параметры привилегированных шлюзов в разделе «Бот».
Клонируйте этот репозиторий на свой компьютер и запустите 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 к базе данных. Схема следующая:
{
"_id": {
"$oid": "64396564a26ce63fc6fc90ca"
},
"name": "Vinland Saga S2",
"latestEpisode": ""
}
где id
будет сгенерирован автоматически. Вам необходимо создать ключи name
и latestEpisode
, вы можете оставить latestEpisode
пустым. Оба являются строками.
Создайте файлы с помощью команды tsc
. Файлы JavaScript будут созданы в папке /dist
.
Запустите node dist/index.js
внутри репозитория.
Сделанный!
Примечание! Обязательно вводите имена правильно, используйте версию имен ромадзи. Название сезона сокращается, например, «Сезон 2» до «S2».
Бот отправляет уведомление о новом выпуске. Запускается каждые пять минут автоматически в фоновом режиме.
/latest
команда, которая отвечает десятью последними выпусками
Измените эти переменные в functions/fetchAPI.ts
по своему вкусу:
const timezone = "Europe/Helsinki";
const timeFormat = "en-FI";
Вы убедились, что:
.env
Создайте проблему! Не стесняйтесь создавать форк и улучшать его или изменять по своему вкусу.