GithubHelp home page GithubHelp logo

clytage / rawon Goto Github PK

View Code? Open in Web Editor NEW
1.4K 14.0 1.7K 20.93 MB

A simple powerful Discord music bot built to fulfill your production desires. Easy to use, with no coding required.

Home Page: https://rawon.stegripe.org

License: GNU Affero General Public License v3.0

TypeScript 97.11% JavaScript 2.31% Nix 0.09% Dockerfile 0.49%
discord-bot discord-music-bot discord-js rawon

rawon's Introduction

Rawon

A simple powerful Discord music bot built to fulfill your production desires. Easy to use, with no coding required.

CI Status

Features

  • Interaction support.
  • Configurable, and easy to use.
  • Basic music and moderation commands.
  • A production-ready project, set up the bot without coding.

General Setup

  1. Download and install Node.js version 16.6.0 or higher
  2. Open the .env_example file and rename it to .env
  3. Install required and optional dependencies. You still can use npm too.
$ pnpm install
  1. Compile the file
$ pnpm run build
  1. If you want to save your disk spaces, let's prune the dev dependencies
$ pnpm prune --production
  1. Finally, you can start the bot
$ pnpm start

Hosting Setup

Setup Tutorial Video (YouTube)

Setup Guide Video

Docker

You can use our official Docker image:

$ docker run -v ./scripts:/app/scripts --env-file ./.env -d ghcr.io/stegripe/rawon:latest 

...or with docker-compose:

services:
  rawon:
    image: ghcr.io/stegripe/rawon:latest
    restart: unless-stopped
    env_file: .env
    volumes:
      - "./scripts:/app/scripts"

Don't forget to create .env file and fill environment values from .env_example file

NOTE: You must attach /app/scripts volume if you use yt-dlp stream strategy.

Glitch

You can use Glitch too for this project, featured with its code editor.

  1. Star and fork this project
  2. Go to glitch.com and make an account
  3. Click New Project then Import from GitHub, specify the pop-up field with https://github.com/<your-name>/rawon (without <>)
  4. Please wait for a while, this process takes some minutes
  5. Find the .env file and delete it, then find .env_example file and rename it to .env
  6. After specifying .env, open Tools > Terminal
  7. Type refresh, and track the process from Logs

Remix on Glitch

Railway

Railway provides $5 each month for you to use in the free plan, it will stay online 24/7 as long as your usage does not exceed $5.

IMPORTANT: Read Disclaimers before deploying to Railway.

Deploy on Railway

Disclaimers

Disclaimers are listed on the DISCLAIMERS.md file.

Project Contributors

Developers

Translators

© 2023 Stegripe Development

rawon's People

Contributors

21z avatar allvaa avatar deadeyez1 avatar dependabot[bot] avatar fab1o0107 avatar fyphen1223 avatar godofwarop avatar hmz121 avatar mednoob avatar melloirl avatar moustacheoff avatar mzrtamp avatar noxzym avatar osmantunahan avatar pizzarous avatar rabbityuku avatar renovate-bot avatar renovate[bot] avatar romadevworld avatar ronner231 avatar xorsiphus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rawon's Issues

[Features] Spotify support?

This maybe will affect the queue system because it needs a remake, but I won't do it for now. Creating discord-player equivalent or lavalink equivalent written in nodejs is probably a good idea?

[Question] App creation failed

I get this error when running on Heroku.

Create app
App creation failed. Please ensure you have valid values in the above form fields.

Configure environment
There was an issue setting up your app environment.

could not find the source blob

Please help me in this error.

[Question] Help command

Hello Brother,
I need small help in pagination help command in your code,means i made a bot with music feature,mod and some other features!!!
Like you prepared for queue!
Please Help me to make my command
For each page, each command and description!
I don't know how to code like this and i tried pagination but package is not same,so it is not working for this music bot!

[Features] Decrease disk space usage

I've noticed that many glitch users are having trouble with running disc-11. This was caused by the size of node modules that exceeds glitch free plan disk size. We don't want to drop support for glitch users. So, We've come to a conclusion that we need to reduce the disk space used by the project.

