music start
This commit is contained in:
28
index.js
28
index.js
@ -10,15 +10,21 @@ import compression from "compression";
|
||||
// import { accs, infdb, polytrack } from "./database.js";
|
||||
import { accs } from "./database.js";
|
||||
import { } from "./accounts/friend.js";
|
||||
import { search, download } from "./accounts/music.js";
|
||||
import { findClientID, search, download } from "./accounts/music.js";
|
||||
import { banUser, removeAccount, verifyCookie, getUserFromCookie, createAccount, resetPassword, loginAccount, addBadge } from "./accounts/manage.js";
|
||||
import { } from "./accounts/misc.js";
|
||||
import { getRawData, generateAccountPage, editProfile, saveData, getUsers, isAdmin, retrieveData } from "./accounts/profile.js";
|
||||
import { callAI } from "./ai.js";
|
||||
import { Readable } from 'stream';
|
||||
import os from "node:os";
|
||||
const __filename = fileURLToPath(import.meta.url);
|
||||
const __dirname = dirname(__filename);
|
||||
|
||||
await findClientID();
|
||||
setInterval(async () => {
|
||||
await findClientID();
|
||||
}, 1000 * 60 * 20);
|
||||
|
||||
const port = process.env.PORT || 3000;
|
||||
|
||||
const app = express();
|
||||
@ -160,6 +166,26 @@ app.post("/api/ai/sendMessage", async (req, res) => {
|
||||
// stream back reply
|
||||
})
|
||||
|
||||
// music endpoints
|
||||
app.get("/api/music/search", async (req, res) => {
|
||||
res.status(200).send(await search(req.query.q))
|
||||
})
|
||||
|
||||
app.use("/api/music/download", async (req, res, next) => {
|
||||
// console.log()
|
||||
let song = req.query.url;
|
||||
song = song.replaceAll(" ", "");
|
||||
const processor = Bun.spawn([
|
||||
"yt-dlp",
|
||||
"bestaudio[abr<=160]",
|
||||
"-o", `-`,
|
||||
"https://soundcloud.com/" + req.query.url
|
||||
]);
|
||||
for await (const chunk of processor.stdout) {
|
||||
res.write(chunk);
|
||||
}
|
||||
res.end();
|
||||
});
|
||||
|
||||
// friends endpoints
|
||||
app.get("/api/friends/list", async (req, res) => {
|
||||
|
||||
Reference in New Issue
Block a user