* Add Whisper transcription for BossmanJack Discord voice messages
Detect Discord voice message attachments (audio with IS_VOICE_MESSAGE flag)
from the monitored user and transcribe them via OpenAI Whisper API before
relaying to chat. Reuses the existing OpenAi.ApiKey setting. Feature is
disabled by default via Whisper.Enabled setting.
* Use separate API key setting for Whisper transcription
* Switch to local Whisper and post-then-edit transcription flow
Voice messages are now relayed immediately with a "transcribing..." placeholder,
then transcribed locally via the whisper CLI and the message is edited to append
the result. Removes OpenAI API dependency in favor of a local whisper binary.
Settings: Whisper.BinaryPath, Whisper.Model, Whisper.Enabled
---------
Co-authored-by: DFE <dfe@dfe.com>
Co-authored-by: barelyprofessional <150058423+barelyprofessional@users.noreply.github.com>
* Update message deletion in BlackjackCommand
Refactor message deletion logic for non-whisper messages.
* Add message deletion for non-whisper coinflip
* Implement message deletion for non-whispers
Added a check to delete non-whisper messages if they have a MessageUuid.
* Delete non-whisper messages in KenoCommand
* Implement KrashBetCommand for betting functionality
* Lambchop message deletion
Lambchop message deletion
* limbo message deletion
limbo message deletion
* Delete message if not a whisper mines
Delete message if not a whisper mines
* planes message dleete
planes message dleete
* plinko message delete
plinko message delete
* Add message deletion for non-whisper messages roulette
Delete the message if it's not a whisper and has a UUID.
* add message deletion for non-whisper slots
add message deletion for non-whisper slots
* Implement message deletion for WheelCommand
Add message deletion for non-whisper messages.
* Add KasinoKrash service initialization
* Add KasinoKrash service for game management
Implement KasinoKrash service for managing the Krash game, including state management, betting, and payout logic.
* Update message formatting in KasinoMines.cs
add buttons
* Update MinesCommand.cs
allow more mines spam since message will be deleted anyways, spam will be supported via button
* cursor fixes
cursor fixes
* Improve cashout condition validation
Refactor cashout condition to check for success and non-empty value.
* cursor
cursor
* Update BotServices.cs
* Update board size limit from 10 to 9
Update board size limit from 10 to 9
81 characters instead of 100
12 bytes per character per powershell,
down from 1200 bytes to 972
* Implement message deletion for active games
Added logic to delete messages associated with active games.
* Add MinesCommand
Add MinesCommand
parses user input and submits it to mines service
* Add KasinoMines service to bot services
Add KasinoMines service to bot services
* kasinomines service code
kasinomines service code
holds all the game information so that games can be ongoing, you can leave your game and come back to it later,
* Update MinesCommand.cs
* Update KasinoMines.cs
* Update MinesCommand.cs
* add house edge to limbo
add house edge to limbo
* add house edge to keno
add house edge to keno
* Update BotServices.cs
forgot to add kasino mines item
* Update BuiltIn.cs
add kasinomines cleanup delay setting
* Update KenoCommand.cs
add difficulty options to keno, classic low medium high default high
* Update PlanesCommand.cs
adds house edge to planes
if your buffs cause house edge to be greater than 1, you have a HOUSE_EDGE - 1.0 % chance to get a guaranteed win,
if house edge is less than 1, 1-HOUSE EDGE chance for a guaranteed loss
* Update PlanesCommand.cs
missed a counter update
* Update PlinkoCommand.cs
plinko house edge update
changes vacuum strength based on house edge
* Moved hostess from MemeCommands.cs to KasinoUserCommands.cs
* Added missing KasinoCommand attribute. Also added WagerCommand so it'll do the exclusion check before running
Includes
- 5 new tables: Gamblers, Transactions, Wagers, Exclusions, Perks
- Still heavily WIP and not ready to be enabled, no games present and a lot of missing functionality
- For now it's completely disabled until it's ready to be used.