Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shadowlp174/revoice.js
A NodeJS package for voice channel interactions on Revolt. This package lets you join voice channels, play music and more!
https://github.com/shadowlp174/revoice.js
bot channels ffmpeg js nodejs npm npm-package package revolt revolt-chat revoltjs unofficial voice voice-channel
Last synced: about 12 hours ago
JSON representation
A NodeJS package for voice channel interactions on Revolt. This package lets you join voice channels, play music and more!
- Host: GitHub
- URL: https://github.com/shadowlp174/revoice.js
- Owner: ShadowLp174
- License: mit
- Created: 2022-08-13T18:01:16.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2023-11-14T16:26:57.000Z (12 months ago)
- Last Synced: 2024-08-09T21:19:49.975Z (3 months ago)
- Topics: bot, channels, ffmpeg, js, nodejs, npm, npm-package, package, revolt, revolt-chat, revoltjs, unofficial, voice, voice-channel
- Language: JavaScript
- Homepage:
- Size: 8.72 MB
- Stars: 18
- Watchers: 2
- Forks: 5
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Revoice.js - A Voice Module for Revolt
This package is still in developement and lacks many features.
You still are able to play sound to a voice channel. Other features like channel info will follow.
## **Developement paused because of vortex rewrite**
Vortex are the voice servers behind revolt and they are currently being rewritten so adding new features now doesn't make any sense. User stuff, play/pause, audio works but without proper docs. I'm sorry about the docs but they will be updated in the upcoming rewrite of the library after the vortex update.
**TODO**:
- [X] Play/Pause for the media class (help apreciated ;))
- [X] Non-voice events like UserJoined and roominfo
- [ ] Audio reception
- [ ] Error Handling; Right now, you have to take care of things like stopping the music if you start to play another song while one is playing*Disclamer: I might have forgotten some things on the list and thus it might be extended. Feel free to open issues to suggest new features :)*
## Installation
Just execute `npm install revoice.js` to install the package, have fun! :)
## Usage
TL;DR: You initiate a client, you join a voice channel and then you play media.
Please note that unlike on Discord bots, Revolt bots are able to join multiple voice channels at once. Thus a single bot is able to be in every voice channel it has access to. I have no idea about the limitations.
Media has to be created using the MediaPlayer class. You can stream both node streams and media files to revolt.
Example:
If you want to see a working music bot using revoice, check out [Remix](https://github.com/remix-bot/revolt)!
```JavaScript
const { Revoice, MediaPlayer } = require("revoice.js");
const fs = require("fs");const revoice = new Revoice("the-token-of-your-bot");
const connection = await revoice.join("the-voice-channel-id");
const media = new MediaPlayer();
connection.on("join", () => {
connection.play(media); // playing audio does only work after the the bot joined the voice channel// IMPORTANT: If you want to hear music,
// you have to call connection.play(media)
// BEFORE you start playing something in the media playermedia.playFile("./assets/some-nice-song.mp3");
// or something like the following:
media.playStream(fs.createReadStream("./assets/some-nice-song.mp3"));// you don't have to store the voice connection, you can retrieve it if you have the id of the voice channel like this:
const con = revoice.getVoiceConnection("someChannelId");// ... pause it
media.pause();// ... resume it later
media.resume();
});
```# Connect to self-hosted instances
You can pass the configuration data for revolt-api and thus connect it to a self-hosted instance.
For the data you can pass, see [oapi](https://github.com/insertish/oapi#example)## Documentation
For the documentation, please have a look at the pages deployment: https://shadowlp174.github.io/revoice.js/docs