To do:

  • Replace winston with our own logger
  • Remove ts-node
  • Remove cli-table
  • Replace entities with our own parser
  • Replace libsodium-wrappers with tweetnacl
  • Install ffmpeg-static in index.js instead
  • Replace typescript with sucrase

[Question] Why this is implemented?

image
This should not be implemented I feel. - he can use the skip-to command without the DJ role. - Although, if there are multiple people in the voice channel. the vote will be used to skip to that particular song. Also, add DJ role direct skip in /skip command. The work of the DJ role will be only if someone comes with a DJ role and skip any song, the voting feature will not come, there will be a direct skip for both /skip command and /skip-to command. - Correct me if I am wrong.

[Announcement] Feature requests limitation

We would like to thank all of the people who have come to this repository and opened an issue for new features. But, I'm here to announce that:

We are accepting feature requests for disc-11 v2 only until the end of september.

The reason we're doing this is because we also have to test and refactor the code. We're going to do that fully on october.

[Features] Add 24/7 command

Most of the music bots comes with a 24/7 command in which the bot doesn't leave the voice channel we have set, this helps in stream radios. - Thanks!

[Question] TypeError: Cannot read property 'value' of undefined

Cannot start the server.
Have pasted my output below.

username@server:~/disc-11$ npm start

> [email protected] start /home/username/disc-11
> node start.js

/home/username/disc-11/dist/utils/Logger.js:13
        .replace(/<hour>/g, data.find(({ type }) => type === "hour").value)
                                                                    ^

