292 Commits

Author SHA1 Message Date
barelyprofessional
7981f57a34 - Moved the Kasino shop models to their own file
- Added investments as a derivative of assets
- Added profile state flags which can retain basic states like IsSponsored
- Added profile state data using EF Core's JSON functionality so it should automatically serialize / deserialize the accompanying model for convenience (OnModelCreating code commented out due to the models not yet having a DbSet as I won't bake them in until KasinoShop is ready)
2026-04-26 20:39:49 -05:00
barelyprofessional
e725ca5864 Moved to Lazy<T> and a static class for handling Redis connections with some methods to make it easier to work with JSON. Completely untested. 2026-04-26 20:30:56 -05:00
alogindtractor
9acc1172cc fixed rigging, add a little more delay to the rig message so you can see it better (#110)
fixed rigging, add a little more delay to the rig message so you can see it better
2026-04-23 05:10:14 +02:00
alogindtractor
3ab46bb4c7 Refactor betting logic and game state handling (#109)
scales bets if user doesn't have enough balance unless they're below 1KKK
fix for the ability to krash after the game is over guaranteeing a win
2026-04-19 05:31:12 +02:00
barelyprofessional
b4cd21da41 Didn't work but I'm half convinced cookie containers never fucking work in .NET anyway so trying the shitty Rainbet hack since that at least was good enough to establish the WebSocket 2026-04-16 21:45:52 -05:00
IfYouComplainImDFEingAgain
3d269716e8 Add Whisper transcription for BossmanJack Discord voice messages (#107)
* 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>
2026-04-17 04:14:58 +02:00
barelyprofessional
1a49fe1976 prayge this is good enough to deal with the Cloudflare problems 2026-04-16 21:10:45 -05:00
barelyprofessional
2bce346967 Don't build Winna if disabled 2026-04-15 20:52:32 -05:00
barelyprofessional
39be005d38 Experimental Winna support 2026-04-15 20:44:56 -05:00
barelyprofessional
1461c1043a Maybe fix DST problems and also the infinite money glitch at the 23rd hour of the day 2026-04-10 00:06:06 -05:00
barelyprofessional
2c55e94bfd Fixed green/red colors and added support for multiple bets from the same participant 2026-04-09 21:28:24 -05:00
barelyprofessional
7a58976c16 Forfeit if balance drops too low for Krash 2026-04-09 21:15:53 -05:00
A Log in D Tractor
354b1cfd99 krash fix hopefuly (#105)
* Update KrashCommand.cs

add wager limit

* Update KasinoKrash.cs

* actual fix for payout

found the bug it was using the game multi instead of the bet multi

* Update KrashCommand.cs

remove wager limit

* actually fix the actual bug

fix the actual bug
2026-04-10 02:51:47 +02:00
alogindtractor
f415409a88 Set KrashAccepted to true when game starts (#104)
* Set KrashAccepted to true when game starts

* Update message formatting in Krash game logic

clean up display only 2 decimals shown now until the end

* Enhance betting message formatting in Krash game

* add rigging to krash

98% RTP without shop
with shop, it essentially averages out all the participants house edge modifier difference

* Update KasinoKrash.cs
2026-04-08 16:34:05 +02:00
alogindtractor
7e131ff1a4 Fix bet handling and payout calculations in Krash game (#103)
fix where it would let you win if you didn't attempt to krash
also keeps message on screen a little longer after its over so you can see the final number better
2026-04-08 06:39:06 +02:00
barelyprofessional
5e85566577 Refactored krash 2026-04-06 21:13:19 -05:00
alogindtractor
26e0b1f49f message deletion and krash (#102)
* 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
2026-04-07 03:30:49 +02:00
barelyprofessional
b33311c37b Continue instead of return on match succes for whispers 2026-03-18 23:57:30 -05:00
barelyprofessional
6240f7c7f1 Ignore some null warnings and fix compiler errors related to the shop 2026-03-18 23:53:45 -05:00
barelyprofessional
01a4b26326 Added support for MOTD and whispers. Commands can opt into responding to whispers and there's a helper method to handle replying through the correct channel. 2026-03-18 23:50:32 -05:00
barelyprofessional
a6810591de Committed some of the DB work that's happening and disabled shop as it's going to take a while to refactor 2026-03-18 19:51:34 -05:00
alogindtractor
377603ca35 kasino shop updated all chat message id to uuid (#95)
* Update KasinoMines.cs

* Update SlotsCommand.cs

* Update MinesCommand.cs

* Update PlinkoCommand.cs

* Update PlinkoCommand.cs

* Update PlinkoCommand.cs

* Update PlanesCommand.cs

* Update LimboCommand.cs

* Update KenoCommand.cs

* Update KasinoUserCommands.cs

* Update KasinoRain.cs

* Create KasinoShop.cs

* Create ShopCommands.cs

* Update BotServices.cs

* Update MoneyDbModels.cs
2026-03-14 23:09:48 +01:00
barelyprofessional
75addfb185 Very good saar claude cood to make pow accept 2026-03-13 20:24:30 -05:00
barelyprofessional
0454a5bbdd Add Shuffle.us support for detecting hidden offline gambling 2026-03-13 20:22:05 -05:00
barelyprofessional
8daaf3c304 Seems to be working now. Re-added the VIP level check 2026-03-05 09:41:25 -06:00
barelyprofessional
586a89a4cd More logging 2026-03-05 09:40:07 -06:00
barelyprofessional
fda98403ae Maybe? 2026-03-05 09:38:27 -06:00
barelyprofessional
b384845b54 Realized my GraphQL payload was fucked anyway but it probably will still freak out at me 2026-03-05 09:34:00 -06:00
barelyprofessional
f792cf4712 Shuffle still mad. Fuck you Noah 2026-03-05 09:25:35 -06:00
barelyprofessional
5058681022 Remove VIP level check to make it easier to test for now 2026-03-05 09:22:42 -06:00
barelyprofessional
d01fbe6ce3 C# is so frustrating with HTTP. You couldn't imagine a more annoyingly autistic in the worst way possible HTTP client. Won't let you do anything to make it real world usable, and also enforces shit at runtime so you can't tell something is busted until hours later when your method finally hits.
Anyway it balked at the Accept header but some more testing in curl reveals that perhaps that's not what the issue is, that it's freaking out due to a missing Origin and Referer headers. Though testing might be impeded by caching, it's hard to say.
2026-03-05 09:20:57 -06:00
barelyprofessional
c8dcf8e884 Choking without an accept header 2026-03-05 01:00:47 -06:00
barelyprofessional
469e24dde1 Can't use application/json in the request headers but it seems it doesn't matter based on testing 2026-03-05 00:54:16 -06:00
barelyprofessional
5fce555007 Thanks to AgarthaCrack for the offline betting detection logic 2026-03-04 22:39:36 -06:00
barelyprofessional
7b1e33da78 Minor update to Discord presence so it'll give the generic presence info if there's no platform presence data 2026-03-04 21:18:43 -06:00
barelyprofessional
28881143be Ignore Bossman stream if a capture is already running due to Twitch GraphQL being trash 2026-03-01 14:32:42 -06:00
barelyprofessional
82a69f48dd Null warnings 2026-02-28 15:35:59 -06:00
barelyprofessional
c8016b4fc6 Update for new chyat 2026-02-28 15:34:36 -06:00
barelyprofessional
8a827a17de Handle presence updates that don't contain a username 2026-02-27 00:35:03 -06:00
barelyprofessional
81a6f0fdd5 Total Cloudflare Death 2026-02-21 00:08:47 -06:00
barelyprofessional
4962472312 Flaresolverr is dogshit. Going to try real and raw 2026-02-21 00:01:20 -06:00
barelyprofessional
6967a81d73 Use RandN properly and get rid of the iterations thingy for next double 2026-02-19 20:55:55 -06:00
barelyprofessional
f1ab9cfcdd Add auto delete to VIP message 2026-02-19 20:27:07 -06:00
barelyprofessional
60f74894ca Broke meta 2026-02-19 19:30:05 -06:00
barelyprofessional
2c7e2adf48 Whycome this was Newtonsoft? 2026-02-19 19:14:50 -06:00
barelyprofessional
f1afce7fab Removed unused fields and imports 2026-02-17 22:04:27 -06:00
barelyprofessional
0dcbb25fe3 Migrated moods and prompts to the settings.
Removed the weird concurrent dictionary and replaced with Redis.
Removed the cleanup watchdog in favor of Redis expiration
2026-02-17 22:02:09 -06:00
xXCryingLaughingXx
30d9f48d2e Nora (#87) 2026-02-18 03:24:30 +01:00
alogindtractor
1ce3f0e8e5 Update KasinoMines.cs (#84) 2026-02-13 06:57:25 +01:00
alogindtractor
b43ce3f95c Update KasinoMines.cs (#83)
maybe fix explode animation
2026-02-13 06:51:54 +01:00