various fixes to get it working for myself
This commit is contained in:
15
debug/check_last_item.mjs
Normal file
15
debug/check_last_item.mjs
Normal file
@@ -0,0 +1,15 @@
|
||||
import db from "../src/inc/sql.mjs";
|
||||
|
||||
(async () => {
|
||||
try {
|
||||
const item = (await db`select * from items order by id desc limit 1`)?.[0];
|
||||
console.log("Last Item:", item);
|
||||
if (item) {
|
||||
const tags = await db`select * from tags_assign where item_id = ${item.id}`;
|
||||
console.log("Tags:", tags);
|
||||
}
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
}
|
||||
process.exit(0);
|
||||
})();
|
||||
@@ -6,13 +6,14 @@ import { promises as fs } from "fs";
|
||||
network: "console",
|
||||
message: _args.join(" "),
|
||||
args: _args.slice(1),
|
||||
channel: "console",
|
||||
channel: "#w0bm",
|
||||
user: {
|
||||
prefix: "console!console@console",
|
||||
nick: "console",
|
||||
username: "console",
|
||||
account: "console"
|
||||
},
|
||||
raw: {},
|
||||
reply: (...args) => console.log(args),
|
||||
replyAction: (...args) => console.log(args),
|
||||
replyNotice: (...args) => console.log(args)
|
||||
@@ -26,9 +27,12 @@ import { promises as fs } from "fs";
|
||||
try {
|
||||
if (trigger.length === 0)
|
||||
return console.error("no matches");
|
||||
console.log(`triggered > ${trigger[0].name} (${_e.message})`);
|
||||
await trigger[0].f(_e);
|
||||
for (const t of trigger) {
|
||||
console.log(`triggered > ${t.name} (${_e.message})`);
|
||||
await t.f(_e);
|
||||
}
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
}
|
||||
process.exit(0);
|
||||
})();
|
||||
|
||||
@@ -23,7 +23,7 @@ export default async bot => {
|
||||
name: "parser",
|
||||
call: regex.all,
|
||||
active: true,
|
||||
f: e => {
|
||||
f: async e => {
|
||||
const links = e.message.match(regex.all)?.filter(link => !link.includes(cfg.main.url.domain)) || [];
|
||||
let repost;
|
||||
if (e.media)
|
||||
@@ -51,7 +51,7 @@ export default async bot => {
|
||||
|
||||
console.log(`parsing ${links.length} link${links.length > 1 ? "s" : ""}...`);
|
||||
|
||||
links.forEach(async link => {
|
||||
for (const link of links) {
|
||||
//if(regex.imgur.test(link))
|
||||
// return await e.reply(`fuck imgur... seriously`);
|
||||
|
||||
@@ -73,11 +73,12 @@ export default async bot => {
|
||||
|
||||
// read metadata
|
||||
let ext;
|
||||
const proxyArgs = cfg.main.socks ? `--proxy ${cfg.main.socks}` : '';
|
||||
if (link.match(regex.instagram)) {
|
||||
// is instagram
|
||||
try {
|
||||
// @flummi -> is there a variable for the actual work directory so it doesn't have to be hardcoded?
|
||||
const meta = JSON.parse((await queue.exec(`yt-dlp --proxy ${cfg.main.socks} -f 'bv*[height<=720]+ba/b[height<=720] / wv*+ba/w' --skip-download --dump-json "${link}"`)).stdout);
|
||||
const meta = JSON.parse((await queue.exec(`yt-dlp ${proxyArgs} -f 'bv*[height<=720]+ba/b[height<=720] / wv*+ba/w' --skip-download --dump-json "${link}"`)).stdout);
|
||||
ext = meta.ext;
|
||||
} catch (err) {
|
||||
const tmphead = (await fetch(link, { method: "HEAD" })).headers["content-type"];
|
||||
@@ -92,9 +93,10 @@ export default async bot => {
|
||||
else if (link.match(regex.yt)) {
|
||||
//yt - fuck anti bot protection
|
||||
try {
|
||||
const meta = JSON.parse((await queue.exec(`yt-dlp --proxy ${cfg.main.socks} -f 'bv*[height<=720]+ba/b[height<=720] / wv*+ba/w' -I 1 --skip-download --dump-json "${link}"`)).stdout);
|
||||
const meta = JSON.parse((await queue.exec(`yt-dlp ${proxyArgs} -f 'bv*[height<=720]+ba/b[height<=720] / wv*+ba/w' -I 1 --skip-download --dump-json "${link}"`)).stdout);
|
||||
ext = meta.ext;
|
||||
} catch (err) {
|
||||
console.error("YT-DLP Error:", err);
|
||||
const tmphead = (await fetch(link, { method: "HEAD" })).headers["content-type"];
|
||||
// this can be undefined for unsupported mime types, but will be caught in the general mime check below
|
||||
ext = cfg.mimes[tmphead];
|
||||
@@ -103,7 +105,7 @@ export default async bot => {
|
||||
else if (link.match(regex.fourchan)) {
|
||||
//4chan - fuck cloudflare :)
|
||||
try {
|
||||
const meta = JSON.parse((await queue.exec(`yt-dlp --proxy ${cfg.main.socks} -f 'bv*[height<=720]+ba/b[height<=720] / wv*+ba/w' --skip-download --dump-json "${link}"`)).stdout);
|
||||
const meta = JSON.parse((await queue.exec(`yt-dlp ${proxyArgs} -f 'bv*[height<=720]+ba/b[height<=720] / wv*+ba/w' --skip-download --dump-json "${link}"`)).stdout);
|
||||
ext = meta.ext;
|
||||
} catch (err) {
|
||||
const tmphead = (await fetch(link, { method: "HEAD" })).headers["content-type"];
|
||||
@@ -118,9 +120,10 @@ export default async bot => {
|
||||
const meta = JSON.parse((await queue.exec(`yt-dlp -f 'bv*[height<=720]+ba/b[height<=720] / wv*+ba/w' --skip-download --dump-json "${link}"`)).stdout);
|
||||
ext = meta.ext;
|
||||
} catch (err) {
|
||||
const tmphead = (await fetch(link, { method: "HEAD" })).headers["content-type"];
|
||||
// this can be undefined for unsupported mime types, but will be caught in the general mime check below
|
||||
ext = cfg.mimes[tmphead];
|
||||
console.error('err:', err);
|
||||
if (e.type == 'tg')
|
||||
return await e.editMessageText(msg.result.chat.id, msg.result.message_id, err);
|
||||
return await e.reply('something went wrong lol / check maxfilesize?');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -139,7 +142,7 @@ export default async bot => {
|
||||
if (link.match(regex.instagram)) {
|
||||
try {
|
||||
// add --cookies <path-to-cookies-file> on local instance if you want to avoid getting rate limited or optionally use a socks proxy from a network that is not being detected as a public network
|
||||
source = (await queue.exec(`yt-dlp --proxy ${cfg.main.socks} -f 'bv*[height<=1080]+ba/b[height<=1080] / wv*+ba/w' "${link}" --max-filesize ${maxfilesize / 1024}k --postprocessor-args "ffmpeg:-bitexact" -o "./tmp/${uuid}.%(ext)s" --print after_move:filepath --merge-output-format "mp4"`)).stdout.trim();
|
||||
source = (await queue.exec(`yt-dlp ${proxyArgs} -f 'bv*[height<=1080]+ba/b[height<=1080] / wv*+ba/w' "${link}" --max-filesize ${maxfilesize / 1024}k --postprocessor-args "ffmpeg:-bitexact" -o "./tmp/${uuid}.%(ext)s" --print after_move:filepath --merge-output-format "mp4"`)).stdout.trim();
|
||||
} catch (err) {
|
||||
if (e.type == 'tg')
|
||||
return await e.editMessageText(msg.result.chat.id, msg.result.message_id, "instagram dl error");
|
||||
@@ -161,7 +164,7 @@ export default async bot => {
|
||||
else if (link.match(regex.yt)) {
|
||||
try {
|
||||
// add --cookies <path-to-cookies-file> on local instance if you want to avoid getting rate limited or optionally use a socks proxy from a network that is not being detected as a public network
|
||||
source = (await queue.exec(`yt-dlp --proxy ${cfg.main.socks} -f 'bv*[height<=720]+ba/b[height<=720] / wv*+ba/w' "${link}" -I 1 --max-filesize ${maxfilesize / 1024}k --postprocessor-args "ffmpeg:-bitexact" -o "./tmp/${uuid}.%(ext)s" --print after_move:filepath --merge-output-format "mp4"`)).stdout.trim();
|
||||
source = (await queue.exec(`yt-dlp ${proxyArgs} -f 'bv*[height<=720]+ba/b[height<=720] / wv*+ba/w' "${link}" -I 1 --max-filesize ${maxfilesize / 1024}k --postprocessor-args "ffmpeg:-bitexact" -o "./tmp/${uuid}.%(ext)s" --print after_move:filepath --merge-output-format "mp4"`)).stdout.trim();
|
||||
} catch (err) {
|
||||
if (e.type == 'tg')
|
||||
return await e.editMessageText(msg.result.chat.id, msg.result.message_id, "yt dl error");
|
||||
@@ -171,7 +174,7 @@ export default async bot => {
|
||||
else if (link.match(regex.fourchan)) {
|
||||
// 4chan via proxy - fuck cloudflare
|
||||
try {
|
||||
source = (await queue.exec(`yt-dlp --proxy ${cfg.main.socks} -f 'bv*[height<=720]+ba/b[height<=720] / wv*+ba/w' "${link}" --max-filesize ${maxfilesize / 1024}k --postprocessor-args "ffmpeg:-bitexact" -o "./tmp/${uuid}.%(ext)s" --print after_move:filepath --merge-output-format "mp4"`)).stdout.trim();
|
||||
source = (await queue.exec(`yt-dlp ${proxyArgs} -f 'bv*[height<=720]+ba/b[height<=720] / wv*+ba/w' "${link}" --max-filesize ${maxfilesize / 1024}k --postprocessor-args "ffmpeg:-bitexact" -o "./tmp/${uuid}.%(ext)s" --print after_move:filepath --merge-output-format "mp4"`)).stdout.trim();
|
||||
} catch (err) {
|
||||
if (e.type == 'tg')
|
||||
return await e.editMessageText(msg.result.chat.id, msg.result.message_id, "yt dl error");
|
||||
@@ -273,8 +276,7 @@ export default async bot => {
|
||||
}
|
||||
|
||||
await db`
|
||||
insert into items ${
|
||||
db({
|
||||
insert into items ${db({
|
||||
src: e.media ? "" : link,
|
||||
dest: filename,
|
||||
mime: mime,
|
||||
@@ -291,6 +293,16 @@ export default async bot => {
|
||||
|
||||
const itemid = await queue.getItemID(filename);
|
||||
|
||||
// auto-tag sfw
|
||||
await db`
|
||||
insert into tags_assign ${db({
|
||||
item_id: itemid,
|
||||
tag_id: 1, // sfw
|
||||
user_id: 2 // f0ck
|
||||
}, 'item_id', 'tag_id', 'user_id')
|
||||
}
|
||||
`;
|
||||
|
||||
// generate thumbnail
|
||||
try {
|
||||
await queue.genThumbnail(filename, mime, itemid, link);
|
||||
@@ -339,7 +351,7 @@ export default async bot => {
|
||||
else {
|
||||
await e.reply(outputmsgirc);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}];
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user