A discord bot with over 757,000 users providing a wide variety of commands, from audio all the way to notifications. More information at https://asphaltbot.com
10,497 words
https://asphaltbot.com @asphaltbot

v3.5.1 Changelog

New Features
There were no new commands introduced in this update


  • Optimised some commands
  • Tweaked some support commands/systems

Bug Fixes

  • Fixed an issue on a!roll which would allow for invalid inputs
  • Fixed an issue on a!favourites list when you have no favourited songs
  • Updated jackson-core and jackson-databind to patch remote code execution vulnerabilities

v3.5 Changelog

New Features

  • Added a!steal, which allows you to attempt to steal a percentage (5% to 50%) from a user. If you get caught, you will have to pay them a percentage
  • Added a!heist, which allows you to attempt a bank heist. More information at the bottom of this post
  • Added a!buy so you can buy items (useful for the heist system) (see here)


  • Item prices have been modified to be fairer based on the crate that they have come from
  • On commands which rely on a user as a parameter, you are now able to use their username, ID or mention them
  • Bots now have their own donator tier (doesn't give the impression that bots can be donators)
  • Usernames on a!discrims are now alphabetised

Bug Fixes

  • Fixed a!gif

With this update, a brand-new heists system is introduced along with a couple of new items which are required for your heist to be executed smoothly.

The following bank locations are currently available:

  • Local
  • City

Each bank has its own "security detail", the higher the security detail; the less chance you have of successfully pulling it off, but the higher the amount received if you do.

If you get caught during a heist, your funds will be reset to 0.00

You can use the a!heist command with either "local" or "city" parameters. If you do not have the required items, you will receive a prompt stating the items that you need.

All heists have a cooldown, which vary from the difficulty/security detail.

This system is new, so if you experience any bugs/issues, please message Asphalt so we can document them and fix them.

v3.4.4 Changelog

New Features

  • You can now use a!sell id/all to sell unwanted items in your inventory
  • You can now use a!help category_name to get a list of commands in that category


  • Adjusted item values to better represent the items
  • Support requests now no longer take 1 minute to close

Bug Fixes

  • Fixed an issue that would cause Asphalt to sometimes become unresponsive and go offline until manually rebooted
  • Multipliers will now no longer be stored as 0.0 on boot if they have expired
  • Fixed an intermittent issue on a!viewinventory if no items have been loaded into the cache.
  • There is a known issue with the a!gif command, we are currently working on a fix. It has been disabled in the mean time.

v3.4.3 Changelog

New Features

  • Added a!pitch to be able to change the pitch of the current playing song
  • Added a!speed to be able to change the speed of the current playing song


  • Major optimisations
  • Updated dependencies

Bug Fixes
There were no bugs fixed in this release.

v3.4.2 Changelog

New Features
No new features were added in this version


  • Items in a!inv are now sorted by ID
  • a!urban now gets the highest rated definition
  • Removed virus scanning
  • Updated kotlin to the latest version

Bug Fixes

  • a!wolframalpha now works properly
  • a!twitchstats now works properly
  • Fixed an issue on a!discrims where an error would occur if no one could be found with a specified discriminator
  • Fixed an issue on a!urban where an error would occur if the definition length was longer than 1024 characters
  • Fixed an intermittent error with our task scheduler that would cause reminders, donator expirations, tasks etc to not run properly
  • Fixed an issue where years would not be displayed on a!viewtier
  • Fixed an issue where Asphalt would attempt to PM a bot on a!opencase (this is not possible)
  • Fixed an issue on a!viewcommands when a server has no custom commands
  • Fixed scheduler conflicts (when you attempt to block someone twice, it will now unschedule the job and reschedule it at the desired time)

v3.4.1 Changelog

New Features

  • Added HTTP Calls to a!stats


  • There were no changes in this version

Bug Fixes

  • a!viewinv no longer deletes the message instantly if Asphalt has no clear reaction permissions
  • Fixed a pretty big issue where if you had more than one of the same item (e.g. 2 of the x5 Multiplier) and you redeemed one; both would be removed
  • Asphalt no longer attempts to delete messages older than 2 weeks
  • Asphalt now checks for valid input (valid integer and less than 100) on a!bulkdelete
  • a!loadplaylist no longer attempts to load a playlist that does not exist
  • a!saveplaylist no longer attempts to save when there are no songs in the queue and there is no song playing

v3.4 Changelog

New Features

  • We now have a crates system! More information explained at the bottom of this post
  • We now have a new inventory system! More information explained at the bottom of this post


  • Bumped the connection pool to up 100 connections

Bug Fixes

  • Fixed a bug where you could not bet all money (which would leave 0.00)

Crates System
We have a new crates system, which has been provided as a way for you to earn money and points (for a new system which we are in the process of implementing).

The commands for this system are as follows:

  • This will show the items that you have in your inventory a!redeem
  • The redeem command now doubles up as the command that you can use to redeem your items, crates, multipliers etc. Note: you can still redeem donator codes using this command, it will just use a different system to the inventory one.

Crates will be dropped at random times when you use commands within Asphalt. The drop rates are as follows:

Common Crate: 7.5%
Rare Crate: 2.5%
Legendary Crate: 1.75%
Mythical Crate: 0.10%

The items that you can get in each crate are as follows:

  • Common:
    1.5x Bet Multiplier
    2x Bet Multiplier
    5x Bet Multiplier

    5 Points
    10 Points
    25 Points

    6 Hour Donator
    12 Hour Donator
    One Day Donator

  • Rare:
    10x Bet Multiplier
    15x Bet Multiplier

    35 Points
    50 Points
    200 Points

    Two Day Donator
    3 1/2 Day Donator
    One Week Donator

  • Legendary
    20x Bet Multiplier
    25x Bet Multiplier

    250 Points
    500 Points
    750 Points

    Two Week Donator
    One Month Donator
    Three Month Donator

  • Mythical
    50x Bet Multiplier
    100x Bet Multiplier

    2000 Points
    3500 Points
    5000 Points

    6 Month Donator
    2 Year Donator
    Permanent Donator

Note: All multipliers, regardless of crate type, can be stacked and are not permanent.

Inventory System
With this crate system, we had to implement an inventory system, which provides a place for all of your unused items, crates and multipliers to be kept.

Nothing can be taken out of your inventory, you keep what you open.

Trading is currently a work in progress, this is being released since people have been asking for it for a while and there has been no update for a while.

As always, if you need any help; please feel free to message Asphalt to open up a ticket for one of our support team.

v3.3.2 Changelog

New Features

  • We now have a brand new error reporting system, in which you will be given an unique error code should an error occur, we will then be able to see what went wrong and what parameters you put in leading up to the error
  • Added "OOF" bass boost (200x the RIP preset)
  • API Rewrite


  • You can now no longer block yourself from Asphalt
  • Server administrators can now use a!bankadmin (note: this will only be for this update as it will be removed in the next update)

Bug Fixes
There were no bugs found in the previous release to be fixed in this release.

v3.3.1 Changelog

New Features

  • There are no new features in this update


  • The AFK system is now global, meaning that if you go AFK in one server, you will be marked as AFK in all servers that Asphalt is in
  • Optimised some commands

Bug Fixes

  • Fix an issue where YouTube playlists would be able to be played using the a!playnow command
  • Checks are now performed on a!serverinfo to ensure that only numerical characters have been entered
  • Asphalt will now reset the shuffle status of your music when music has been stopped
  • Fix an issue where moderation (e.g. ban, kick etc) could be performed on a closed moderation case
  • Fixed an error that happened when you specified no arguments on the a!weather command

v3.3 Changelog

New Features

  • Added a new AFK system. To use this, simply type a!afk reason. When you send a message, your AFK status will be removed. Also, when someone mentions you in a message, a message will be sent telling the user that you are AFK
  • Completely rewrote the playlist system to be better, for the new playlist related features in this update. See the bottom of this post for more information
  • Added a!createplaylist, which creates a new blank playlist for you to add your songs to
  • Added a!addsong playlist-id url/term to add a song to any existing playlist
  • Added a!removesong playlist-id track-id to remove a song from any existing playlist


  • Exceptions are now better reported, including some context about what lead to the error, meaning that we can more accurately re-produce errors and fix them quicker.
  • a!playlistinfo and a!saveplaylist now use the new playlist system

Bug Fixes

  • Fixed an issue where an incorrect amount of RAM in use would be displayed on a!stats (~20MB)
  • Fixed a spelling mistake on the message that you receive when you are support blocked ("suypport")

New Playlist System
Previously, the a!saveplaylist command would save a JSON file to our system and then a!loadplaylist would then read the JSON file, this was not adequate for the features that we had planned. So we have migrated to our database, which means that you can easily edit your playlists. Note: Asphalt's first boot in this new update may take a while as it migrates all of the old playlist files to the database, during which time Asphalt may become unresponsive.

If you attempt to edit your playlist and it says that you do not have permission, please contact support with the playlist ID and we will change the owner ID for you (for users who we cannot find, it defaults to Asphalt's ID to prevent null entries in the database)

v3.2.2 Changelog

New Features

  • You can now attach and receive images directly through discord when using the support system (previously you would have had to use an image URL)
  • Added a!enable persistence, more information below.
  • Added a new update announcement system in our support discord here


  • Updated dependencies
  • Temporarily disabled the ability to disable custom commands (using a!disablecommand )

Bug Fixes
There were no found bugs to be fixed in this release.

Role Persistence
Role Persistence is a new feature in Asphalt, which stores a list of role IDs and the user ID of the person who they were assigned to. Then, if a member leaves and re-joins your server, it will automatically reassign the roles back to them (useful if you have a "Muted" role and do not want people to be able to bypass it).

v3.2.1 Changelog

New Features

  • There is now a 400ms audio buffer which means that your music should now play fine, even if the server encounters a slight network "hiccup"


  • Wrote a donator caching system to reduce the time it takes for commands to be executed
  • In order to accommodate more playlists, all playlist codes generated from this version onwards will consist of 8 numbers
  • Optimised all steam commands
  • Updated dependencies

Bug Fixes

  • Fixed a grammatical mistake on a!whosplaying
  • Fixed an issue where colour would not properly show when you look for information about a twitch channel using a!twitchstats that does not exist
  • a!stats now reports accurate RAM and CPU usage

v3.2 Changelog

New Features

  • Video thumbnails are now displayed on tracks (a!now and a!play)
  • If you are in Asphalt's support server and use a!redeem on any server, you will be given the donator role in our support server automatically
  • Keys now show when they have been previously redeemed (a!redeem)
  • When Asphalt is invited to a new server here, it will redirect to a "Thank You" page


  • Moved back to Trello for feedback (old feedback system wasn't working properly)
  • Changed the message that Asphalt displays when initialising (was: Booting up... now: Starting up...)
  • We're now using error-styled embeds for error messages within the audio module
  • Heavy optimisations
  • Updated dependencies

Bug Fixes

  • Fixed a bug where if a track got stuck, it would send something along the lines of: "Playback of com.sedmelluq.discord.lavaplayer.track.AudioTrackInfo@10361c2 has frozen and is unable to resume!", this should have contained the track title

v3.1.1 Changelog

New Features

  • Added a!remind to set a reminder for you. Example: a!remind 30m Push an update. See below for valid times
  • a!redeem now automatically gives you the donator role if you're in our support server


  • Added message support system option to a!support
  • Added parameters for a!redeem
  • Code optimisations
  • Corrected a spelling mistake on one of the commands

Bug Fixes
There were no bugs (from what we could see) to fix in this release.

Valid Times
y = years
mo = months
d = days
h = hours
m = minutes
s = seconds
Example: 2y12h

You can combine any of these, you don't need to include them all.

v3.1 Changelog

New Features

  • Added a!redeem (code) to redeem donator codes


  • Donor system rewrite (see below)
  • Updated dependencies

Bug Fixes

  • Fixed an issue with some commands not displaying on the help menu
  • Fixed an issue with the version number displaying leading "0"s in the bot's status

About the donor system rewrite
We recently ran a poll asking which system you think would be better for donator perks, and the a "serial key" like system was chosen. Asphalt will now generate a code for you to redeem (using a!redeem) when you donate and vote. Useful for giveaways and to "save up" your donator perks.

Note: You can redeem one code after another and Asphalt will extend your donator perks by the time of each code