Commit Graph

784 Commits

Author SHA1 Message Date
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
barelyprofessional
54d989f64f Wager limit while mines is fucked 2026-02-07 00:21:08 -06:00
barelyprofessional
6c6ed8d09e Check if LastMessageId is its default value or not before attempting to delete 2026-02-07 00:11:41 -06:00
barelyprofessional
0c61206e08 Added missing awaits for mines wins 2026-02-07 00:03:06 -06:00
barelyprofessional
15f68ee99b Add log message for reset 2026-02-06 23:59:45 -06:00
alogindtractor
3ec623f6a4 fix display, unfuck riggery (#65)
fix display, unfuck riggery
2026-02-07 06:53:25 +01:00
barelyprofessional
0272d79ee1 Massively reduce the rate limiting for mines 2026-02-06 23:48:23 -06:00
barelyprofessional
503d0de41b Wager limit for roulette 2026-02-06 23:43:02 -06:00
barelyprofessional
dd469c36b3 Usability shit for roulette 2026-02-06 23:40:57 -06:00
alogindtractor
daba3012a4 fix for slot issue (#64)
* fix chat message ID handling and index out of bounds error

fix chat message ID handling and index out of bounds error

* fix feature incorrectly showing for some reason

idk why this started happening hopefully this fixes it, actual features might still be broken though

* actual fix for slot display issue

actual fix for slot display issue
after adding rigging i was passing in the rig parameter as the current type of feature
2026-02-07 06:34:30 +01:00
barelyprofessional
57e1f7eb04 Break on rate limit instead of continue so it doesn't spam multiple rate limit messages if multiple regexes match 2026-02-06 23:30:07 -06:00
barelyprofessional
7179cf72ce Suppress nullable warnings 2026-02-06 23:12:31 -06:00
barelyprofessional
a64d4456ab Discard return value for explode so it stops crying 2026-02-06 23:12:00 -06:00
barelyprofessional
4072709ec6 Added missing awaits to Mines 2026-02-06 23:09:38 -06:00
barelyprofessional
12d184ebac Update query for oldest entry in IsRateLimited to First as this seems to make more sense when it's using an ascending order? The behavior isn't right regardless right now 2026-02-06 23:07:02 -06:00
alogindtractor
d726b4f638 fix chat message ID handling and index out of bounds error (#63)
* fix chat message ID handling and index out of bounds error

fix chat message ID handling and index out of bounds error

* fix feature incorrectly showing for some reason

idk why this started happening hopefully this fixes it, actual features might still be broken though
2026-02-06 09:59:54 -06:00
barelyprofessional
1890e3606b Another wait for message... 2026-02-05 23:46:29 -06:00
barelyprofessional
28cc6a2651 Added wait for message to be received 2026-02-05 23:43:24 -06:00
barelyprofessional
bf9d3268cd Use exclusive random for the mines board 2026-02-05 23:39:35 -06:00
barelyprofessional
696339f359 Include the trailing space for cashout in the optional match for cashout 2026-02-05 23:34:57 -06:00
barelyprofessional
57e1b9c3b9 WIP rehost stuff 2026-02-05 23:26:46 -06:00
alogindtractor
477c121f72 Refactor MinesCommand regex patterns and messages (#62) 2026-02-06 06:26:11 +01:00
barelyprofessional
42804c90e4 Experimental ttrs support 2026-02-05 23:04:43 -06:00
barelyprofessional
32ae015c3b Reduce the absurd 100 second default timeout to 10 seconds for KiwiFlare 2026-02-05 20:52:56 -06:00
barelyprofessional
80d4f81610 Fixed compiler warnings 2026-02-05 20:42:40 -06:00