Compare commits
3 Commits
1704537a13
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| ab43d009b0 | |||
| b18c90996e | |||
| 1f4dec517f |
@@ -82,5 +82,7 @@ module.exports = {
|
|||||||
masto: {
|
masto: {
|
||||||
url: "https://mastodong.lol",
|
url: "https://mastodong.lol",
|
||||||
accessToken: process.env.MASTO_TOKEN
|
accessToken: process.env.MASTO_TOKEN
|
||||||
}
|
},
|
||||||
|
masto_account_id: "108643271047165149",
|
||||||
|
masto_webhook: process.env.DISCORD_WEBHOOK_FOR_MASTO
|
||||||
}
|
}
|
||||||
@@ -1,14 +1,38 @@
|
|||||||
var {login} = require("masto");
|
var {login} = require("masto");
|
||||||
var config = require("./config");
|
var config = require("./config");
|
||||||
var client = require("./client");
|
var client = require("./client");
|
||||||
|
var {WebhookClient} = require("discord.js");
|
||||||
|
|
||||||
|
var webhook = new WebhookClient({url: config.masto_webhook});
|
||||||
|
module.exports.webhook = webhook;
|
||||||
|
|
||||||
client.once("ready", async () => {
|
client.once("ready", async () => {
|
||||||
var donger = await login(config.masto);
|
var donger = await login(config.masto);
|
||||||
module.exports = donger;
|
console.log("donger logged in");
|
||||||
|
module.exports.donger = donger;
|
||||||
|
(async function openStream() {
|
||||||
|
try {
|
||||||
var stream = await donger.stream.streamUser();
|
var stream = await donger.stream.streamUser();
|
||||||
|
module.exports.stream = stream;
|
||||||
stream.on("update", toot => {
|
stream.on("update", toot => {
|
||||||
console.debug("toot", toot); // testing
|
|
||||||
|
if (toot.account.id != config.masto_account_id) return;
|
||||||
|
if (toot.visibility != "public") return;
|
||||||
|
if (toot.inReplyToAccountId && toot.inReplyToAccountId != toot.account.id) return;
|
||||||
|
|
||||||
|
webhook.send(toot.url || toot.reblog.url); //todo maybe custom embed
|
||||||
|
|
||||||
|
//todo maybe handle deletes
|
||||||
});
|
});
|
||||||
|
stream.ws.on("close", () => {
|
||||||
|
console.log("donger stream closed");
|
||||||
|
setTimeout(openStream, 10000);
|
||||||
|
});
|
||||||
|
} catch (error) {
|
||||||
|
console.error("donger stream", error.message);
|
||||||
|
setTimeout(openStream, 60000);
|
||||||
|
}
|
||||||
|
})();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user