808 Commits

Author SHA1 Message Date
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
barelyprofessional
75e958cd2a Add XML doc summaries for the value types 2026-02-17 21:55:51 -06:00
barelyprofessional
bc114e9f64 Remove all the slop .md files 2026-02-17 20:26:48 -06:00
xXCryingLaughingXx
30d9f48d2e Nora (#87) 2026-02-18 03:24:30 +01:00
alogindtractor
f701cae171 fix error, add delay to win message (#89)
* Update SlotsCommand.cs

adds delay for win message

* Update SlotsCommand.cs

add delay, fix rigslotboard error, was checking the wrong diagonal
2026-02-17 15:58:54 +01:00
barelyprofessional
dec3a9473a Back to white squares as it's too many bytes 2026-02-16 00:49:16 -06:00
barelyprofessional
9183c45105 Replace cloud with fog 2026-02-16 00:47:38 -06:00
alogindtractor
f0c1e77e5f Update PlanesCommand.cs (#85)
use cloud instead of white squire
2026-02-16 01:53:46 +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
barelyprofessional
d1e95b07d4 Don't let exceptions go unhandled on chat messages as it's causing issues with the websocket library 2026-02-12 09:07:16 -06:00
barelyprofessional
75630e4053 Reduce VIP log spam 2026-02-11 22:35:08 -06:00
barelyprofessional
6e2fd0bc35 Check for null on disconnection info Exception 2026-02-11 22:11:29 -06:00
barelyprofessional
cbf5b628c3 Missed one 2026-02-11 22:09:26 -06:00
barelyprofessional
384b2ab3ef Removed disconnect/connect and replaced with Reconnect as it's made things worse 2026-02-11 22:07:41 -06:00
barelyprofessional
bdb882795f Rename Reconnect to ReconnectAsync 2026-02-11 22:06:00 -06:00
alogindtractor
259d5c339b fix payouts (#82)
games were slightly overpaying by including the original wager in the payout
2026-02-12 04:59:06 +01:00
barelyprofessional
34b3c5a671 Uber aggressive reconnection logic was glitching out like mad. Added a reconnect on dead bot detection and reduced inactivity timeout to 45 seconds in settings for the bot 2026-02-10 22:57:44 -06:00
barelyprofessional
3d99cce5fb Removed wager limit for Mines 2026-02-10 22:24:03 -06:00
alogindtractor
c4995f55f2 Update KasinoMines.cs (#80)
fix payouts
2026-02-11 05:16:26 +01:00
alogindtractor
4441fa178c Update MinesCommand.cs (#78)
update refresh, update tool url
2026-02-11 05:03:01 +01:00
barelyprofessional
6747389237 Still having issues with not reconnecting after 203 challenge so moved the reconnect logic back out of refresh token, save cookies no matter what and now force a reconnect on WsDisconnection event if it's not ByUser 2026-02-10 22:00:05 -06:00
alogindtractor
d71dd304fd update mines (#77)
* Update MinesCommand.cs

better cashout handling?
also limit mines to 8

* Update KasinoMines.cs

update cashout to have a delay before removing board message and add auto delete

* update cashout calculation

update cashout calculation
fair payout but house edge based chance for rigging
2026-02-10 15:40:43 +01:00
barelyprofessional
26d1da3069 Fix missing update cookie + force reconnect when bot is already logged in 2026-02-10 08:39:25 -06:00
alogindtractor
21c8803eb9 fix board size, some fixes to auto cashout from cursor (#75)
* 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.
2026-02-09 16:00:45 +01:00
alogindtractor
b6df015277 cursor fixes (#74)
cursor fixes
2026-02-09 07:05:39 +01:00
alogindtractor
e1b5970e8b char[,] to char[][] (#73)
* Refactor KasinoMines into MinesCommand class

char[,] to char[][]

* Refactor KasinoMines class and update game logic

char[,] to char[][]
2026-02-09 06:45:40 +01:00
barelyprofessional
7fbebe81ab Added missing awaits, improved permission check and removed redundant else 2026-02-08 23:27:41 -06:00
alogindtractor
9643126cf8 updates message stuff (#72)
* Implement admin-only clear command for saved games

Added 'clear' command for admin to reset saved games.

* Refactor LastMessage handling in KasinoMines

Refactor LastMessage handling in KasinoMines
2026-02-09 06:26:34 +01:00
barelyprofessional
a272e155bd Ignore null 2026-02-08 22:34:15 -06:00
alogindtractor
20a267c702 fix last message id to check for null first for message reset (#71)
* Add JsonSerializerOptions for serialization and deserialization

Add JsonSerializerOptions for serialization and deserialization
apparently it has problems with lists with groups like my list<(int r, int c)> so needs options

* Fix null check for LastMessage.ChatMessageId

Fix null check for LastMessage.ChatMessageId
2026-02-09 05:33:34 +01:00
alogindtractor
3385722455 Add JsonSerializerOptions for serialization and deserialization (#70)
Add JsonSerializerOptions for serialization and deserialization
apparently it has problems with lists with groups like my list<(int r, int c)> so needs options
2026-02-09 04:48:00 +01:00
barelyprofessional
e96620381f Move the responsibility for updating cookies and reconnecting to RefreshXfToken so it's always handled properly 2026-02-08 20:50:13 -06:00
barelyprofessional
4c8cbc1748 Actually save cookies 2026-02-08 20:40:39 -06:00
barelyprofessional
1e44dbe6c1 Parse it from Set-Cookie because honestly fuck it 2026-02-08 20:35:44 -06:00
barelyprofessional
d2cc3f04ad Cookie container is fucking trash 2026-02-08 20:31:42 -06:00
barelyprofessional
9334cac344 Losing my mind this is fucking ridiculous 2026-02-08 20:28:53 -06:00
barelyprofessional
d8a8b7341a Why am I not getting the fucking cookie 2026-02-08 20:27:11 -06:00
barelyprofessional
24e864f8f5 WaitAsync didn't like TimeSpan.MaxValue 2026-02-08 20:21:12 -06:00
barelyprofessional
2d255198ea Forgot to move null for TTRS 2026-02-08 20:19:52 -06:00
barelyprofessional
d0cabbf759 203 check for disconnect 2026-02-08 20:15:35 -06:00
barelyprofessional
e7c309582a Send all cookies to the websocket connection as the clearance token is now needed 2026-02-08 20:12:41 -06:00
barelyprofessional
cdd309fa24 Suppress nullable warnings, re-implement the missing wait for message, extend the delay a little to make sure shit doesn't go out of order and update the ResetMessage message null check given A Log changed the type for whatever reason 2026-02-08 19:11:35 -06:00
alogindtractor
d5f04b5228 some sloppa fixes (#69)
* update

update

* service

service

* Optimize message retrieval in MinesCommand

Refactor message handling in MinesCommand to use last message directly.

* Replace LastMessageId with LastMessage object
2026-02-09 02:06:15 +01:00
barelyprofessional
1901507c25 Added a minimum wager requirement to all games 2026-02-08 12:02:24 -06:00
barelyprofessional
2fb8f0bb89 Removed the weird 3 millisecond delays and added a wait for message 2026-02-07 20:37:41 -06:00
alogindtractor
670336145d mines update (#68)
* mines update

mines update

* Refactor betting logic to use valid coordinates

Refactor betting logic to use valid coordinates

* Refactor bet coordinate selection logic

Refactor random bet coordinate selection to improve clarity and prevent duplicate entries.

* update tostring

update tostring

* Refactor Bet method and update gem handling

Refactor Bet method to include an additional parameter for tracking calls. Update logic for handling gem counts and cash-out conditions.

* update regex

update regex
2026-02-08 03:33:58 +01:00
alogindtractor
6a47d0d25e mines update (#67)
* mines update

mines update

* Refactor betting logic to use valid coordinates

Refactor betting logic to use valid coordinates

* Refactor bet coordinate selection logic

Refactor random bet coordinate selection to improve clarity and prevent duplicate entries.

* update tostring

update tostring

* Refactor Bet method and update gem handling

Refactor Bet method to include an additional parameter for tracking calls. Update logic for handling gem counts and cash-out conditions.
2026-02-07 23:10:19 +01:00
barelyprofessional
eccbe44acd Merging changes from #66
Closes PR #66
2026-02-07 11:33:09 -06:00
barelyprofessional
8246b75868 Use gambler ID in Redis key to avoid the possibility of concurrent games messing with the state 2026-02-07 11:27:03 -06:00