anibot
1.0.0
Anibot 是一个 Discord 机器人,可以通知用户他们最喜欢的动漫的最新版本。该机器人使用discord.js,并从 SubsPlease RSS feed 获取数据。
使用 TypeScript、MongoDB 和 NodeJS 制作。
访问 Discord 开发者门户并创建一个机器人。选择基本权限,至少发送消息。打开“Bot”部分内的所有特权网关意图选项。
将此存储库克隆到您的计算机并运行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 连接到 datanase。架构如下:
{
"_id": {
"$oid": "64396564a26ce63fc6fc90ca"
},
"name": "Vinland Saga S2",
"latestEpisode": ""
}
其中id
将自动生成。您需要创建name
和latestEpisode
键,您可以将latestEpisode
留空。两者都是字符串。
使用命令tsc
构建文件。 JavaScript 文件将创建到/dist
文件夹中。
在存储库中运行node dist/index.js
。
完毕!
笔记!确保正确输入名称,使用罗马字版本的名称。标题中的赛季被缩短,例如“Season 2”到“S2”。
机器人发送新版本的通知。每五分钟在后台自动运行一次。
/latest
命令响应十个最新版本
根据您的喜好修改functions/fetchAPI.ts
中的这些变量:
const timezone = "Europe/Helsinki";
const timeFormat = "en-FI";
您是否确定:
.env
创建一个问题!请随意分叉并改进它或根据您的喜好修改它。