797 Commits

Author SHA1 Message Date
alogindtractor 2b61433dc6 Cecil and shop update (#121)
* Implement FromToken method for Skew configuration

Added a method to parse a serialized configuration token for Skew profiles. Tokens can be generated and viewed using the updated cecil helper tool.

* Add Difficulty property to KasinoShop profile

Add Difficulty property to KasinoShop profile

* Add HOUSE_EDGE variable and custom difficulties

Add HOUSE_EDGE variable and custom difficulties

* Implement ShopSetDifficultyCommand for difficulty settings

Added ShopSetDifficultyCommand to manage player difficulty settings in casino games, including validation for input parameters.

* adds return to default difficulty setting

adds return to default difficulty setting
2026-06-10 06:39:10 +02:00
barelyprofessional 80916c9b2d deadTime was the wrong name for this stupid variable. Now updating the last reconnect attempt timestamp when reconnecting, considering both timestamps again for determining whether to exit and avoiding forced reconnects if within a minute of a previous reconnect attempt.
Future plan is to basically disable automatic reconnection in the WS library and use the fast fail functionality instead since it just causes more problems than it's worth.
2026-05-31 13:14:12 -05:00
barelyprofessional 3ae74c0fbf Dispose and fully restart the WS client if it's choking due to TaskCanceledException 2026-05-31 10:31:49 -05:00
barelyprofessional 17d2e0415a Reconnection attempts reset the inactivity timer so don't solely consider it for deciding whether to restart 2026-05-31 10:00:34 -05:00
barelyprofessional 804e2b3329 Fix prosy support for solving TTRS challenges 2026-05-29 20:30:08 -05:00
barelyprofessional 4417da117c Added proxy support just for the chat and login stuff due to being tor-only right now 2026-05-28 21:30:17 -05:00
barelyprofessional a714c93d70 Little hotfix for the phonefagging Barikvelloon 2026-05-22 08:37:05 -05:00
barelyprofessional b542f19c30 More plain to try and deal with that retarded "cool" emote 2026-05-17 11:14:26 -05:00
barelyprofessional a568fec88e Add switch to disable Cecil
Also oops I accidentally committed my horrible CSV hack for quotes previously. Oh well.
2026-05-16 11:45:31 -05:00
barelyprofessional 915a4cc8bf Added MathNet.Numerics for Cecil. Refactored and fixed some issues 2026-05-16 11:34:37 -05:00
alogindtractor e14a08e3d5 Adds Cecil (#119)
* Add Cecil for mechanics

Used to predetermine the outcome of games according to a probability function, which is stored as a skew. Each game made using cecil is intended to have its own skew (or maybe multiple skews for different difficulties)
Will eventually be used for planes 2

* Add CecilCommand for gambling functionality

Skip all the fancy casino visuals and let Cecil take the wheel
Customizeable difficulty
!cecil <bet> <optional difficulty, default 1> <optional max win>
https://i.ddos.lgbt/raw/CecilHelper.html

* Validate max win value in CecilCommand

Added validation to ensure max win is greater than 1.

* Adjust slot symbol probabilities and random range

9208000 | Payout: 0 | RTP: 97.84% | Feach Chance: 0.78% | Hit Rate: 34.03% | Win Rate: 15.14% | Biggest Win: 14100.0x | Avg Win: 6.01x | Median Hit: 0.6x

got some complaint about slots so figured I'd change it up a bit
2026-05-16 17:58:21 +02:00
barelyprofessional e17f525142 Missing start of line for the i regex 2026-05-15 22:37:24 -05:00
barelyprofessional d9ba821b88 Use the HTML decoded message so regex matches don't have HTML entities 2026-05-14 21:43:51 -05:00
barelyprofessional e064c37477 Change equals to endswith as I think it's getting felted by the command prefix 2026-05-14 21:37:50 -05:00
A Log in D Tractor 95608dcb12 Update PlinkoCommand.cs (#118)
fix frame not sized issue
2026-05-15 02:18:27 +02:00
barelyprofessional 66d66c8640 Show image carousel in meta so you can tell where an image belonged 2026-05-14 07:07:10 -05:00
alogindtractor 277207215a small plinko (#117)
* Update multi-tracker display format in PlanesCommand

* small plinko

small plinko

* Add Kasino Plinko Size setting
2026-05-14 14:05:23 +02:00
barelyprofessional b346a3b303 Experimental untagged and also search any carousel command 2026-05-14 07:04:50 -05:00
barelyprofessional b170065ca3 Add a trailing space to the ditto for image tagging 2026-05-13 21:22:26 -05:00
barelyprofessional 520413c3da Moved the tagnag to before the meta and removed the grid to table. It did work but was still spaced a little ugly. Having the spoiler last should fix spacing issues 2026-05-13 21:11:24 -05:00
barelyprofessional aa25b06ebe Use a table to try and deal with the ugly as hell spacing if the tagnag happens 2026-05-13 21:04:41 -05:00
barelyprofessional 9c5e364859 Added image metadata to returned images 2026-05-13 20:59:57 -05:00
alogindtractor 1d197ca495 slots update (#116)
found 120% rtp in test, idk if i fucked it up last time or this time but i nerfed feature and wild chance for now, planning a better update later

new rtp settings
RTP: 98.37% | Feach Chance: 0.14% | Hit Rate: 45.59% | Win Rate: 17.89% | Biggest Win: 38100.0x | Avg Win: 4.96x | Median Hit: 0.5x
from 32 mil tests
2026-05-12 14:05:51 +02:00
alogindtractor 00462f5a8b Update multi-tracker display format in PlanesCommand (#115) 2026-05-12 05:06:52 +02:00
alogindtractor d157d0a0a0 small planes (#114)
* small planes

small planes

* Add KasinoPlanesSize setting for Planes board

Add KasinoPlanesSize setting for Planes board
2026-05-12 05:01:03 +02:00
barelyprofessional 2ad5c46835 Vastly increase the roulette timeout so that the round doesn't prematurely end due to the cancellation token expiring 2026-05-11 21:43:40 -05:00
barelyprofessional f6581ad1d4 Drop Twitter media re-encode to 20 FPS as it's pretty slow and bump threads though it probably won't help much 2026-05-10 23:01:32 -05:00
barelyprofessional f81783019f It works! Make the size configurable so we can test various miniature kenos 2026-05-10 22:46:59 -05:00
barelyprofessional 9fd1124522 Possible fix for the grid breaking emojis. Trying again with Keno 2026-05-10 22:41:33 -05:00
barelyprofessional 1ee91e3f6c The grid rendering works but splitting up by chars doesn't work for multibyte so it breaks keno 2026-05-10 22:32:25 -05:00
barelyprofessional 1cb0ff21e4 Added missing cancellation token support to Keno and also experimenting with the table grid for it 2026-05-10 22:27:19 -05:00
barelyprofessional 32bef9f8e0 Add missing async support to ImageSharp for webp rendering in roulette as well as adding as much support for cancellation tokens as I can 2026-05-10 21:57:28 -05:00
barelyprofessional a4b740480f Use async for image rendering and time delays on slots so it's hopefully responsive to timeouts 2026-05-10 21:41:11 -05:00
barelyprofessional ec960d4cfe Added length limit to tags 2026-05-10 17:58:28 -05:00
barelyprofessional f821a96f70 Add a tag limit 2026-05-10 17:42:49 -05:00
barelyprofessional 7eb24e7517 Add missing where for image count 2026-05-10 17:16:41 -05:00
barelyprofessional 97e7e5bf17 Remove example text 2026-05-10 17:00:14 -05:00
barelyprofessional 02f9ac7551 Humanize is glitchy with telling it to use spaces 2026-05-10 16:53:51 -05:00
barelyprofessional ca322bde4d Consider existing entries when informing the user what they tagged with 2026-05-10 16:42:19 -05:00
barelyprofessional 8d06b75a57 Append tags instead of overwriting when tagging something that already has tags 2026-05-10 16:40:30 -05:00
barelyprofessional 94e7017f29 Increase FPS for Xitter media embeds to 30 2026-05-10 16:30:21 -05:00
barelyprofessional 4438175d80 Added commands to tag and untag images. List will now give actual image IDs for the purposes of tagging and there's a nag for untagged images 2026-05-10 16:28:22 -05:00
barelyprofessional e6e62388b9 Added functionality to wrap grids and multi-line text into tables so they can be resized nicely 2026-05-10 16:08:15 -05:00
barelyprofessional d71819819d Updated the tagging code from cohle
- Uses a List<string> as the underlying type which EF Core will serialize as JSON. Since SQLite doesn't have any native JSON features, it gets stored as TEXT
- Got rid of the alternate pathway used for selecting an image so it always has a degree of randomness assuming enough images were returned
- Simplified some of the existing Regex and removed the non capturing groups as they're cancerous
- Added/removed images will be spoilered.
- Added a metadata property for images. This is a JSON object that EF Core will serialize/deserialize for you and presently contains the user ID of whoever added the image as well as when it was added. Can be easily extended with no migration needed. Will be null for existing images.
- Added a migration process for moving Tags to TagList for fishtank
2026-05-10 15:30:54 -05:00
barelyprofessional 7df7e7dadf Add wager to the win size for statistics 2026-05-10 14:55:49 -05:00
barelyprofessional 07169f0837 Updated mines to hopefully fix a timing bug introduced by the 15 second delay. Extended the schedule auto delete functionality so that it can apply to any message, even ones not owned by the bot. 2026-05-10 11:23:38 -05:00
barelyprofessional 5e2dc25c77 Spoiler slots images 2026-05-10 11:01:09 -05:00
barelyprofessional 45cecb5e10 Apparently forgot how to format usernames right for my stupid bot 2026-05-10 10:57:42 -05:00
barelyprofessional 4d1f61bfdc Use spoiler titles for stats 2026-05-10 10:55:21 -05:00
cohlexyz 287e453b9e Add tagging to image carousel (#113) 2026-05-10 17:51:56 +02:00