Skip to content

SwitchbladeBot/switchblade

Repository files navigation

Switchblade is gradually coming back and we are only accepting new PRs on "next" branch. The "main" and "dev" branches are still outdated.

Switchblade has outdated code and we don't recommend self-hosting unless you're using for a personal server. We are NOT providing any type of support.


Switchblade

Switchblade is a free and open source solution to your server managing problems, built from scratch with code organization and quality in mind. Our goal is to cover as many functionalities and niches as possible, while still maintaining high quality.

Table of Contents

Commands

Switchblade has over 190 commands, and having to update a list here would be unproductive. Instead, we have a commands page on our website that pulls command metadata straight out of the running bot, so you always get the latest information. Check it out!

Music

⚠ Music is currently disabled on Switchblade's main instance!

We've put a lot of effort into our music system, so you always get the best listening experience. Our system accepts URLs from many different services, like SoundCloud, Deezer, Twitch, and many more. In order to provide you ears with delightful lag-free music, we've spread our Lavalink nodes around the globe, so there's always a low latency connection available to the voice server you're in.

To play a song, join a voice channel and type s!play <query>. The <query> can be anything you want, from a song name to a Soundcloud playlist URL, we've got you covered!

Playback control commands

Command Description
s!play <song> Plays a song or adds it to the queue
s!queue Displays the current queue
s!queue remove <number> Removes a specific song from the queue
s!queue jump <number> Jumps to a specific song on the queue
s!queue clear Removes everything from the queue, except the current song
s!queue shuffle Shuffles the queue
s!skip Skips the current song
s!volume <0-150> Adjusts the volume
s!bassboost We'll leave this one for you to try yourself.

Contributing

We want everyone to be able to help with Switchblade as easily as possible, so we've created a list with the many ways you can contribute to the project. Take a look, and if you think you can help with any of these, please do! If you have any questions, don't hesitate to join our community server and ask as many questions as you want.

Ideas and discussion

Have an awesome idea for a new command? We'd love to hear about it, no matter how silly you think it is. For us, no idea is a bad idea, so please open an issue describing what you have in mind. We'll discuss it and, quite possibly, add it to the bot! You can also help by giving your opinion on one of the many existing ideas we have on our list.

Writing code

If you know how to code in JavaScript, then feel free to give one of the existent ideas a try. Fork this repository, make some changes and then open a pull request! We don't really have much documentation on how the bot ecosystem works, but you should be able to get it with a quick look under the hood.

Please don't open Pull Requests with features that haven't been discussed as issues yet. We don't want you to waste time writing a feature that might get denied. If you have an idea and want it to be in the bot, check the Ideas and discussion paragraph above.

Reporting bugs

Found something crashes the bot? Something isn't working like intended? Please let us know! Whenever you find a bug flying around, try using one of these. If that doesn't work, don't hesitate to write a bug report. Please give us as much information as you can, preferably filling all of the fields provided on the template.

Triaging bug reports

There are probably many bug reports in the issues tab of this repo already. You can help by triaging them and telling us if the, or maybe writing a comment with more information about it. The reports should have a step-by-step guide on how to reproduce the problem, so go ahead! Try to reproduce a bug yourself and tell us what you found.

Translation

One of our main goals is to make Switchblade avaliable as many people as possible, and that's why we have put together an awesome team consisting of more than 50 translators from all around the globe. Do you want to be a part of it? Awesome! We translate our strings through Crowdin, a platform made for software localisation. Go to our Crowdin page and request to join the team. After that, join our community server and ping one of the translation managers so they can accept you and give you your roles. Ah, and did we mention that translators get an awesome badge on their profile card?

Self-hosting

We ask you to please not host your own instance of Switchblade. Even though our license allows it, self-hosted instances of the bot have brought us a lot of headache in the past. If you're considering self-hosting, please try the official instance of the bot first. If you have any concerns about the security of our instance, please contact us. We'd love to talk and answer any questions you have.

If you're really really really going to self-host the bot, please read our license first, and be aware that we don't provide any self-hosting support. You'll be on your own.

Branching, canary and updates

We work on the dev branch, which is deployed automagically to Switchblade Canary, our private testing , whenever commits are pushed. Canary isn't publicly avaliable for everyone to add to their servers, but, if you ask nicely enough, we might open an exception.

Once we feel like the code on dev is stable enough, we merge it to the master branch, that gets deployed to Switchblade, the public instance that everyone can add to their servers.

We usually do that every two months or so, but we might skip a month if we're not confident enough about the reliability of the current code. To get to know about updates as soon as they happen, follow us on medium or join our community server. We post detailed updates notes as soon as stuff goes live.

Sponsors

Sponsors are organizations and companies that contribute to our projects with money. They get their logo with a link to their website on this page! Click here and become a sponsor today!

Backers

Backers are the people who contribute to our projects monetarily. They get their image with a link to their website on this page, an awesome badge on their Switchblade profile and a role that grants exclusive access to some channels in our discord server. Click here and become a backer today!

Hacktoberfest

We are totally Hacktoberfest friendly, in 2021 we are even giving Switchblade Stickers to those who open 3 or more valid PRs to Switchblade during October, please check our issue tab clicking here.