TypeError: Cannot read property 'value' of undefined
    at formatDateForLogFile (/home/username/disc-11/dist/utils/Logger.js:13:69)
    at createLogger (/home/username/disc-11/dist/utils/Logger.js:39:92)
    at Object.<anonymous> (/home/username/disc-11/dist/main.js:8:39)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at require (internal/modules/cjs/helpers.js:25:18)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: `node start.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/username/.npm/_logs/2021-09-15T01_06_31_541Z-debug.log
username@server:~/disc-11$

[Question] Installation error

Describe the bug

Require stack:

  • /app/index.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)

To Reproduce

No response

Expected behavior

No response

Screenshots

No response

Operating System

linux

Additional context

No response

[Bug Report] Installation error

2020-10-02T10:11:16.132292+00:00 app[web.1]: Unhandled Rejection at: Promise {
2020-10-02T10:11:16.132314+00:00 app[web.1]: TypeError: Cannot read property 'queue' of undefined
2020-10-02T10:11:16.132315+00:00 app[web.1]: at Client. (/app/index.js:510:46)
2020-10-02T10:11:16.132315+00:00 app[web.1]: at Client.emit (events.js:327:22)
2020-10-02T10:11:16.132316+00:00 app[web.1]: at MessageCreateAction.handle (/app/node_modules/discord.js/src/client/actions/MessageCreate.js:31:14)
2020-10-02T10:11:16.132317+00:00 app[web.1]: at Object.module.exports [as MESSAGE_CREATE] (/app/node_modules/discord.js/src/client/websocket/handlers/MESSAGE_CREATE.js:4:32)
2020-10-02T10:11:16.132317+00:00 app[web.1]: at WebSocketManager.handlePacket (/app/node_modules/discord.js/src/client/websocket/WebSocketManager.js:384:31)
2020-10-02T10:11:16.132318+00:00 app[web.1]: at WebSocketShard.onPacket (/app/node_modules/discord.js/src/client/websocket/WebSocketShard.js:444:22)
2020-10-02T10:11:16.132318+00:00 app[web.1]: at WebSocketShard.onMessage (/app/node_modules/discord.js/src/client/websocket/WebSocketShard.js:301:10)
2020-10-02T10:11:16.132319+00:00 app[web.1]: at WebSocket.onMessage (/app/node_modules/ws/lib/event-target.js:125:16)
2020-10-02T10:11:16.132319+00:00 app[web.1]: at WebSocket.emit (events.js:315:20)
2020-10-02T10:11:16.132320+00:00 app[web.1]: at Receiver.receiverOnMessage (/app/node_modules/ws/lib/websocket.js:797:20)
2020-10-02T10:11:16.132320+00:00 app[web.1]: } reason: TypeError: Cannot read property 'queue' of undefined
2020-10-02T10:11:16.132320+00:00 app[web.1]: at Client. (/app/index.js:510:46)
2020-10-02T10:11:16.132321+00:00 app[web.1]: at Client.emit (events.js:327:22)
2020-10-02T10:11:16.132321+00:00 app[web.1]: at MessageCreateAction.handle (/app/node_modules/discord.js/src/client/actions/MessageCreate.js:31:14)
2020-10-02T10:11:16.132321+00:00 app[web.1]: at Object.module.exports [as MESSAGE_CREATE] (/app/node_modules/discord.js/src/client/websocket/handlers/MESSAGE_CREATE.js:4:32)
2020-10-02T10:11:16.132322+00:00 app[web.1]: at WebSocketManager.handlePacket (/app/node_modules/discord.js/src/client/websocket/WebSocketManager.js:384:31)
2020-10-02T10:11:16.132322+00:00 app[web.1]: at WebSocketShard.onPacket (/app/node_modules/discord.js/src/client/websocket/WebSocketShard.js:444:22)
2020-10-02T10:11:16.132323+00:00 app[web.1]: at WebSocketShard.onMessage (/app/node_modules/discord.js/src/client/websocket/WebSocketShard.js:301:10)
2020-10-02T10:11:16.132323+00:00 app[web.1]: at WebSocket.onMessage (/app/node_modules/ws/lib/event-target.js:125:16)
2020-10-02T10:11:16.132323+00:00 app[web.1]: at WebSocket.emit (events.js:315:20)
2020-10-02T10:11:16.132325+00:00 app[web.1]: at Receiver.receiverOnMessage (/app/node_modules/ws/lib/websocket.js:797:20)

[Bug Report] Node version error

Recently this started not too long ago idk what it mean may anyone help me?

/app/dist/utils/Logger.js:14
5:53 PM
.replace(//g, data.find(({ type }) => type === "hour").value)
5:53 PM
^
5:53 PM
5:53 PM
TypeError: Cannot read property 'value' of undefined
5:53 PM
at formatDateForLogFile (/app/dist/utils/Logger.js:14:69)
5:53 PM
at Object.createLogger (/app/dist/utils/Logger.js:40:92)
5:53 PM
at Object. (/app/dist/main.js:8:22)
5:53 PM
at Module._compile (internal/modules/cjs/loader.js:759:30)
5:53 PM
at Object.Module._extensions..js (internal/modules/cjs/loader.js:770:10)
5:53 PM
at Module.load (internal/modules/cjs/loader.js:628:32)
5:53 PM
at Function.Module._load (internal/modules/cjs/loader.js:555:12)
5:53 PM
at Module.require (internal/modules/cjs/loader.js:666:19)
5:53 PM
at require (internal/modules/cjs/helpers.js:16:16)
5:53 PM
Jump Toat start (/app/start.js:30:5)

[Features] Slash commands

This bot will support slash command interaction.

Slash Commands are the new, exciting way to build and interact with apps on Discord.

With Slash Commands, all you have to do is type / and you're ready to use your favorite bot. Users can learn everything your bot does and easily find new features as you add them. Validation, error states, and helpful UI walk them through your commands, meaning they can get it right the first time, especially on mobile. You now have one more ally in the fight against your phone's autocorrect.

Slash Commands set your users up for success instead of confusion and frustration. They separate how users think and how your code works, meaning no matter how complex your codebase and commands may get, people who love your bot will find it approachable and easy to use.

[Question] Installation error

  • C:\Users\chauv\Desktop\disc-11-1.60.5\start.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:927:15)
    at Function.Module._load (node:internal/modules/cjs/loader:772:27)
    at Module.require (node:internal/modules/cjs/loader:999:19)
    at require (node:internal/modules/cjs/helpers:93:18)
    at start (C:\Users\chauv\Desktop\disc-11-1.60.5\start.js:30:5)
    at Object. (C:\Users\chauv\Desktop\disc-11-1.60.5\start.js:21:1)
    at Module._compile (node:internal/modules/cjs/loader:1095:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1124:10)
    at Module.load (node:internal/modules/cjs/loader:975:32)
    at Function.Module._load (node:internal/modules/cjs/loader:816:12) {
    code: 'MODULE_NOT_FOUND',
    requireStack: [ 'C:\Users\chauv\Desktop\disc-11-1.60.5\start.js' ]

[Question] Can't find module './dist/main.js'

Error: Cannot find module './dist/main.js'
Require stack:

  • /home/idabagustomoeisozaki/disc-11/start.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:793:17)
    at Function.Module._load (internal/modules/cjs/loader.js:686:27)
    at Module.require (internal/modules/cjs/loader.js:848:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at start (/home/idabagustomoeisozaki/disc-11/start.js:30:5)
    at Object. (/home/idabagustomoeisozaki/disc-11/start.js:21:1)
    at Module._compile (internal/modules/cjs/loader.js:955:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:991:10)
    at Module.load (internal/modules/cjs/loader.js:811:32)
    at Function.Module._load (internal/modules/cjs/loader.js:723:14) {
    code: 'MODULE_NOT_FOUND',
    requireStack: [ '/home/idabagustomoeisozaki/disc-11/start.js' ]
    }

[Features] Add Spotify

Hello, I wanted to add a spotify API to search track names from spotify url and then play it with ytdl. But it doesnt work at all. Can you add smth like this?

[Bug Report] ENOSPC: no space left on device

Describe the bug

its been 30mins. You should check the code again because i dead :skull

To Reproduce

No response

Expected behavior

No response

Screenshots

image

Operating System

linux

Additional context

No response

[Bug Report] Error 404

When I try to use the bot, it says this:

I could not obtain any search results
Error: Status code: 404

I don't know what causes this, and im using the default settings and the latest youtube api. Please help me.

[Features] Spotify and SoundCloud support

Hi!

I was just wondering what happened to Spotify support - going through the repo I can see there were a couple merged pull requests (#235 #236) that got reverted later in #260.

Was there an issue with that implementation or another reason why Spotify support got removed?

Thanks!

[Information] Disc 11's future

Jukebox v5 will require Node.js version 14.0.0 or above, as in discordjs/discord.js#5119.
When v5 is released, I'll Immediately start rewriting Jukebox with an entirely new music system, marking it as v6.
I will try to maintain v5 until September 5th, 2021, and I'll also try to update v4 (unlikely, I'll probably deprecate that version after > Discord.js major update) until it's broken because Discord kills the v6 gateway.

[Features] Skip-to command

Example:
!skipto 4
Result: Skipped to track 4 in queue
!skipto end
Result: Skipped to the last track in queue
!skipto start
Result: Rewinds to the first track queued

[Refactor] Hard-remake

In this 2nd version, this project or bot will no longer be based on Jukebox. Zhycorp Development will strive to be on its own, and will no longer rely on outsiders.

Maybe this project will change drastically from the previous version, starting from the track queue system, structures, and there will be the addition of new features so that this is not just an ordinary music bot.

And of course, we will keep Zhycorp's slogan "Imagine a bot without coding", but with amazing new features besides music, no coding, and easy to use for your production/needs.

[Features] Add Vote on Skip command

There are times, when there are multiple people in the same voice channel listening to music, someone suddenly comes and ends the music, but the other people want to hear the song, in this time vote skip command will make the work done. - When there are multiple people in the voice channel, the bot will put up a vote to skip the music, instead of skipping the music directly. - The one with the "DJ" role can skip the music directly. (5 people listening to music, there should be 3 skip votes to skip the song, 3 people listening to music, there should be 2 skip votes to skip the song.) - Thanks!

[Features] Audio filtering system

This is something we see in most of the music bots, but to be honest, there is a very little percentage of people who use this cool thing. Filters like bass-boost, nightcore, etc. - It is really fun to add filters in songs while playing them. - Thanks!
image

[Features] Creating a GitHub Pages

Yes, I'm planning to create a Github Pages for this project. Why? This will help people to access and use everything related to disc-11. This will be something that I will work on after v2 released. I still don't know exactly when and where to start. So, I'm just gonna leave this here as an issue.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.