Giter Site home page Giter Site logo

thesharks / wildbeast Goto Github PK

View Code? Open in Web Editor NEW
291.0 13.0 143.0 111.53 MB

Feature-rich Discord bot framework

Home Page: https://docs.wildbeast.guide

License: Other

JavaScript 0.16% Dockerfile 0.10% Shell 0.22% TypeScript 99.52%
wildbeast discord-bot discord docker nodejs linux wildbot

wildbeast's Introduction



Version Discord server Github Sponsors


Wildbeast is a multifunctional Discord bot, intended to provide a framework that's easy to use, extend, and modify.
This is also the open source framework for WildBot#3942 on Discord.

Main features

  • Full extendability
  • Easy to modify
  • Built-in command system with permissions and server-unique configurations

Visit our documentation for more information.

Want to use Wildbeast but don't want to host it yourself?

No problem, we maintain a public instance called WildBot that you can invite to your server! Visit https://invite.thesharks.xyz to get started!

Want to run Wildbeast yourself?

We've got you covered on that - we provide installation instructions for Windows and Linux. Check out the Windows installation manual or Linux installation manual to get started.


"Discord", "Discord App", and any associated logos are registered trademarks of Discord, inc.

wildbeast's People

Contributors

andre-paulo98 avatar arunesh90 avatar bahmike avatar brainslugclaptrap avatar cernodile avatar crowdin-bot avatar curtisf avatar dependabot-preview[bot] avatar dependabot-support avatar dependabot[bot] avatar dougley avatar drewtheghost avatar elie-g avatar github-actions[bot] avatar goldenangel2 avatar greenkeeper[bot] avatar greenkeeperio-bot avatar jamiephonic avatar linuswillner avatar mirrorbreak avatar navinpai avatar nenkai avatar palmtree5 avatar pierce01 avatar reachjuggernog avatar serthon avatar snyk-bot avatar sylido avatar tslimshady99 avatar zaza7 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

wildbeast's Issues

Auth levels

Commands need a property that sets an auth level that users need to be or higher to execute the command

Update FFmpeg

This one is easy, replace the FFmpeg executables in the repo with the latest version.

Out of date Twitch API

Well, the Twitch API drastically changed, and thus breaks the default !twitch {channel name}command.

Is it expected to be updated or removed?

Issue on Windows

I got the bot up and running using the installation to Windows guide.
FortuneCow works, but the youtube music part is failing.

The error message, which doesn't tell me much.
AssignProcessToJobObject(87) and parameter is incorrect

Request:
!request https://youtube.com/(link)

  • The bot enters, exit the voice channel just fine.
  • I have generated the google key multiple times, and still has issues.
  • This is running on node v6.7.0, which is latest as of today.

Google Projects API documentation is out of date

Google updated the process of acquiring a API key for YouTube Data, and is looks completely different than is does on the Wiki

^_^b

On another note, what about putting the Wiki in the git so outsiders can do pulls on the Wiki. cough cough so I could make the update myself cough cough

How to restrict a special commands for admins only?

Hey!

We installed the bot on our Discord server and we love it, thanks a lot.

I'd like to know if it was possible to restrict ++skip for admins only, because our members do it every time they wanna listen to their music.

Thanks a lot!

Yomomma broken

Yomomma is broken, I tested it on QuarryBot + WildBot both.

Feature to DM every user in chat

Is a feature like this possible to implement on a bot was just wondering where it would DM all of the users in a Discord Channel?

Getting more done in GitHub with ZenHub

Hola! @SteamingMutt has created a ZenHub account for the SteamingMutt organization. ZenHub is the leading team collaboration and project management solution built for GitHub.


How do I use ZenHub?

To get set up with ZenHub, all you have to do is download the browser extension and log in with your GitHub account. Once you do, you’ll get access to ZenHub’s complete feature-set immediately.

What can ZenHub do?

ZenHub adds a series of enhancements directly inside the GitHub UI:

  • Real-time, customizable task boards for GitHub issues;
  • Burndown charts, estimates, and velocity tracking based on GitHub Milestones;
  • Personal to-do lists and task prioritization;
  • “+1” button for GitHub issues and comments;
  • Drag-and-drop file sharing;
  • Time-saving shortcuts like a quick repo switcher.

Add ZenHub to GitHub

Still curious? See more ZenHub features or read user reviews. This issue was written by your friendly ZenHub bot, posted by request from @SteamingMutt.

ZenHub Board

playFile crash.

Pls go fix line 60 >.>

 setTimeout(function() {
      if (bot.voiceConnection != null) {
            bot.voiceConnection.playFile('./music/waitmusic.mp3', {}); // Play waiting music because why not
      }
  }, 1000); // Wait a bit for the voiceConnection object to become available
};

forceskip command causes crash

When I attempt to use the forceskip command, instead of skipping the song the bot crashes and does not automatically restart.

Inserting the relevant output from my screenlog below

