Asphalt

@asphalt

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

7,637 words

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

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

v2.3.2 Changelog

Note: this will be the last update before v2.4 is released.

v2.3.2 of Asphalt has just been deployed, which brings the following features:

New Features

  • Added a!v as an alias for a!volume
  • a!stats now shows all players
  • a!bassboost now has harder-hitting bass

Changes

  • Major refactor
  • Updated dependencies

Bug Fixes

  • The colour of the load playlist (a!loadplaylist) embed is now in line with the other informational embeds
  • Fix issue where playing a single song from a URL would show the "loading from playlist" embed

v2.3.1 Changelog

v2.3.1 of Asphalt has just been deployed, which brings the following new features:

New Features

  • When you load a playlist from Spotify using a!spotify or using a!play, there will now be a message showing that it is fetching the songs instead of fetching in the background with no output
  • Moved database backup storage from Microsoft Azure to Google Cloud
  • Added a database calls per second stat to a!stats

Bug Fixes

  • Shuffle no longer displays "Player Repeat"
  • General command optimisations

v2.3 Changelog

v2.3 of Asphalt has just been deployed, which brings the following new features:

New Features

  • Added a command to solve equations, e.g. sin(1244) + sqrt(144), this can be used by typing a!solve followed by the equation
  • Added a new beg command, which you can use by typing a!beg. Note: this can only be used once every 12 hours.
  • Added an invite message that is sent to your server's default channel when Asphalt is added, if one can't be found, the guild owner will be messaged with the invite message
  • Updated various dependencies, to ensure best performance
  • When you use a!viewtier followed by a user, it will now say the user's name rather than "Your"
  • You can now use a!promote followed by the ID of the song (found by using a!queue) to promote a song to the top of the queue
  • You can now use a!demote followed by the ID of the song (found by using a!queue) to demote a song to the bottom of the queue

Bug Fixes

  • Asphalt will now no longer join your voice channel when you load a playlist before the playlist has been validated
  • Fixed CPU count on a!specs
  • Corrected grammar on a!loadplaylist when loading a playlist with only 1 song

v2.2.1 Changelog

v2.2.1 of Asphalt has just been deployed, which brings the following new features:

  • Fixed an issue where auto role would fetch the wrong ID
  • Fixed an issue where a!serverinfo would output an error if your server had no emotes
  • Fixed an issue where you could run a!stop without anything playing
  • Fixed an issue where a!weather would display incorrect information on both humidity and cloud cover
  • Added custom command support! To create a custom command, simply type a!addcom followed by the name (without prefix) and then the output. Valid placeholders are: %MENTION%, which mentions the executing user and %USERS%, which displays the user count of the server
  • All custom commands will be checked on boot for conflicts with new/old Asphalt commands and you will be informed if one were to occur.

v2.2 Changelog

v2.2 of Asphalt has just been deployed, which brings the following new features:

  • a!screenshot should now be fixed
  • New a!bassboost preset: RIP (may cause hearing loss after prolonged listening periods)
  • Added virus scanning, to enable this in your server, simply type a!enable virusscan and any attachment that is sent will be scanned for viruses
  • Added the ability to gamble all of your money on commands by simply replacing the amount with all
  • You can now disable previously opted-in services, do to this simply type a!disable followed by the service name that you wish to disable
  • Added auto role support. In order to enable this, simply type: a!enable aurorole followed by the exact name of the role
  • Added a a!specs command, which allows you to view the specifications of the server that Asphalt is currently running on
  • a!stats now dynamically fetches the RAM total (was previously hardcoded at 24GB)
  • Added the ability to play music from Beam, Twitch, Vimeo, SoundCloud, BandCamp and custom HTTP sources, simply type a!play followed by either a URL or search term