Compare commits
11 Commits
a4730289a0
..
master
| Author | SHA1 | Date | |
|---|---|---|---|
| ab43d009b0 | |||
| b18c90996e | |||
| 1f4dec517f | |||
| 1704537a13 | |||
| 69c5a106b5 | |||
| a2966b1475 | |||
| d04200742d | |||
| fbb082fee8 | |||
| bb80d22568 | |||
| 721435f039 | |||
| e85d88de69 |
@@ -10,7 +10,7 @@ module.exports = {
|
|||||||
inactive_role: "892869309603389500",
|
inactive_role: "892869309603389500",
|
||||||
verified_role: "949064806030254130",
|
verified_role: "949064806030254130",
|
||||||
view_archived_channels_role: "916056534402863125",
|
view_archived_channels_role: "916056534402863125",
|
||||||
eval_undefined_emoji: "707729833601531935",
|
eval_undefined_emoji: "🅱️",
|
||||||
mi_emoji: "887931046086185060",
|
mi_emoji: "887931046086185060",
|
||||||
ki_emoji: "887935846710394910",
|
ki_emoji: "887935846710394910",
|
||||||
default_channel: "949831184957980722",
|
default_channel: "949831184957980722",
|
||||||
@@ -80,7 +80,9 @@ module.exports = {
|
|||||||
password: process.env.VRCHAT_PASSWORD
|
password: process.env.VRCHAT_PASSWORD
|
||||||
},
|
},
|
||||||
masto: {
|
masto: {
|
||||||
url: "https://animesexual.community",
|
url: "https://mastodong.lol",
|
||||||
accessToken: process.env.MASTODON_ACCESS_TOKEN
|
accessToken: process.env.MASTO_TOKEN
|
||||||
}
|
},
|
||||||
|
masto_account_id: "108643271047165149",
|
||||||
|
masto_webhook: process.env.DISCORD_WEBHOOK_FOR_MASTO
|
||||||
}
|
}
|
||||||
+3
-1
@@ -76,4 +76,6 @@ client.on("emojiDelete", emoji => {
|
|||||||
content: "emoji deleted",
|
content: "emoji deleted",
|
||||||
files: [{attachment: emoji.url, name: `${emoji.name}.${emoji.url.split('.').pop()}`}]
|
files: [{attachment: emoji.url, name: `${emoji.name}.${emoji.url.split('.').pop()}`}]
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
//g=setInterval(() => client.guilds.resolve(config.guild)?.setIcon(`mf/${Math.floor(Math.random()*14548)}.png`), 1800000);
|
||||||
+1
-1
@@ -9,7 +9,7 @@ client.on("messageCreate", async function (message) {
|
|||||||
if (message.content.startsWith("!>")) {
|
if (message.content.startsWith("!>")) {
|
||||||
with (message) {
|
with (message) {
|
||||||
try {
|
try {
|
||||||
var x = await eval(message.content.substr(2).trim());
|
var x = await eval(message.content.substring(2).trim());
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
var x = e.message;
|
var x = e.message;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
process.title = "lamp discord bot";
|
process.title = "lamp discord bot";
|
||||||
process.on("unhandledRejection", error => {
|
process.on("unhandledRejection", error => {
|
||||||
console.error("Unhandled Rejection:\n" + error.stack);
|
console.error("Unhandled Rejection:\n", error.stack || error);
|
||||||
});
|
});
|
||||||
|
|
||||||
require("./util"); // global variables set in here
|
require("./util"); // global variables set in here
|
||||||
@@ -17,4 +17,5 @@ require('./buttonthing');
|
|||||||
require("./activitytracker");
|
require("./activitytracker");
|
||||||
require("./vocabularygame");
|
require("./vocabularygame");
|
||||||
require("./pixiv-subscribe");
|
require("./pixiv-subscribe");
|
||||||
require("./count-cmd");
|
require("./count-cmd");
|
||||||
|
require("./masto");
|
||||||
@@ -1,6 +1,39 @@
|
|||||||
var {login} = require("masto");
|
var {login} = require("masto");
|
||||||
var config = require("./config");
|
var config = require("./config");
|
||||||
|
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 () => {
|
||||||
|
var donger = await login(config.masto);
|
||||||
|
console.log("donger logged in");
|
||||||
|
module.exports.donger = donger;
|
||||||
|
(async function openStream() {
|
||||||
|
try {
|
||||||
|
var stream = await donger.stream.streamUser();
|
||||||
|
module.exports.stream = stream;
|
||||||
|
stream.on("update", toot => {
|
||||||
|
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
})();
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
login(config.masto).then(client => {
|
|
||||||
module.exports.client = client;
|
|
||||||
}).catch(error => console.error("masto login", error.stack));
|
|
||||||
Generated
+45
-25
@@ -13,7 +13,7 @@
|
|||||||
"kuroshiro": "^1.2.0",
|
"kuroshiro": "^1.2.0",
|
||||||
"kuroshiro-analyzer-kuromoji": "^1.1.0",
|
"kuroshiro-analyzer-kuromoji": "^1.1.0",
|
||||||
"libsodium-wrappers": "^0.7.9",
|
"libsodium-wrappers": "^0.7.9",
|
||||||
"masto": "^4.3.1",
|
"masto": "^4.4.0",
|
||||||
"node-fetch": "^2.6.1"
|
"node-fetch": "^2.6.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -979,17 +979,26 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/masto": {
|
"node_modules/masto": {
|
||||||
"version": "4.3.1",
|
"version": "4.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/masto/-/masto-4.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/masto/-/masto-4.4.0.tgz",
|
||||||
"integrity": "sha512-FZIMf1ZB++zSFDDlvZkfUkZnX0owZxA64IMFqPpLVuMOK0d6q/Mbh0MG2dPR0IJHZk9Pf2jUm2V3Y6B00FHt9A==",
|
"integrity": "sha512-x9phjqWwboLDik3cilPn4IGhL0kZJwKA3PYFqMsw+pkjSuqjbuYBdf3scKRY8Mt2gdyuvpIfZ1JxS0uUK0c+vQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"axios": "^0.21.2",
|
"axios": "^0.27.2",
|
||||||
"change-case": "^4.1.2",
|
"change-case": "^4.1.2",
|
||||||
"eventemitter3": "^4.0.7",
|
"eventemitter3": "^4.0.7",
|
||||||
"isomorphic-form-data": "^2.0.0",
|
"isomorphic-form-data": "^2.0.0",
|
||||||
"isomorphic-ws": "^4.0.1",
|
"isomorphic-ws": "^4.0.1",
|
||||||
"semver": "^7.3.5",
|
"semver": "^7.3.7",
|
||||||
"ws": "^8.5.0"
|
"ws": "^8.8.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/masto/node_modules/axios": {
|
||||||
|
"version": "0.27.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz",
|
||||||
|
"integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==",
|
||||||
|
"dependencies": {
|
||||||
|
"follow-redirects": "^1.14.9",
|
||||||
|
"form-data": "^4.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/media-typer": {
|
"node_modules/media-typer": {
|
||||||
@@ -1378,9 +1387,9 @@
|
|||||||
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
|
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
|
||||||
},
|
},
|
||||||
"node_modules/semver": {
|
"node_modules/semver": {
|
||||||
"version": "7.3.5",
|
"version": "7.3.7",
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
|
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
|
||||||
"integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
|
"integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"lru-cache": "^6.0.0"
|
"lru-cache": "^6.0.0"
|
||||||
},
|
},
|
||||||
@@ -1678,9 +1687,9 @@
|
|||||||
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
|
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
|
||||||
},
|
},
|
||||||
"node_modules/ws": {
|
"node_modules/ws": {
|
||||||
"version": "8.6.0",
|
"version": "8.8.1",
|
||||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz",
|
"resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz",
|
||||||
"integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==",
|
"integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=10.0.0"
|
"node": ">=10.0.0"
|
||||||
},
|
},
|
||||||
@@ -2512,17 +2521,28 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"masto": {
|
"masto": {
|
||||||
"version": "4.3.1",
|
"version": "4.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/masto/-/masto-4.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/masto/-/masto-4.4.0.tgz",
|
||||||
"integrity": "sha512-FZIMf1ZB++zSFDDlvZkfUkZnX0owZxA64IMFqPpLVuMOK0d6q/Mbh0MG2dPR0IJHZk9Pf2jUm2V3Y6B00FHt9A==",
|
"integrity": "sha512-x9phjqWwboLDik3cilPn4IGhL0kZJwKA3PYFqMsw+pkjSuqjbuYBdf3scKRY8Mt2gdyuvpIfZ1JxS0uUK0c+vQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"axios": "^0.21.2",
|
"axios": "^0.27.2",
|
||||||
"change-case": "^4.1.2",
|
"change-case": "^4.1.2",
|
||||||
"eventemitter3": "^4.0.7",
|
"eventemitter3": "^4.0.7",
|
||||||
"isomorphic-form-data": "^2.0.0",
|
"isomorphic-form-data": "^2.0.0",
|
||||||
"isomorphic-ws": "^4.0.1",
|
"isomorphic-ws": "^4.0.1",
|
||||||
"semver": "^7.3.5",
|
"semver": "^7.3.7",
|
||||||
"ws": "^8.5.0"
|
"ws": "^8.8.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"axios": {
|
||||||
|
"version": "0.27.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz",
|
||||||
|
"integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==",
|
||||||
|
"requires": {
|
||||||
|
"follow-redirects": "^1.14.9",
|
||||||
|
"form-data": "^4.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"media-typer": {
|
"media-typer": {
|
||||||
@@ -2796,9 +2816,9 @@
|
|||||||
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
|
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
|
||||||
},
|
},
|
||||||
"semver": {
|
"semver": {
|
||||||
"version": "7.3.5",
|
"version": "7.3.7",
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
|
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
|
||||||
"integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
|
"integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"lru-cache": "^6.0.0"
|
"lru-cache": "^6.0.0"
|
||||||
}
|
}
|
||||||
@@ -3047,9 +3067,9 @@
|
|||||||
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
|
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
|
||||||
},
|
},
|
||||||
"ws": {
|
"ws": {
|
||||||
"version": "8.6.0",
|
"version": "8.8.1",
|
||||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz",
|
"resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz",
|
||||||
"integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==",
|
"integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==",
|
||||||
"requires": {}
|
"requires": {}
|
||||||
},
|
},
|
||||||
"yallist": {
|
"yallist": {
|
||||||
|
|||||||
+1
-1
@@ -8,7 +8,7 @@
|
|||||||
"kuroshiro": "^1.2.0",
|
"kuroshiro": "^1.2.0",
|
||||||
"kuroshiro-analyzer-kuromoji": "^1.1.0",
|
"kuroshiro-analyzer-kuromoji": "^1.1.0",
|
||||||
"libsodium-wrappers": "^0.7.9",
|
"libsodium-wrappers": "^0.7.9",
|
||||||
"masto": "^4.3.1",
|
"masto": "^4.4.0",
|
||||||
"node-fetch": "^2.6.1"
|
"node-fetch": "^2.6.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ var DataStore = require("./datastore");
|
|||||||
var fetch = require("node-fetch");
|
var fetch = require("node-fetch");
|
||||||
var {embedPixiv} = require("./pixiv-embedder");
|
var {embedPixiv} = require("./pixiv-embedder");
|
||||||
var config = require("./config");
|
var config = require("./config");
|
||||||
var mastodon = require("./masto");
|
|
||||||
|
|
||||||
async function check(tag, channel) {
|
async function check(tag, channel) {
|
||||||
var ds = new DataStore(`s${tag}`);
|
var ds = new DataStore(`s${tag}`);
|
||||||
@@ -19,9 +18,6 @@ async function check(tag, channel) {
|
|||||||
}
|
}
|
||||||
for (let i = newPosts.length - 1; i >= 0; i--) {
|
for (let i = newPosts.length - 1; i >= 0; i--) {
|
||||||
let url = `https://www.pixiv.net/en/artworks/${newPosts[i].id}`;
|
let url = `https://www.pixiv.net/en/artworks/${newPosts[i].id}`;
|
||||||
mastodon.client?.statuses.create({
|
|
||||||
status: `#${tag} ${url}`
|
|
||||||
}).catch(error => console.error("mastodon status create", error.stack));
|
|
||||||
await embedPixiv(
|
await embedPixiv(
|
||||||
client.channels.resolve(channel),
|
client.channels.resolve(channel),
|
||||||
[url],
|
[url],
|
||||||
|
|||||||
Reference in New Issue
Block a user