initial commit

This commit is contained in:
Michael (GP) 2022-11-23 15:30:51 -05:00
parent b1abb60274
commit 27accb1184
4 changed files with 3973 additions and 0 deletions

7
.env.sample Normal file
View File

@ -0,0 +1,7 @@
# Mastodon Info
MASTODON_ACCESS_KEY=
MASTODON_API_URL=
MASTODON_ACCOUNT_ID=
# Prefix for the post
POST_PREFIX=

32
bot.js Normal file
View File

@ -0,0 +1,32 @@
if (process.env.NODE_ENV !== "production") {
require("dotenv").config();
}
let Mastodon = require("mastodon-api");
let Parser = require("rss-parser");
let parser = new Parser();
(async () => {
const M = new Mastodon({
access_token: `${process.env.MASTODON_ACCESS_KEY}`,
timeout_ms: 60 * 1000, // optional HTTP request timeout to apply to all requests.
api_url: `${process.env.MASTODON_API_URL}`,
});
let feed = await parser.parseURL("http://feeds.feedburner.com/ign/games-all");
let timeline = await M.get(
`accounts/${process.env.MASTODON_ACCOUNT_ID}/statuses`,
{}
);
var postDate = new Date(timeline.data[0].created_at);
feed.items.forEach((item) => {
let pubDate = new Date(item.pubDate);
if (pubDate > postDate) {
M.post("statuses", {
status: `#${process.env.POST_PREFIX}:\n\n${item.title}\n\n${item.link}`,
});
}
});
})();

3909
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

25
package.json Normal file
View File

@ -0,0 +1,25 @@
{
"name": "neovibe-bots",
"version": "1.0.0",
"description": "NeoVibe bots",
"main": "bot.js",
"scripts": {
"start": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "git+https://github.com/MikeHuntington/neovibe-bots.git"
},
"author": "",
"license": "ISC",
"bugs": {
"url": "https://github.com/MikeHuntington/neovibe-bots/issues"
},
"homepage": "https://github.com/MikeHuntington/neovibe-bots#readme",
"dependencies": {
"dotenv": "^16.0.3",
"mastodon-api": "^1.3.0",
"rss-parser": "^3.12.0",
"yaml": "^2.1.3"
}
}