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.
- 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 favourite
to favourite the currently playing song - Added
/song unfavourite
to unfavourite the specified song - Added
/song request_favourite
to 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_info
which tells you information about the slot machine like the payout table. - Added
/config manage_role
for automatically assigning roles based on interaction time - Added
/config delete_role_config
for removing rules for automatically assigning roles.- This does NOT delete the role!
- Added
/admin song_info
for getting information about a song. - Added
/admin generate_playlist
to 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
/boondollars
back to a message - Changed "boonbucks" to "Boondollars"
- Changed "Can Town" to "Can City" and added more names based on the can count
- Changed
/boondollars
to show hours in increments of 5 minutes - Changed
/pvp
to only draw as much money as the challenger has when fighting Byers (so you can't lose more than you have) /pvp
now pings the challenged person- Renamed
/minigames roll_dice
to/minigames rolldice
- Renamed
/pay
to/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
/addcan
not 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
/boondollars
command
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 queue
as 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 history
and/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
/listen
command. - 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
/listen
command 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
/strife
send 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_GUILD
permission) 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