summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVolpeon <git@volpeon.ink>2021-10-17 18:53:04 +0200
committerVolpeon <git@volpeon.ink>2021-10-17 18:53:04 +0200
commitcdd3d77d56fd304346c643b8d98b6a1e895fc236 (patch)
tree949a66c1f4da8b8d807ff0c3584df5ac872799c3
parentDetect if Mastodon token is not set (diff)
downloadferalbot-cdd3d77d56fd304346c643b8d98b6a1e895fc236.tar.gz
feralbot-cdd3d77d56fd304346c643b8d98b6a1e895fc236.tar.bz2
feralbot-cdd3d77d56fd304346c643b8d98b6a1e895fc236.zip
Support multiple e621 queries, post as unlisted
-rw-r--r--src/api/e621/index.ts6
-rw-r--r--src/api/mastodon/index.ts1
-rw-r--r--src/config.ts46
3 files changed, 30 insertions, 23 deletions
diff --git a/src/api/e621/index.ts b/src/api/e621/index.ts
index 6aa6a35..4748e87 100644
--- a/src/api/e621/index.ts
+++ b/src/api/e621/index.ts
@@ -27,14 +27,16 @@ export const client = got.extend({
27}); 27});
28 28
29export async function randomPost() { 29export async function randomPost() {
30 const page = Math.floor(Math.random() * (config.e621.maxPage - 1)) + 1; 30 const queryIndex = Math.floor(Math.random() * config.e621.queries.length);
31 const query = config.e621.queries[queryIndex];
32 const page = Math.floor(Math.random() * (query.maxPage - 1)) + 1;
31 33
32 const response = await client 34 const response = await client
33 .get("https://e926.net/posts.json", { 35 .get("https://e926.net/posts.json", {
34 searchParams: { 36 searchParams: {
35 limit: 75, 37 limit: 75,
36 page, 38 page,
37 tags: config.e621.tags.join(" "), 39 tags: query.tags.join(" "),
38 }, 40 },
39 }) 41 })
40 .json<{ posts: readonly Post[] }>(); 42 .json<{ posts: readonly Post[] }>();
diff --git a/src/api/mastodon/index.ts b/src/api/mastodon/index.ts
index 2d8636e..d0de0a0 100644
--- a/src/api/mastodon/index.ts
+++ b/src/api/mastodon/index.ts
@@ -52,6 +52,7 @@ export async function createStatus(
52 media_ids: [attachmentId], 52 media_ids: [attachmentId],
53 sensitive: true, 53 sensitive: true,
54 spoiler_text: spoilerText, 54 spoiler_text: spoilerText,
55 visibility: "unlisted",
55 }, 56 },
56 }) 57 })
57 .json<Status>(); 58 .json<Status>();
diff --git a/src/config.ts b/src/config.ts
index f051888..4c9f0be 100644
--- a/src/config.ts
+++ b/src/config.ts
@@ -1,34 +1,38 @@
1export default { 1export default {
2 e621: { 2 e621: {
3 userAgent: "@feralbot@botsin.space (by RedFoxxo)", 3 userAgent: "@feralbot@botsin.space (by RedFoxxo)",
4 tags: [ 4 queries: [
5 "feral", 5 {
6 "-anthro", 6 tags: [
7 "-human", 7 "feral",
8 "-meme", 8 "-anthro",
9 "-humor", 9 "-human",
10 "-photography_(artwork)", 10 "-meme",
11 "-portrait", 11 "-humor",
12 "-comic", 12 "-photography_(artwork)",
13 "-saliva", 13 "-portrait",
14 "-friendship_is_magic", 14 "-comic",
15 "-my_little_pony", 15 "-saliva",
16 "-type:swf", 16 "-friendship_is_magic",
17 "-type:webm", 17 "-my_little_pony",
18 "-type:gif", 18 "-type:swf",
19 "status:active", 19 "-type:webm",
20 "score:>=20", 20 "-type:gif",
21 "inpool:false", 21 "status:active",
22 "score:>=20",
23 "inpool:false",
24 ],
25 maxPage: 131,
26 },
22 ], 27 ],
23 maxPage: 131,
24 }, 28 },
25 /*misskey: { 29 /*misskey: {
26 instance: "https://mk.vulpes.one/", 30 instance: "https://mk.vulpes.one/",
27 token: process.env.MISSKEY_TOKEN, 31 token: process.env.MISSKEY_TOKEN,
28 },*/ 32 },*/
29 mastodon: { 33 mastodon: {
30 instance: "https://botsin.space/", 34 instance: "https://botsin.space/",
31 token: process.env.MASTODON_TOKEN, 35 token: process.env.MASTODON_TOKEN,
32 }, 36 },
33 cw: ["gun"], 37 cw: ["gun"],
34}; 38};