^[[32minfo^[[39m: Executing <!forceskip> from Palm__
events.js:154
throw er; // Unhandled 'error' event
^

Error: read ECONNRESET
at exports._errnoException (util.js:856:11)
at Pipe.onread (net.js:550:26)

Database solution?

Are we fine with sticking to a key/value database as we are doing right now with Redis (and later with LevelDB), or do we need to switch to a "real" database solution like MySQL?

Clear list of dependencies/related

It took me a while to figure out how to install this.
I got youtube-dl and ffmpeg specially installed to get this bot working, and custom-edited some js code to make it willing to run (the yt-dl code needed a pointer to the file)
I'm on Ubuntu 14.04
It's now able to join a voice channel and play some random song, but any commands are ignored with errors!

mcmonkey - Today at 11:25 PM
@WildBeast volume 0.1
WildBeastBOT - Today at 11:25 PM
An error occured while trying to process this command, you should let the bot author know. 
TypeError: Cannot set property 'volume' of undefined
mcmonkey - Today at 11:26 PM
@WildBeast skip
WildBeastBOT - Today at 11:27 PM
An error occured while trying to process this command, you should let the bot author know. 
TypeError: Cannot read property 'link' of undefined

Request not adding video from YouTube to the playlist

Hey, not sure since when this problem is present, just tried it today, but with the usual "++request last part" after the ?v=[this part]" neither with the whole YouTube link it's adding it to the playlist.
Either giving the error message "That's not how you do it, you need to enter a link to a file for me to play." when just using the last part of the URL or "I couldn't add that to the playlist." when using the complete URL.
I think it's the same when using ++queue instead of ++request

Commands

Instead of ~catfacts and ~facts, you could have ~Facts or ~Facts Cat so you could later import other kinds of facts but you don't have to create a completely new command for them.

youtubereq command requires a link

I used this bot a couple weeks ago, hosted on Heroku, worked like a charm. However, the youtubereq command stopped working like it used to. For example, I could use youtubereq toxicity and it would play SOAD's Toxicity, however, now it exclusively requires a youtube link, for example, youtubereq https://www.youtube.com/watch?v=64FrYGRrKVY or it will show this error Stuff happened, I failed to fetch a valid AV file, try again with something different!

I didn't change anything in order for it to break. Do you have a clue what might have happened, or how to fix it?

Playlist added counter is messed up

I have experimented around with both QuarryBot and WildBot, they both seem to have the same issue, so let me get into details;

I have 2 playlists for example, I want to add them both to the queue.
1st playlist has 5 videos.
2nd playlist has 7 videos.

I execute ++request playlist1, it says as normal "Added 5 videos",
when I execute ++request playlist2, it will say "Added 12 videos" instead of 7, basically 5+7, stacking previous queued songs ontop of counter.

How to replicate; Get 1 or 2 playlist links, add them to the queue (doesn't matter if voice connection is broken, it'll still keep the stacked amount of songs).
Debug logs; Have none, sorry! Didin't seem as important since it occurs on live version of WildBeast.

Custom timeout

Had this idea but wasn't able to pull it off.

Have a custom timeout function so it could send different timeout messages or execute a function for a certain command. Also if possible, a counter so if a command is getting spammed while still within timeout, the user can get kicked or something.

Not really game changing but just something that could be fun to implement.

Auth levels per server

Upon joining a server, the bot makes the founder of the server a level 3 user unique to that server, this way server owners can independently decide who should use what commands.

Auth levels per command are set by the script and can't be adjusted via conventional ways.

This requires the use of Redis, MySQL or any other database though.

skip function

can u plz make the vote skip to skip and if the person who type in the cmd is lvl 3 then force skip else start a vote

thank u

[3.0.0] Trivia

Make a trivia command that will ask the users in the server a question and they have to answer asap to score points.

For added effect, make users first say Buzz before they can answer, giving them 5 seconds of solo right to answer the question before reopening the answer window.

Request Issue

I have recently setup WildBeast onto my Raspberry Pi and everything is working except from the !request command.

When I request a song, in the console it shows
image

The bot says "I couldn't add that to the playlist." and then deletes the message it just sent.

Youtube search play

Make it so that when you request a song name instead of a link, it plays the first result on youtube

NSFW toggle flag unique to channels

If we are going to include commands that can potentially be NSFW, it's better to make a command that can toggle those commands on and off for use in a specific channel.

This also requires a database, like Redis.

imdb and setowner issues.

For the IMDB command in the config there's no myapifilms_token: "token" so without a token the bot will crash if someone uses the imdb command. possible fix is a try/catch or disable the command is no token is found.

For setowner the command is not checking properly if it was ran in a DM causing the bot to crash, I was able to circumvent this by adding some basic checking and the command appears to work for those above level 2 and denies those under.

if (msg.channel.isPrivate){
bot.sendMessage(msg.channel, "You need to execute this command in a server, dummy!");
}
if (!msg.channel.isPrivate){
    //rest of code
      }
    });
}}};

Support YouTube playlists

Support YouTube playlist within request, but restrict playlists to a certain amount to reduce uncontrolled "reservations"

Unexpected token M in JSON at position 48

I have done everything as n the guide, but when I run the test is says: "WildBeast encountered an error while trying to load the config file, please resolve this issue and restart WildBeast", and " Unexpected token M in JSON at position 48", but there isnt even a 48 .
Pls help

prefix issue.

If prefix is set to something like ++ or ** the .search() function will turn it onto a regular expression causing a crash. Doing the following it appears to not break when those types of prefixes are used and also works when it's set to mention.

Replacing

if (msg.content.search(prefix) === 0) {

for

if (msg.content.includes(prefix)) {

Use LevelUP instead of Redis

LevelUP (or LevelDB if you wish) does not require the installation of any software to run and depends solely on NPM modules.
Changing to LevelUP removes a hefty software installation requirement, not to mention Redis doesn't have native Windows support.
https://github.com/Level/levelup

Add more config variables

Most hardcoded options we've made can be changed to be configurable, like the amount of voice slots per shard and weather to use emscripten-opus or node-opus.

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.