Asphalt

@asphalt

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

9,050 words

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

v3.8 Changelog

New Features

  • We are now on a brand new server, which should have much more consistent latency (around 20-28ms), be faster and have a much faster communication speed between Asphalt and our webhook (<1ms)
  • Introducing Asphalt Canary! More information below this post
  • If invite deletion is enabled, Asphalt will detect when a message has been edited to an invite link
  • inrole can now take a role ID as a parameter
  • Added a!work to our economy commands - we will be gradually adding more outcomes in the future (if you have any ideas, please let us know!)
  • Added a!linkcanary and a!unlinkcanary

Changes

  • invitedeletion, invitewhitelist and modlog have been moved to the "Moderation" category
  • Huge code cleanup
  • Updated dependencies
  • Asphalt now leaves after 10 seconds of being alone in a voice channel, instead of instantly.
  • Translations: both the speed and accuracy of translations has been greatly improved
  • We've given a!stats a slight make-over, let us know what you think!
  • Improved grammar on invite whitelist removal/addition
  • General optimisations

Bug Fixes

  • Fixed an issue in which Asphalt would delete messages that are not invites if invite deletion is enabled
  • Fixed an issue in which leaderboards would show an incorrect value
  • Fixed an issue which would rarely occur when fetching twitter feeds
  • Fixed an issue where Asphalt would throw an exception if it did not have permission to send a message on server join
  • Fixed an issue in which invite deleted embeds would sometimes show the incorrect user

Asphalt Canary
We have introduced a new bot called Asphalt Canary! It is for donators only and it allows you to test new Asphalt features before they are released to the general public, submit feedback about new features before they released to everyone to help shape the way Asphalt is made, 16-20ms latency and more!

If you would like to use Asphalt Canary and are a donator, type a!linkcanary and you will be able to use the commands within Asphalt Canary. Note: the default prefix for Asphalt Canary is a-

v3.7.4 Changelog

New Features

  • Added a!deduplicate, or a!dd which will allow you to easily remove duplicate songs from your queue

Changes

  • All economy related commands should experience a significant increase in performance (we will be monitoring)
  • All numbers are now nicely formatted on a!twitchstats
  • You can now do a!delete x as an alias of a!bulkdel x
  • Changed how the error messages look (they now provide a bit more explanation about the error)

Bug Fixes

  • Fix an issue with volume command sometimes failing to work
  • Fix an incorrect flag name showing up on Chinese -> English translations
  • Fixed a spelling mistake on the translation enable prompt

v3.7.3 Changelog

Small update; fixes and adds a few new things

New Features

  • a!play now shows an ETA when your song will be played
  • Added MixCloud integration for songs

Changes

  • Optimised a!spotify
  • Updated audio dependencies
  • Refined some things for our 500/600k user celebration on the 26th of October 2019

Bug Fixes

  • Fixed an issue which would cause an exception when Asphalt tried to DM a user

v3.7.2 Changelog

New Features
- Added loop as an alias of a!repeat
- You can now delete a playlist by doing a!deleteplaylist [code]
- You can now disable/enable commands in your server by doing a!disablecommand [command] and a!enablecommand [command]
- Added join logs which can be enabled by a!joinlogs on [channel] and disabled by a!joinlogs off
- Added leave logs which can be enabled by a!leavelogs on [channel] and disabled by a!leavelogs off

Changes
- We are now using JDA v4! So Asphalt will be able to support more features (such as donator perks for nitro boosting in our server here)
- Removed swap from a!specs
- Updated all dependencies
- Increased input timeout on a!changecode, a!search and more.
- Improved the performance of a!feedback and message translations
- Optimised music recommendations to be faster

Bug Fixes
- Fixed a graphical issue when mass-redeeming donator codes
- Fixed a graphical issue when mass-selling only 1 item
- Fixed a bug where you could buy and then sell items for increasing profit
- When attempting to use a command that can take in either a user ID, username or tag, Asphalt will now only look in your server for that user
- Fixed a graphical issue on an embed saying you cannot queue a song
- Fixed an issue which would cause Asphalt to not release databases back into the pool
- Fixed an issue where Asphalt would throw an error on some moderation commands if it did not have permission
- Fix an issue where audio players would not properly clean up at the end of queues

v3.7.1 Changelog

New Features

  • Using a!steal, you can now steal up to 70% of a user's total balance
  • Added server creation date/time to a!serverinfo
  • Added a!donator to show information about donator perks
  • Added all of the bot lists that Asphalt is on and can issue donator perks from on the a!vote command
  • Added security to crates. More information below
  • Implemented code for 500,000 user celebration
  • You can now cancel reminders using a!cancelreminder [id]
  • You can now view reminders using a!viewreminders

Changes

  • We now add checks when submitting a support request (is it a valid command? is it a discord invite link?)
  • a!spotify now caches YouTube equivalent songs to speed up the loading process
  • Fixed a couple of bugs relating to YouTube livestream playback
  • a!solve should now be faster at solving more complex equations
  • a!quote is now no longer a meme command; you can use a message ID and it will send information about that message
  • Better formatting on cooldown messages. It used to be "0 hours, 0 minutes and 5 seconds", now it is "5 seconds"

Bug Fixes

  • Asphalt will no longer attempt to mass-redeem items if you have none

Security
We have introduced Security, which comes in all crates for various lengths; this will prevent anyone from stealing from you for a specified duration.

v3.7 Changelog

