Add files via upload
This commit is contained in:
@@ -0,0 +1,28 @@
|
|||||||
|
BSD 3-Clause License
|
||||||
|
|
||||||
|
Copyright (c) 2024, Julian Lechner
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are met:
|
||||||
|
|
||||||
|
1. Redistributions of source code must retain the above copyright notice, this
|
||||||
|
list of conditions and the following disclaimer.
|
||||||
|
|
||||||
|
2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
this list of conditions and the following disclaimer in the documentation
|
||||||
|
and/or other materials provided with the distribution.
|
||||||
|
|
||||||
|
3. Neither the name of the copyright holder nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived from
|
||||||
|
this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||||
|
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||||
|
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||||
|
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
@@ -1,5 +1,55 @@
|
|||||||
# SOON
|
# Discord Audio Stream
|
||||||
|
|
||||||
```
|
[](http://npmjs.org/package/discord-audio-stream)
|
||||||
CODE
|

|
||||||
```
|

|
||||||
|
|
||||||
|
<p>This NPM package was created to make it easier to stream audio to Discord.</p>
|
||||||
|
<p>There is a security feature of discord that stops the stream of audio after some time. This problem can be solved by disconnecting the Discord channel every 1.5 hours for 2 seconds and then reconnecting the channel. (If you use this package!) I recommend using a database to store the data e.g. MySQL, SQLite, json file and other database types.</p>
|
||||||
|
<p>The package does not fix this error yet. However, it is currently being worked on!</p>
|
||||||
|
|
||||||
|
**This module is designed to work with [discord.js](https://discord.js.org/#/) v14. This package doesn't support older versions!**
|
||||||
|
|
||||||
|
## 👋 Support
|
||||||
|
|
||||||
|
Pease create a bug post on github or write [`fraujulian`](https://discord.com/users/860206216893693973) on discord!
|
||||||
|
|
||||||
|
## 📝 Usage
|
||||||
|
|
||||||
|
### Install Package
|
||||||
|
```
|
||||||
|
npm i discord-audio-stream
|
||||||
|
```
|
||||||
|
|
||||||
|
or
|
||||||
|
|
||||||
|
```
|
||||||
|
yarn add discord-audio-stream
|
||||||
|
```
|
||||||
|
|
||||||
|
### Start Audio Stream
|
||||||
|
```js
|
||||||
|
const Audio = require("discord-audio-stream");
|
||||||
|
|
||||||
|
Audio.StreamStart({
|
||||||
|
imvci: 0, //Voice Channel ID e.g. interaction.member.voice.channel.id
|
||||||
|
igi: 0, //Guild ID e.g. interaction.guild.id
|
||||||
|
igv: 0, //Bot Voice Adapter e.g. interaction.guild.voiceAdapterCreator
|
||||||
|
type: Link, //Choose the Stream resource - File or Link
|
||||||
|
StreamFile: "", //Link to File e.g. ../assets/Stream.mp3
|
||||||
|
StreamLink: "" //Link to Audio Stream e.g. YouTube Video or LautFM Stream Link
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
### Stop Audio Stream
|
||||||
|
```js
|
||||||
|
const Audio = require("discord-audio-stream");
|
||||||
|
|
||||||
|
Audio.StreamStart({
|
||||||
|
igi: 0, //Guild ID e.g. interaction.guild.id
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
## 🤝 Enjoy the package?
|
||||||
|
|
||||||
|
Give it a star ⭐ on github!
|
||||||
Vendored
+15
-11
@@ -1,13 +1,17 @@
|
|||||||
declare function start({ firstName, lastName, age }: {
|
type StartProps = {
|
||||||
firstName: String;
|
imvci: number;
|
||||||
lastName: String;
|
igi: number;
|
||||||
age: Number;
|
igv: number;
|
||||||
}): void;
|
type: string;
|
||||||
|
StreamFile?: string;
|
||||||
|
StreamLink?: string;
|
||||||
|
};
|
||||||
|
type StopProps = {
|
||||||
|
igi: number;
|
||||||
|
};
|
||||||
|
|
||||||
declare function stop({ firstName, lastName, age }: {
|
declare function StreamStart({ imvci, igi, igv, type, StreamFile, StreamLink }: StartProps): void;
|
||||||
firstName: String;
|
|
||||||
lastName: String;
|
|
||||||
age: Number;
|
|
||||||
}): void;
|
|
||||||
|
|
||||||
export { start, stop };
|
declare function StreamStop({ igi, }: StopProps): void;
|
||||||
|
|
||||||
|
export { StreamStart, StreamStop };
|
||||||
|
|||||||
Vendored
+15
-11
@@ -1,13 +1,17 @@
|
|||||||
declare function start({ firstName, lastName, age }: {
|
type StartProps = {
|
||||||
firstName: String;
|
imvci: number;
|
||||||
lastName: String;
|
igi: number;
|
||||||
age: Number;
|
igv: number;
|
||||||
}): void;
|
type: string;
|
||||||
|
StreamFile?: string;
|
||||||
|
StreamLink?: string;
|
||||||
|
};
|
||||||
|
type StopProps = {
|
||||||
|
igi: number;
|
||||||
|
};
|
||||||
|
|
||||||
declare function stop({ firstName, lastName, age }: {
|
declare function StreamStart({ imvci, igi, igv, type, StreamFile, StreamLink }: StartProps): void;
|
||||||
firstName: String;
|
|
||||||
lastName: String;
|
|
||||||
age: Number;
|
|
||||||
}): void;
|
|
||||||
|
|
||||||
export { start, stop };
|
declare function StreamStop({ igi, }: StopProps): void;
|
||||||
|
|
||||||
|
export { StreamStart, StreamStop };
|
||||||
|
|||||||
Vendored
+66
-12
@@ -20,24 +20,78 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|||||||
// src/index.ts
|
// src/index.ts
|
||||||
var src_exports = {};
|
var src_exports = {};
|
||||||
__export(src_exports, {
|
__export(src_exports, {
|
||||||
start: () => start,
|
StreamStart: () => StreamStart,
|
||||||
stop: () => stop
|
StreamStop: () => StreamStop
|
||||||
});
|
});
|
||||||
module.exports = __toCommonJS(src_exports);
|
module.exports = __toCommonJS(src_exports);
|
||||||
|
|
||||||
// src/start.ts
|
// src/stuff/error.ts
|
||||||
function start({ firstName, lastName, age }) {
|
function ERROR() {
|
||||||
console.log("Hello!");
|
console.log(" ");
|
||||||
console.log(firstName, lastName, age);
|
console.log(" ______ _____ _____ ____ _____ \r\n | ____| __ \\| __ \\ / __ \\| __ \\ \r\n | |__ | |__) | |__) | | | | |__) |\r\n | __| | _ /| _ /| | | | _ / \r\n | |____| | \\ \\| | \\ \\| |__| | | \\ \\ \r\n |______|_| \\_\\_| \\_\\\\____/|_| \\_\\");
|
||||||
|
console.log(" ");
|
||||||
|
console.log("This error comes from the discord-audio-stream package!");
|
||||||
|
console.log("This error happens if you don't use the package right.");
|
||||||
|
console.log(" ");
|
||||||
|
console.log("See the docs or open a issue post on github.");
|
||||||
|
console.log(" ");
|
||||||
}
|
}
|
||||||
|
|
||||||
// src/stop.ts
|
// src/functions/start.ts
|
||||||
function stop({ firstName, lastName, age }) {
|
var { joinVoiceChannel, createAudioPlayer, createAudioResource } = require("@discordjs/voice");
|
||||||
console.log("Hello!");
|
var { join } = require("path");
|
||||||
console.log(firstName, lastName, age);
|
function StreamStart({
|
||||||
|
imvci,
|
||||||
|
igi,
|
||||||
|
igv,
|
||||||
|
type,
|
||||||
|
StreamFile,
|
||||||
|
StreamLink
|
||||||
|
}) {
|
||||||
|
try {
|
||||||
|
const AudioPlayer = createAudioPlayer();
|
||||||
|
if (type === "File") {
|
||||||
|
let Audio = createAudioResource(StreamLink);
|
||||||
|
AudioPlayer.play(Audio);
|
||||||
|
joinVoiceChannel({
|
||||||
|
channelId: imvci,
|
||||||
|
guildId: igi,
|
||||||
|
adapterCreator: igv
|
||||||
|
}).subscribe(AudioPlayer);
|
||||||
|
} else if (type === "Link") {
|
||||||
|
const Audio = createAudioResource(join(__dirname, StreamFile));
|
||||||
|
AudioPlayer.play(Audio);
|
||||||
|
joinVoiceChannel({
|
||||||
|
channelId: imvci,
|
||||||
|
guildId: igi,
|
||||||
|
adapterCreator: igv
|
||||||
|
}).subscribe(AudioPlayer);
|
||||||
|
} else {
|
||||||
|
ERROR();
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
ERROR();
|
||||||
|
console.log("ERR:\n" + error);
|
||||||
|
console.log(" ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// src/functions/stop.ts
|
||||||
|
var { getVoiceConnection } = require("@discordjs/voice");
|
||||||
|
function StreamStop({
|
||||||
|
igi
|
||||||
|
}) {
|
||||||
|
try {
|
||||||
|
const connection = getVoiceConnection(igi);
|
||||||
|
connection.disconnect();
|
||||||
|
} catch (error) {
|
||||||
|
ERROR();
|
||||||
|
console.log("ERR:\n" + error);
|
||||||
|
console.log(" ");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// Annotate the CommonJS export names for ESM import in node:
|
// Annotate the CommonJS export names for ESM import in node:
|
||||||
0 && (module.exports = {
|
0 && (module.exports = {
|
||||||
start,
|
StreamStart,
|
||||||
stop
|
StreamStop
|
||||||
});
|
});
|
||||||
|
|||||||
Vendored
+79
-10
@@ -1,15 +1,84 @@
|
|||||||
// src/start.ts
|
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
||||||
function start({ firstName, lastName, age }) {
|
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
||||||
console.log("Hello!");
|
}) : x)(function(x) {
|
||||||
console.log(firstName, lastName, age);
|
if (typeof require !== "undefined")
|
||||||
|
return require.apply(this, arguments);
|
||||||
|
throw Error('Dynamic require of "' + x + '" is not supported');
|
||||||
|
});
|
||||||
|
|
||||||
|
// node_modules/tsup/assets/esm_shims.js
|
||||||
|
import { fileURLToPath } from "url";
|
||||||
|
import path from "path";
|
||||||
|
var getFilename = () => fileURLToPath(import.meta.url);
|
||||||
|
var getDirname = () => path.dirname(getFilename());
|
||||||
|
var __dirname = /* @__PURE__ */ getDirname();
|
||||||
|
|
||||||
|
// src/stuff/error.ts
|
||||||
|
function ERROR() {
|
||||||
|
console.log(" ");
|
||||||
|
console.log(" ______ _____ _____ ____ _____ \r\n | ____| __ \\| __ \\ / __ \\| __ \\ \r\n | |__ | |__) | |__) | | | | |__) |\r\n | __| | _ /| _ /| | | | _ / \r\n | |____| | \\ \\| | \\ \\| |__| | | \\ \\ \r\n |______|_| \\_\\_| \\_\\\\____/|_| \\_\\");
|
||||||
|
console.log(" ");
|
||||||
|
console.log("This error comes from the discord-audio-stream package!");
|
||||||
|
console.log("This error happens if you don't use the package right.");
|
||||||
|
console.log(" ");
|
||||||
|
console.log("See the docs or open a issue post on github.");
|
||||||
|
console.log(" ");
|
||||||
}
|
}
|
||||||
|
|
||||||
// src/stop.ts
|
// src/functions/start.ts
|
||||||
function stop({ firstName, lastName, age }) {
|
var { joinVoiceChannel, createAudioPlayer, createAudioResource } = __require("@discordjs/voice");
|
||||||
console.log("Hello!");
|
var { join } = __require("node:path");
|
||||||
console.log(firstName, lastName, age);
|
function StreamStart({
|
||||||
|
imvci,
|
||||||
|
igi,
|
||||||
|
igv,
|
||||||
|
type,
|
||||||
|
StreamFile,
|
||||||
|
StreamLink
|
||||||
|
}) {
|
||||||
|
try {
|
||||||
|
const AudioPlayer = createAudioPlayer();
|
||||||
|
if (type === "File") {
|
||||||
|
let Audio = createAudioResource(StreamLink);
|
||||||
|
AudioPlayer.play(Audio);
|
||||||
|
joinVoiceChannel({
|
||||||
|
channelId: imvci,
|
||||||
|
guildId: igi,
|
||||||
|
adapterCreator: igv
|
||||||
|
}).subscribe(AudioPlayer);
|
||||||
|
} else if (type === "Link") {
|
||||||
|
const Audio = createAudioResource(join(__dirname, StreamFile));
|
||||||
|
AudioPlayer.play(Audio);
|
||||||
|
joinVoiceChannel({
|
||||||
|
channelId: imvci,
|
||||||
|
guildId: igi,
|
||||||
|
adapterCreator: igv
|
||||||
|
}).subscribe(AudioPlayer);
|
||||||
|
} else {
|
||||||
|
ERROR();
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
ERROR();
|
||||||
|
console.log("ERR:\n" + error);
|
||||||
|
console.log(" ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// src/functions/stop.ts
|
||||||
|
var { getVoiceConnection } = __require("@discordjs/voice");
|
||||||
|
function StreamStop({
|
||||||
|
igi
|
||||||
|
}) {
|
||||||
|
try {
|
||||||
|
const connection = getVoiceConnection(igi);
|
||||||
|
connection.disconnect();
|
||||||
|
} catch (error) {
|
||||||
|
ERROR();
|
||||||
|
console.log("ERR:\n" + error);
|
||||||
|
console.log(" ");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
export {
|
export {
|
||||||
start,
|
StreamStart,
|
||||||
stop
|
StreamStop
|
||||||
};
|
};
|
||||||
|
|||||||
Generated
+2564
File diff suppressed because it is too large
Load Diff
+37
-35
@@ -1,35 +1,37 @@
|
|||||||
{
|
{
|
||||||
"name": "@discord.js/radio",
|
"name": "discord-audio-stream",
|
||||||
"version": "0.0.1",
|
"version": "0.0.3",
|
||||||
"description": "🖼️ NPM Package to stream any audio link on discord. ",
|
"description": "🖼️ NPM Package to stream any audio link on discord.",
|
||||||
"main": "./dist/index.js",
|
"main": "./dist/index.js",
|
||||||
"module": "./dist/index.mjs",
|
"module": "./dist/index.mjs",
|
||||||
"types": "./dist/index.d.ts",
|
"types": "./dist/index.d.ts",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "tsup"
|
"build": "tsup"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "git+https://github.com/FrauJulian/discord.js-radio.git"
|
"url": "git+https://github.com/FrauJulian/discord-audio-stream.git"
|
||||||
},
|
},
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"discord.js",
|
"discordjs-v14",
|
||||||
"stream",
|
"stream",
|
||||||
"audio",
|
"audio"
|
||||||
"radio"
|
],
|
||||||
],
|
"author": "FrauJulian | Julian Lechner",
|
||||||
"author": "FrauJulian | Julian Lechner",
|
"license": "BSD-3-Clause",
|
||||||
"license": "BSD-3-Clause",
|
"bugs": {
|
||||||
"bugs": {
|
"url": "https://github.com/FrauJulian/discord-audio-stream/issues"
|
||||||
"url": "https://github.com/FrauJulian/discord.js-radio/issues"
|
},
|
||||||
},
|
"homepage": "https://github.com/FrauJulian/discord-audio-stream#readme",
|
||||||
"homepage": "https://github.com/FrauJulian/discord.js-radio#readme",
|
"devDependencies": {
|
||||||
"devDependencies": {
|
"tsup": "^8.0.2",
|
||||||
"tsup": "^8.0.2",
|
"typescript": "^5.4.5"
|
||||||
"typescript": "^5.4.5"
|
},
|
||||||
},
|
"dependencies": {
|
||||||
"dependencies": {
|
"@discordjs/voice": "^0.16.1",
|
||||||
"my-package": "^0.0.0"
|
"discord.js": "^14.14.1",
|
||||||
}
|
"ffmpeg-static": "^5.2.0",
|
||||||
}
|
"libsodium-wrappers": "^0.7.13",
|
||||||
|
"opusscript": "^0.0.8"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -0,0 +1,48 @@
|
|||||||
|
import { StartProps } from "../stuff/types";
|
||||||
|
import { ERROR } from "../stuff/error";
|
||||||
|
|
||||||
|
const { joinVoiceChannel, createAudioPlayer, createAudioResource } = require("@discordjs/voice");
|
||||||
|
const { join } = require('node:path');
|
||||||
|
|
||||||
|
export function StreamStart({
|
||||||
|
imvci,
|
||||||
|
igi,
|
||||||
|
igv,
|
||||||
|
type,
|
||||||
|
StreamFile,
|
||||||
|
StreamLink
|
||||||
|
}: StartProps) {
|
||||||
|
try {
|
||||||
|
const AudioPlayer = createAudioPlayer();
|
||||||
|
|
||||||
|
if (type === "File") {
|
||||||
|
|
||||||
|
let Audio = createAudioResource(StreamLink);
|
||||||
|
AudioPlayer.play(Audio);
|
||||||
|
|
||||||
|
joinVoiceChannel({
|
||||||
|
channelId: imvci,
|
||||||
|
guildId: igi,
|
||||||
|
adapterCreator: igv
|
||||||
|
}).subscribe(AudioPlayer)
|
||||||
|
|
||||||
|
} else if (type === "Link") {
|
||||||
|
|
||||||
|
const Audio = createAudioResource(join(__dirname, StreamFile));
|
||||||
|
AudioPlayer.play(Audio);
|
||||||
|
|
||||||
|
joinVoiceChannel({
|
||||||
|
channelId: imvci,
|
||||||
|
guildId: igi,
|
||||||
|
adapterCreator: igv
|
||||||
|
}).subscribe(AudioPlayer);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
ERROR();
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
ERROR();
|
||||||
|
console.log("ERR:\n" + error);
|
||||||
|
console.log(" ");
|
||||||
|
}
|
||||||
|
};
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
import { StopProps } from "../stuff/types";
|
||||||
|
import { ERROR } from "../stuff/error";
|
||||||
|
|
||||||
|
const { getVoiceConnection } = require("@discordjs/voice");
|
||||||
|
|
||||||
|
export function StreamStop({
|
||||||
|
igi,
|
||||||
|
}: StopProps) {
|
||||||
|
try {
|
||||||
|
|
||||||
|
const connection = getVoiceConnection(igi);
|
||||||
|
connection.disconnect();
|
||||||
|
|
||||||
|
} catch (error) {
|
||||||
|
ERROR();
|
||||||
|
console.log("ERR:\n" + error);
|
||||||
|
console.log(" ");
|
||||||
|
}
|
||||||
|
};
|
||||||
+2
-2
@@ -1,2 +1,2 @@
|
|||||||
export * from "./start";
|
export * from "./functions/start";
|
||||||
export * from "./stop";
|
export * from "./functions/stop";
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
export function ERROR() {
|
||||||
|
console.log(" ");
|
||||||
|
console.log(" ______ _____ _____ ____ _____ \r\n | ____| __ \\| __ \\ \/ __ \\| __ \\ \r\n | |__ | |__) | |__) | | | | |__) |\r\n | __| | _ \/| _ \/| | | | _ \/ \r\n | |____| | \\ \\| | \\ \\| |__| | | \\ \\ \r\n |______|_| \\_\\_| \\_\\\\____\/|_| \\_\\");
|
||||||
|
console.log(" ");
|
||||||
|
console.log("This error comes from the discord-audio-stream package!");
|
||||||
|
console.log("This error happens if you don't use the package right.");
|
||||||
|
console.log(" ")
|
||||||
|
console.log("See the docs or open a issue post on github.")
|
||||||
|
console.log(" ")
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
export type StartProps = {
|
||||||
|
imvci: number;
|
||||||
|
igi: number;
|
||||||
|
igv: number;
|
||||||
|
type: string;
|
||||||
|
StreamFile?: string;
|
||||||
|
StreamLink?: string;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type StopProps = {
|
||||||
|
igi: number;
|
||||||
|
};
|
||||||
+1
-1
@@ -5,7 +5,7 @@
|
|||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
"strictNullChecks": true,
|
"strictNullChecks": true,
|
||||||
"target": "ES2022",
|
"target": "ES2022",
|
||||||
"moduleResolution": "Node10",
|
"moduleResolution": "Node",
|
||||||
"module": "CommonJS",
|
"module": "CommonJS",
|
||||||
"declaration": true,
|
"declaration": true,
|
||||||
"isolatedModules": true,
|
"isolatedModules": true,
|
||||||
|
|||||||
Reference in New Issue
Block a user