Asphalt

@asphalt

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

8,666 words

https://asphaltbot.com @asphaltbot
You'll only receive email when Asphalt publishes a new post

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

Changes

  • 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"

Changes

  • 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

Changes

  • 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

Changes

  • 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

Changes

  • 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

v3.0.3 Changelog

New Features

  • Added some QOL commands for support

Changes

  • General optimisations
  • Database backups now run exactly one hour apart

Bug Fixes

  • Fix an issue where a!twitchstats would say twitch channel not found

v3.0.2 Changelog

New Features

  • a!setprefix now replaces a!configure prefix
  • If you still have donator perks when your PayPal subscription is processed, your donator perks will be extended by the remaining time you have left

Changes

  • a!configure has been removed.

Bug Fixes

  • Fix an issue where the twitch streaming statuses would not be properly set
  • The twitch service that we depend upon for a!twitchstats has been entirely rewritten to be faster

v3.0.1 Changelog

New Features

  • Asphalt will now revoke donator perks on the exact expiration date, instead of checking once every 30 seconds
  • Server owners can now use a!bankadmin purge @user to remove all transaction records for a specific user in your server

Changes

  • Audio sources refactor (should now be running faster)

Bug Fixes

  • a!forceskip should now be working properly

v3 Changelog

After near enough 2 months of development, v3 is finally here! To celebrate a major release; we are giving everyone 1 day of free donator perks! They will be issued once v3 has gone live and can take up to an hour to be fully issued.

New Features

  • Asphalt now promotes our sponsored streamer in the "playing" status when they go live.
  • a!avatar now has options for gif, webp, png and jpg formats
  • Added lots of meme commands! See the bottom of this page for a list of commands

Changes

  • The values for database calls, user total and guild total on a!stats are now separated using commas
  • a!playerstats is now no longer developer only. You can now see the server you're receiving audio from and it's ping to your voice server
  • Optimised some commands (more below)
  • RocketLeague is no longer a category; all commands under that category have been moved to "Games"
  • a!help is now limited to 20 commands per page

Bug Fixes

  • Fix an issue where a!ping would sometimes silently throw an exception when attempting to log command execution time

About the command optimisations
We have written an entirely brand new database "backlog" system, which queues up non-important database queries, e.g. bank account creation on server join, creation of transaction records etc. Note that prefix changes, invite whitelist adds/removals bypass this system and those changes will be made instantly.

Meme commands

  • abandon text
  • aborted image URL/@user
  • affect image URL/@user
  • armor/armour text
  • balloon a, b (2 items separated by a comma then a space)
  • bed image URL/@user image URL/@user
  • bongocat image URL/@user
  • boo text
  • brain 4, items of, text like, this
  • brazzers image URL/@user
  • byemum/byemom image/@user name text
  • changemymind text
  • citation a, b, c (three params separated by a comma)
  • cry text
  • dab image URL/@user
  • dank image URL/@user
  • deepfry image URL/@user
  • delete image URL/@user
  • disability image URL/@user
  • door image URL/@user
  • egg image URL/@user
  • excuseme text
  • facts text
  • failure image URL/@user
  • fakenews image URL/@user
  • fedora image URL/@user
  • floor text
  • humansgood text
  • invert image URL/@user
  • jail image URL/@user
  • knowyourlocation a, b (two params separated by a comma)
  • laid image URL/@user
  • madethis image URL/@user image URL/@user
  • magik image URL/@user
  • master a, b, c (three params separated by a comma)
  • note text
  • ohno text
  • plan a, b, c (three params separated by a comma)
  • presentation text
  • quote img/@user username text
  • radial img/@user
  • rip img/@user
  • roblox img/@user
  • salty img/@user
  • satan img/@user
  • screams img/@user img/@user
  • savehumanity text
  • sickban img/@user
  • slap img/@user img/@user
  • slapsroof text
  • spank img/@user img/@user
  • stroke text
  • surprised a, b (two params separated by a comma)
  • sword name one, two (two params separated by a comma)
  • thesearch text
  • trash img/@user
  • trigger img/@user
  • tweet img/@user username text
  • ugly img/@user
  • unpopular img/@user text
  • vr text
  • walking text
  • wanted img/@user
  • warp img/@user
  • whodidthis img/@user

v2.8 Changelog

New Features

  • You can now private message Asphalt to get support from a member of our support team
  • Added a!playnow url/term, which allows you to skip the current song and play the requested song, bypassing the queue.
  • Server admins/owners can now block people from using Asphalt in their own server. To do this, simply run a!serverblock @user (duration, e.g. 1h) (reason). You can also unblock people by using a!serverunblock @user

Bug Fixes

  • We no longer spam YouTube with requests for playlists, this should mean less errors when you request large playlists.
  • The double time (30/01/2019 12:12:12 12:12:12) issue on a!opencase and a!listcase has now been fixed
  • Fixed an issue where songs that Asphalt would use to recommend music on would not reset from one queue to the next

Changes

  • The message that Asphalt sends when it joins a new guild has been updated to reflect the new private message support system
  • Cleaned up the code
  • Updated some dependencies
  • Instead of once every 3 hours, our database is now backed up automatically every hour.

v2.7.4 Changelog

New Features
This update has not introduced any new features

Bug Fixes

  • Fix an issue which would cause a!bulkdel to error with "100" as the number of messages to delete
  • Fixed a couple of thread timings

Changes

  • The addition/removal of donator roles for people who vote is now automated.

v2.7.3 Changelog

New Features
This update has not added any new features

Bug Fixes

  • Fixed some commands which checked for permissions that the user did not need (e.g. a!vol)