New Features

  • You can now use a!help with command aliases
  • You can now use a!viewdata to view information that Asphalt uses related to you
  • You can now use a!purgedata to purge all related data that Asphalt uses
  • Added a!inrole [role name] to view all users with a certain role
  • a!serverinfo now shows roles in the server

Changes

  • The time on a!remindme is now human-readable
  • Time strings such as 30 minute(s) 1 second(s) have been changed to 30 minutes 1 second
  • Made aliases on a!help look better (now comma separated)
  • Updated various dependencies

Bug Fixes

  • You can no longer specify negative times on a!remindme
  • a!twitchstats now works (using Twitch API instead of Twitch4J)
  • Fixed a deadlock which would cause 10+ second delays at random intervals (usually when running a backup)
  • Fixed an issue where removal of donator perks would not work properly if you changed your username
  • Fixed an issue where a!discrims would be instantly deleted if the bot does not have the permission to delete the reactions
  • Fixed an issue where track playlist codes would not change at times

v3.6.4 Changelog

New Features

  • You can now sell multiple items at once by doing a!sell id one, id two, id three
  • You can now redeem all donator items and open all crates by doing a!redeem all
  • Added %COUNTER% to custom commands, which will keep track of the amount of times that command has been run. For exmaple: a!addcom something %COUNTER% people have used this command

Changes

  • Crates will no longer be dropped on commands such as a!buy and a!sell
  • When you redeem a key, it will now say the full time (1 Month instead of 1mo)
  • Common crate drop rate has been decreased to 5.5%
  • Updated some item names to make them look better

Bug Fixes

  • [Hotfix] Fixed the feedback command which would error in certain cases
  • Fixed an issue with a!lyrics output being instantly deleted
  • Moved to hasteb.in as it is more reliable for certain aspects of the bot's functionality

v3.6.3 Changelog

New Features

  • We now have a new helpdesk for appealing blocks, this will be shown when you are blocked in the footer
  • Donator Only - you can now use a!createplaylist and enter either a custom playlist code or a random one
  • Donator Only - you can now use a!changecode and enter your old playlist ID to modify your playlist's code

Changes

  • Moved a!feedback to use webhooks instead of directly posting to our feedback channel
  • a!userinfo now detects when you are streaming
  • Rewrote the entire websocket backend for Asphalt, so now the API should be 10x faster.

Bug Fixes

  • Fixed reasons within the audit log when banning someone (there would be no reason)
  • Fixed an error with a!steamid where it would error if no input was entered
  • Fixed an issue where music would attempt to be played in a channel that Asphalt was not in
  • Asphalt now no longer attempts to play music when you click "Disconnect"

v3.6.2 Changelog

New Features
There were no new features released in this version of Asphalt.

Changes

  • Entirely rewrote the Spotify system to be 5x faster
  • Updated dependencies
  • a!spotify now displays the name of your playlist when it has loaded

Bug Fixes

  • Fixed a bug where loading a playlist with a track that could not be found would stop the loading of the playlist (using a!spotify)
  • Fixed a big where loading a large playlist with songs that have been blocked by copyright would send a message per song (this could get quite spammy)
  • Fixed an issue causing some titles to display incorrectly

v3.6.1 Changelog

After a short break, development of Asphalt has resumed.

New Features

  • You can now add %GLOBAL_USERS% to your custom commands to get the user count of Asphalt

Changes

  • Moderation commands such as a!ban, a!kick and a!softban now no longer require a case number as requested by a poll that we ran. You can now do a!ban @user [reason]

  • We have now migrated away from Azure Storage and to Oracle Cloud Storage, as it is cheaper and faster/closer to the main server than Azure.

Bug Fixes

  • Fixed a small issue with our backend websocket server

v3.6 Changelog

New Features

  • Added a!twitterfeed [enable/disable] [twitter username] to allow you to be notified of when a user posts a tweet
    • Donators get twitter feeds checked every 2 minutes whilst non-donators get their feeds checked every 10 minutes
  • Added a!wikihow which gets a random WikiHow article
  • Added a!randomnsfw which gets a random NSFW image from Reddit
  • Added a!marketplace which gets a list of buyable/sellable items and their prices
  • Added a!restart, which allows you to restart a song from the beginning

Changes

  • a!meme has been moved to a!randommeme
  • a!meme now gets a random meme from Reddit
  • Increased the selling price of items from 50% of the buying price to 75%
  • On a!daily, donators now get P$40 and a Rare Crate
  • On a!beg, donators now get P$20

Bug Fixes

  • Fixed a bug when displaying queue times on queues longer than 24 hours (see here)
  • Fixed an intermittent bug that would occur when playing audio

v3.5.2 Changelog

New Features

  • We have re-introduced our memes system. You can either attach a meme with the comment a!uploadmeme or add a URL after the command.
  • To view memes uploaded in your server, simply use a!meme and a random one will be fetched from your server

Changes

  • We have moved away from a!disable and a!enable. The new commands are: a!invitedeletion on/off, a!autorole on/off [role name], a!translations on/off

Bug Fixes

  • You can no longer favourite the same song more than once
  • You can no longer rob people with P$0.00
  • Fixed an error on a!profilepicture when a user could not be found
  • Fixed an issue on a!lyrics if no lyrics could be found for a song
  • Fixed an issue that would happen with a!favourites add if no song was playing (command timing issue)

v3.5.1 Changelog

New Features
There were no new commands introduced in this update

Changes

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

Changes

  • 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



Heists
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

Changes

  • 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

Changes

  • 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

Changes

  • 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

Changes

  • 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

Changes

  • 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:
a!inv/a!viewinventory

  • 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

Changes

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