All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- The dice roll minigame has gained another dice once the quest roll has passed 666
- The rewards for winning are as follows for the 4 dice variant (excluding the price of 5 Boondollars):
- 1 - 13: 0 Boondollars
- 14 - 18: 10 Boondollars
- 19 - 21: 15 Boondollars
- 22: 25 Boondollars
- 23: 35 Boondollars
- 24: 75 Boondollars
- The rewards for winning are as follows for the 4 dice variant (excluding the price of 5 Boondollars):
- Updated project dependencies
- Fixed the song status going out of sync with the actual played song
- Moved the hydration reminders to a proper scheduler to ensure it runs every 15 minutes and only once
- Added a release name to Sentry error tracking
- Fixed empty messages being sent when trying to remove the buttons
1.3.5 - 2024-07-05
- Changed the required intents for the bot
- Removed the intent for server members
- Hopefully fixed the "Missing interaction" error popping up when playing the slot machine
1.3.4 - 2024-06-22
- Fixed cooldown not being set if you don't win the slot machine
- This changes the canon back from "winning breaks the slot machine" to "playing breaks the slot machine"
1.3.3 - 2024-06-03
- Changed hour counting to second counting
- Changed activity counting to count 15 minutes if users haven't sent a message within 15 minutes
1.3.2 - 2024-05-23
- Added some rudimentary Sentry upload for command panics
- Show all favourites if the search query is empty
1.3.1 - 2024-05-23
- Moved breadcrumbing to the error handler to only capture the most recent command
- Fixed song requests not working due to missing columns
1.3.0 - 2024-05-03
- Implemented Sentry into Byers to catch errors
- Added
/song favouriteto favourite the currently playing song - Added
/song unfavouriteto unfavourite the specified song - Added
/song request_favouriteto search and request one of your favourited songs
- Migrated from sqlx to SeaORM
- Fixed the slot machine showing "you lost" even though there was a payout
- Fixed Byers not actually giving people its lunch money when it loses
- Fixed the slot machine incorrectly ignoring proper payout of Bar symbols
1.2.1 - 2024-05-03
- Fixed the slot machine not working
- Fixed the slot machine description having the wrong indents
1.2.0 - 2024-05-03
- Added a 15 minute hydration reminder
- Added
/minigames slots_infowhich tells you information about the slot machine like the payout table. - Added
/config manage_rolefor automatically assigning roles based on interaction time - Added
/config delete_role_configfor removing rules for automatically assigning roles.- This does NOT delete the role!
- Added
/admin song_infofor getting information about a song. - Added
/admin generate_playlistto regenerate the playlist for Liquidsoap.- Liquidsoap will automatically reload the playlist once it's changed
- Added changelog comparison links to the changelog
- Added functionality for frohike to drop indices on moved and deleted directories
- Added bitrate to song metadata
- Added tags to song metadata
- Added pre and post messages to
/pvp - Added back the hydration reminder
- Refactored the codebase for Byers
- Reworked slots minigame to use "Easy Vegas" slot machine as base
- Made roll dice minigame use emojis
- Changed
/boondollarsback to a message - Changed "boonbucks" to "Boondollars"
- Changed "Can Town" to "Can City" and added more names based on the can count
- Changed
/boondollarsto show hours in increments of 5 minutes - Changed
/pvpto only draw as much money as the challenger has when fighting Byers (so you can't lose more than you have) /pvpnow pings the challenged person- Renamed
/minigames roll_diceto/minigames rolldice - Renamed
/payto/give - Changed Liquidsoap's playlist to use a dedicated playlist file
- Previously this could cause PNG files to be "played" as videos
- Updated sqlx to 0.7.1
- Updated poise to 0.6
- Fixed frohike not being able to drop indices on moved directories
- Fixed
/addcannot returning any message when it's on cooldown - Fixed multiple issues with frohike's automatic indexing
- Only audio files will be indexed now
- Switched from inotify to polling to improve index accuracy
1.1.9 - 2023-10-06
- Fixed bug where you could generate money by paying yourself.
1.1.8 - 2023-09-23
- Allow Byers to be challenged to PvP
- Fixed slots not being winnable with 3 oranges or lemons
- Fixed critical bug where rolling dices would not award money because it was never written to the database
1.1.7 - 2023-09-22
- Disabled the strife minigame for now due to serenity not being able to properly process interactions.
1.1.6 - 2023-09-22
- Allow !addcan with a comment
- Fixed being able to pay negative boondollars
1.1.5 - 2023-09-22
- Fixed the quest roll not increasing properly
- Fixed strife cooldown a little bit more
1.1.4 - 2023-09-21
- Changed encoding from ABR to CBR
- Fixed slots jackpot being displayed as 0
- Fixed formatting in
/boondollarscommand
1.1.3 - 2023-09-21
- Changed server's roll to quest roll
- Fixed the strife cooldown triggering too late
- Fixed the payout of the dice minigame
1.1.2 - 2023-09-21
- Made commands count towards activity
1.1.1 - 2023-09-21
- Added
/song search- Allows you to search songs and additionally request one of them
- Byers now sends a message when the song request queue is empty
- Switched to cargo-chef for caching dependencies and speed up future builds
- Fix inlining problems with
/boondollars
1.1.0 - 2023-09-20
- Add
/song queueas a command - This will show the current song request queue
- Changed message for boondollars to be an embed instead
- Fixed song requests still being ephemeral
- Fixed roll dice minigame being able to produce unobtainable server rolls
- Fixed cooldowns triggering even if the songs weren't successful
- Fixed PvP cooldown only triggering for the challenger
- Fixed strife always producing a lich queen to fight
1.0.8 - 2023-09-19
- Added a cooldown message for
/add can - Added 2 new commands:
/song historyand/song playing.
- Changed song IDs over to use the file hash instead of the file path
- Display the currently playing song as "album - title" instead of "artist - title"
- Fixed a missing comment in the
/listencommand. - Fixed the skip command by setting the ID of the icecast source to "lumiradio".
1.0.7 - 2023-09-19
- Added a prefix command variant for !addcan and !addbear
- These are currently disabled while the bot is still in beta.
- Added a
/listencommand which displays the link to the radio. - Added an automatic rollover of the dice roll from 666 to 111.
- Changed the cooldown message to also use a relative string.
- Made
/strifesend a new message and only edit the old message to remove the buttons.
- Fixed next rank hours not being displayed correctly.
- Fixed not being able to add a can without a user account.
- Fixed the starting dice roll being 1 instead of 111.
- Add manual workflow trigger for GitHub Actions.
- Made most embeds non-ephemeral.
- Fixed decimal formatting in
/boondollars. - Fixed point accumulation not working because of unparseable dates.
- Check if user exists before trying to request a song.
- Fix missing add commands.
1.0.4 - 2023-09-19
- Hot fix: empty buffer is not emptied after checking if the message has ended.
1.0.3 - 2023-09-19
- Fixed a bug where the bot would try to fill the buffer infinitely when waiting for a response from liquidsoap.
1.0.2 - 2023-09-19
- Fixed a bug where Langley wouldn't receive any requests because it only listened to GET requests instead of POST requests.
- Fixed missing commands (e.g.
/config,/user)
1.0.1 - 2023-09-19
- Fixed a bug where the bot would try to get the last played song from the database and fail because it was empty.
1.0.0 - 2023-09-19
- Added slash commands
/song request [song]- Requests a song for the radio- To get an idea on what songs are available, type a song and see the completions.
- This has a default cooldown of 1 1/2 hours.
- Additionally, songs have individual cooldowns based on their length.
/youtube link- Links your YouTube channel with your Discord account.- This will try and migrate the bot data for your account to the new bot.
- If it says that it couldn't find any data, please contact me.
/version- (by default, only for people with theMANAGE_GUILDpermission) Shows the currently running bot version and the changelog./boondollars- Shows your boondollars and watched/chatted hours and the position in the leaderboards./pay- Pays a user the specified amount of boondollars./minigames slots- Uses the slot machine./minigames rolldice- Plays the dice game./minigames strife- Plays the strife minigame (basically PvE where you can gather money)./minigames pvp- Fight another user./add can- Adds a can to Can Town/add bear- Adds a bear...? to Can Town...?/add john- no./admin control_cmd [cmd]- (admin only) Sends a command to the music server./admin volume [0-100]- (admin only) Sets the volume of the radio./admin skip [type]- (admin only) Skips the next song on either the radio, the song request queue or the admin queue./admin queue [song]- (admin only) Requests a song to be played next.- This has priority over regular song requests.
/config manage_channel [channel] [allow point accumulation] [allow time accumulation]- Configures a channel for point and watch time accumulation./config set_can_count [amount]- (admin only) A highly dangerous command! It creates cans in Can Town out of thin air, as if they have been transported from an alternative universe!/user get [property]- (admin only) Gets a property of a user./user set [property] [value]- (admin only) Sets a property of a user.
- Added points and hours system
- This should roughly follow the same rules as the old bot.
- Also added a grist system
- Currently, you can get grist by doing
/strife, although there is no way to use grist yet. - Perhaps there will be a way to craft weapons in the future that sway the fight in your favor.
- Currently, you can get grist by doing
- Added context menus (right click)
- For users
- Give this user money - Does the same as
/pay. - PvP - Does the same as
/pvp.
- Give this user money - Does the same as
- For users
- Implemented communication with the music server (Liquidsoap) via Unix socket and telnet.
- Implemented an OAuth2 flow for Discord linking.
- You will have to link your YouTube channel to your Discord account first for this to work!
0.1.0 - 2023-05-23
- initial release