Changes

  • Command optimisations
  • Rewrote a major portion of boot portion of Asphalt, so it should be faster now
  • a!ping now displays a more accurate parse time, the old version was:
    
    Stopwatch sw = Stopwatch.createStarted();
    EmbedBuilder builder = Constants.EMBED_BUILDER;
    sw.stop();
    String processing = sw.toString();
    
    instead, it is now:
    
    String processing = context.getExecutionTime(false);
    
    with the stopwatch now being initialised as soon as the command handler is triggered

v2.7.2 Changelog

New Features

  • Added a!lyrics which by default will get the current song's lyrics, or you can specify your own

Bug Fixes

  • Fix an issue which would randomly cause some threads to halt execution

Changes

  • Using the new Golang API once again, so aspects such as playlist loading and saving should now be faster
  • Screenshots are now working once again

v2.7.1 Changelog

New Features
This new update has not introduced any new features.

Bug Fixes

  • Fixed a bug where "repeat" on a!now would not reflect the proper repeat mode

Changes

  • Asphalt's music recommendation system is no longer used via a!enable and a!disable. Instead, use a!autoplay to toggle it for your queue
  • Block duration now no longer displays units whose values are "0", e.g. 0 year(s), 0 month(s), 0 day(s), 2 hour(s), 0 minute(s) and 30 second(s) would become 2 hour(s) and 30 second(s)
  • Code optimisations

v2.7 Changelog

New Features

  • a!twitchstats now displays a staff badge alongside any partner badges for Twitch staff
  • Major API rewrite in Go, the API should now be faster than before
  • Heavily improved our screenshotting system for a!screenshot

Bug Fixes

  • Fixed a bug where on a!viewtier if you were checking someone else's perks, it would say "Your"
  • Rewrote the donor expiration system so that perks are issued with the correct amount of time
  • Fixed an issue where sometimes the wrong format timestamp would be inserted into the database when donor perks have been granted
  • Fix a bug where if there was 1 vote to skip needed, it would say "1 votes needed"
  • Fix a bug where a!daily and a!beg would not display the time remaining
  • Fix a!help

Changes

  • a!serverinfo no longer displays commas and full stops separating emotes
  • Rewrote a couple of core Asphalt systems

v2.6.1 Changelog

v2.6.1 has just been deployed, which brings the following features/changes:

New Features

  • a!calculate is now an alias of a!solve
  • In a!solve, you can now use the Pi symbol (π) and it will be replaced with the value of it

Bug Fixes

  • Fix an issue where Asphalt would not leave your channel after no songs could be recommended
  • Drastically reduced the amount of threads that Asphalt uses (from 70-120 to around 40-60)
  • Fix an issue where donator perks would sometimes show incorrect expiry dates

Changes

  • Updated dependencies

v2.6 Changelog

v2.6 has just been deployed, which brings the following features/changes:

New Features

  • Added a!playlistinfo which allows you to view information about a saved playlist
  • a!ping's colour will now reflect the ping ( < 100 will be green, < 300 will be yellow, 1000+ will be red)
  • The parse time on a!ping is now more accurate and can display values smaller than 1ms
  • Added a music recommendation system, more information at the bottom of this post
  • Added a music favouriting system which, when a song that you like is playing, you can do a!favourites add and it will add that song to your global favourites list, to remove a favourite song, you need to first use a!favourites list to view your favourites and then use a!favourites remove id where id is the number from the list corresponding to the track. Note: favorites is also an alias

Bug Fixes

  • Incorrect parameters were showing on a!currencyconvert's help entry

Changes

  • When you have >= 20 years of donator, "permanent" will no longer be in bold and be unreadable
  • Refactor and major optimisations



About the music recommendation system
If you are playing a game or are running out of songs to play, Asphalt will automatically recommend 20 songs at a time. Skipped songs will not be used for recommendations. Instead, only songs that have been fully played will be used.

Music recommendations can be enabled/disabled by using both a!enable recommendations and a!disable recommendations

v2.5.1 Changelog

v2.5.1 has just been deployed, which brings the following:

Bug Fixes

  • Fixed a bug where Asphalt would randomly become unresponsive.

v2.5 Changelog

v2.5 has been deployed, which brings the following things:

New Features

  • Added a!wikipedia, which allows you to search a word/term on Wikipedia
  • Added viewcases as an alias of a!listcases
  • a!listcases now shows moderation action taken against a user on a closed case

Bug Fixes

  • If an error occurred when banning someone, the error would contain "kick" information
  • If someone who was not the song requester and attempted to enable shuffle, it would display an error message about force skipping songs
  • Fix permissions on commands

Changes

  • a!serverinfo will now display your guild's ID
  • a!twitchstats has been reworked to be faster and look better

    • There is now a status indicator next to the streamer's name
    • For partnered streamers: there will be an icon next to their name to indicate that
    • A twitch stream's uptime will now be displayed in the footer
  • a!urban has been moved to the NSFW command category

  • All donor-only errors now have a link to vote for free donator

  • a!viewtier will now display your perk expiry date and time if you are a donator

  • When you visit the command page, Asphalt will now no longer send developer commands in the response

  • Huge refactor of database code

v2.4 Changelog

v2.4 has just been deployed, with which brings the following features:

New Features

  • When you vote for Asphalt, using a!vote, you will be rewarded with 12 free hours of donator perks on weekdays and 1 free day of donator perks on weekends!
  • a!currencyconvert has been added, which allows you to convert any amount from one currency to another, for example: a!currencyconvert 40 GBP USD
  • You can now snipe deleted messages by using a!snipe, note that this feature is experimental and has been tested to the best of our ability

Changes

  • a!urban can now only be used in NSFW channels
  • When everyone leaves a voice channel in which Asphalt is playing music, the music will be stopped

Bug Fixes

  • a!bankadmin will now no longer error when you specify an invalid amount