Releases: euab/jager
Release list
Jager v2.0
This build marks the end of the main stage of development for Jager Version 2. All of the commands that were the most popular according to metrics from Version 1 have been ported to run under the new Java system. Any commands that were sparsely used have not been ported.
All versions after v2.0 (stable) will increment adhering as close to semantic versioning rules as possible.
Changelog
-
Ported bot from Python to Java
-
Ported 10 new commands from Python to Java:
- Help command
- Uptime command
- Ping command
- Invite command
- Urban Dictionary command
- Play command
- Pause command
- Summon command
- Leave command
- Resume command
-
Created 6 new commands:
- Skip command
- Clear queue command
- Now playing command
- Repeat command
- Denver command
- Shuffle command
-
Added support for hosting Jager on Heroku.
-
Added support for enqueuing music through an internal Lavaplayer.
-
Created an API to access runtime metrics and statistics about Jager using Spark.
-
Created a middleware system to invoke the correct command and act as a filter for command execution.
-
Created 3 utilities.
-
Created a background task management system.
-
Added A task to remove the bot from the voice channel if there was no user/audio activity anyway.
-
Added A task to change the bot's status every minute.
-
Added Prometheus to take runtime metrics to store and to be made available through the API.
-
Swatted bugs
Version v1.0-stable
v1.0-stable
In this release, the bot now runs on a VPS (virtual private server) also lots of new commands have been added.
Additions
Music
The bot now has stable voice support by using a mixture of a YouTube downloader and a cache to store the videos. Opus and Ffmpeg are used to play the music.
-
To get the bot playing music there are two options. You can either type
!join <voice channel name>. This is case sensitive. Or just join a channel and move onto the next step. -
Next type
!play <song name>. We use YouTube to search for videos. Not SoundCloud like some other bots do. It may take some time for the command to process depending on the size of the video. Due to Discord.py rewrite, the video needs to be downloaded into a cache. While the bot is processing it will appear as typing. It may take up to 30 seconds. -
To stop the bot type
!stop
There is no queue system implemented just yet. But there will be soon.
All voice commands:
!play <song name>!join <voice channel name>!stop!nonce- find out...
REPL
The bot now has a Read Eval Print Loop command. Just type !repl in a channel and a session will start. The bot will now compile and run any Python blocks that are sent into that channel.
The session can be closed with either quit or exit().
Compiler
There is now a compiler command that will send off your code to be compiled. The result will be printed or a traceback if something went wrong.
The supported languages are as follows:
- Python 2
- C++
- C
- Haskell
The code will need to be inside the languages corresponding code block.
Eg:
!compiler
// A basic C++ program which will print a message forever
#include <iostream>
using namespace std;
int main() {
int loop = 0;
while(loop != 1) {
cout << "Leave" << endl;
}
}In this case, the output would be too large (you'd think) to send on Discord. So a link to a gist is generated.
CPP Search
Type !cpp <search term> To get back some links to the references.
Other additions
!kenm- Get your daily Ken M fix.!twitch- Search for twitch streamers (will soon be changed to!twitchstreamerto accommodate for stream alerts).!streams- I link to my Twitch....................................!source <command name>- See the source code for a command.
Deletions
As these are small and not important they're just gonna be in a list
- Removed the annoying
"Something went wrong"error message. The bot will only report an error when something actually goes wrong instead of incorrect arguments. - Removed Redis. Using JSON now. Perhaps forever.
Soon...
Twitch stream alerts
Set alerts for your favourite streamers on Twitch. Ping a channel when they start streaming. Manage and sort your alerts removing them when needed.
Documentation
Might add much more developer documentation for the bot especially for people coming over from the async branch of Discord.py. Also general docs.
Moderation.
Add kick commands and a raid mode for when things get out of hand. Allow setting the strictness level etc.
Maybe?
Cleverbot
I do not want to pay to use the CleverBot API. That's why I wanna build it myself.
I have a dataset on my computer that I might use to train my bot. Using a lib like TensorFlow. It would be quite an undertaking as I would have to set up a separate process and have the bot and the AI connected through a websocket or to build an API with something like Express. This would likely not happen as it would have to process around 7,000,000 entries and move them into an SQL database. The bot uses enough of the CPU anyway.
This is probably the largest release I've ever written. But, that's what happens when you lose connection to the internet.
Version v0.2-alpha
v.02-alpha
In this release the search plugin has been added. This plugin will search the internet according to what the command is and what the user asked for.
For example:
!youtube Jacksfilms
This would return a video by Jacksfilms embedded and ready to watch through Discord.
Additions
User commands
youtubeSearch YouTube for your favourite videos,urbanSearch The Urban Dictionary for dank terms.
Utilities
PaginatorThis isn't a command. It is a utility module that allows embeds to become paginated.
Known bugs
The famous something went wrong is still lurking. Should be fixed for the next release.
Coming soon
- Music
- Levels
- If you have any ideas either shout at me here or on discord Euab#3685
Version v0.1-alpha
v0.1-alpha
There are not many commands right now. This is because I am trying to figure out how to port commands like music over from async discord.py to rewrite discord.py. So far I have just added some developer utilities, a custom prefix for servers and an info command so people can see how the bot is doing.
Additions
User commands
botstatusinfoThese will show information about the bot including sharding info, processor info and how many guilds the bot is inprefix <prefix>This command will let you change your server's prefix. It is stored safely away...
Dev commands
- 'Update' Lets me shutdown the bot. Pull from GitHub and then restart.
- 'eval' This lets me execute python code for the compiler to process.
Don't try these. You'll just get a message saying that something went wrong or something of a kind...
Known bugs
- There are some small bugs. When using the
statuscommand you will see none under the shard number for your guild. - Because of the location of the exception when invoking a command. You will see the infamous
Something went wrongwhenever anything goes wrong. Soon this will be more specific.
Coming soon
- Music
- Levels
- I might integrate some APIs. If you have any ideas either shout at me here or on discord
Euab#3685