Commit Graph

  • b879efe256 Workaround as KiwiFlare has been disabled barelyprofessional 2024-09-07 00:19:46 +08:00
  • c4033d0135 Changed the verbiage to role as it sounds a bit better and gave guest role a descriptor "Rat" barelyprofessional 2024-09-05 22:02:05 +08:00
  • 2fb3d1f87b Added gmkasino commands barelyprofessional 2024-09-05 21:31:13 +08:00
  • a6a00459ce Added !gmkasino barelyprofessional 2024-09-04 01:01:10 +08:00
  • 4cb5c0327a I'm an idiot. Same oversight with updating the token when the user is logged in. barelyprofessional 2024-09-02 20:50:05 +08:00
  • 85bd4e3b2c Corrected omission where KfClient would not be populated with the newly retrieved token after refreshing it and get caught in a reconnect loop. barelyprofessional 2024-09-02 20:47:57 +08:00
  • cc19b0bb7c Cleaned up the duplicated login page request code barelyprofessional 2024-09-02 20:29:54 +08:00
  • ace5646f36 Fixed missing Pusher channels setting causing the bot to fail to start and fixed code so a single failing task won't take down the whole bot barelyprofessional 2024-09-02 00:39:39 +08:00
  • 3b1f967a02 Service initialization is now async so the bot starts up faster barelyprofessional 2024-09-02 00:26:33 +08:00
  • c3aa839e82 Defaulted GambaSesh Discord bypass to true since he's not setup with the new Discord guild barelyprofessional 2024-09-01 21:10:38 +08:00
  • 0ea864d1b6 Removed Puppeteer and logging in by POSTing the logon form now that we can get clearance tokens. barelyprofessional 2024-09-01 20:33:23 +08:00
  • 62304bccdb I'm an idiot, setting a value clears the cache for that setting so no need to make RestreamUrl never cache barelyprofessional 2024-09-01 20:26:04 +08:00
  • 67cd007252 Updated SetValueAsKeyValuePairs to SetValueAsJsonObject barelyprofessional 2024-09-01 20:24:59 +08:00
  • 7509375b43 Added due credit to KiwiFlare.cs for the original Go implementation I adapted this from. Also added extra logging, refactored the challenge worker, and cleaned up the code a little. barelyprofessional 2024-09-01 20:24:20 +08:00
  • b3dc9a23e4 Removed the key-value pair methods for settings and replaced them helpers for JSON serialization and deserialization. This is because the key-value pair is pretty limited, easy to break and wasn't even being used anyway, JSON is far superior for storing a dictionary. barelyprofessional 2024-09-01 20:22:28 +08:00
  • 2906481b27 Experimental KiwiFlare solver which appears to work based on my one test barelyprofessional 2024-09-01 03:01:11 +08:00
  • e4b1821a5b All the ancillary services have been moved out of the chatbot's class and relocated to a separate file. THe code is still very messy but at least it'll make the main bot easier to navigate. barelyprofessional 2024-09-01 00:53:44 +08:00
  • 81a510120d New setting for Bossman's howl ID barelyprofessional 2024-09-01 00:48:06 +08:00
  • a133fb79eb Added a public field for getting the last packet received time and an async Disconnect method barelyprofessional 2024-09-01 00:47:53 +08:00
  • 26a327caa0 Added the ability to disable reconnection in the Kick library, fixed a null reference error if IsConnected() is called without ever being connected and incorporated the ping thread into the library rather than doing it separately barelyprofessional 2024-09-01 00:47:16 +08:00
  • 99b6afcec5 Added a command to query the restream barelyprofessional 2024-08-30 22:26:41 +08:00
  • dffbecf1ec Added an admin command to set a user's right barelyprofessional 2024-08-30 22:25:36 +08:00
  • eada3243b9 Make Discord channel and stage alerts more prominent barelyprofessional 2024-08-29 16:17:54 +08:00
  • 48ef59da3c Hopefully fix a bug where it gets trapped in a reconnection loop. The issue is the bot tries to reconnect too fast, this just resets the last event so it doesn't try again too soon. barelyprofessional 2024-08-24 13:32:42 +08:00
  • f81a2f5a42 Added the ability to selectively enable Discord integration for when GambaSesh wigs out and manually control the bet feed given there's no obvious signal when Bossman is live (I might tie in the stage notifications as an alternative tho) barelyprofessional 2024-08-23 12:32:51 +08:00
  • a717224ee4 aaand this one, I'm an idiot barelyprofessional 2024-08-23 12:32:01 +08:00
  • 1d21913afa Forgot to include these files in the previous commit barelyprofessional 2024-08-23 12:31:53 +08:00
  • 6166b76f92 Updated commands to remove the hide from help property, instead set the help text to null for whenever that eventually gets implemented. barelyprofessional 2024-08-23 12:31:33 +08:00
  • ca81702fc0 Now treat user not existing as being offline as Bossman got perma banned on Twitch barelyprofessional 2024-08-23 12:28:31 +08:00
  • 45ba16f419 Bumped packages barelyprofessional 2024-08-23 12:27:40 +08:00
  • 840fe19430 Added support for channel creation / deletion and joining / leaving stages for Discord barelyprofessional 2024-08-23 12:27:31 +08:00
  • 61f54c6958 Fixed currency conversion and formatting, added disclaimer barelyprofessional 2024-08-18 01:54:55 +08:00
  • e31cf1245a Workaround for inconsistent authentication behavior barelyprofessional 2024-08-18 01:34:28 +08:00
  • 62375292e9 Off by 1 on the decimals barelyprofessional 2024-08-18 01:03:44 +08:00
  • a84004156f Uncommented Chips message as it probably works now barelyprofessional 2024-08-18 00:04:08 +08:00
  • 21b14f134e Made cache misses an informational alert and updated message to be more helpful barelyprofessional 2024-08-18 00:03:50 +08:00
  • f53e12552b Update chipsgg to ignore koth (whatever that is) barelyprofessional 2024-08-17 23:53:05 +08:00
  • 71b46d73d2 Added in memory caching barelyprofessional 2024-08-17 23:45:29 +08:00
  • b390368713 Added Chips.gg integration. It basically works but needs more testing and also smashes the DB with how fast their feed updates. barelyprofessional 2024-08-17 21:58:10 +08:00
  • d2f0519414 Updated the formatting to make the juice stats command more legible barelyprofessional 2024-08-17 21:57:03 +08:00
  • 19c10f20f5 Fixed number formatting in the rainbet stats command barelyprofessional 2024-08-17 13:43:58 +08:00
  • e53150f790 Untested Juice statistics command barelyprofessional 2024-08-17 13:43:32 +08:00
  • 82bf88afe7 Added Twitch view count logging barelyprofessional 2024-08-15 16:45:02 +08:00
  • 18a50a757d Forgot to add a check for ignored user barelyprofessional 2024-08-15 11:58:10 +08:00
  • 59ec8f8850 Additional logging for debugging missed sent messages barelyprofessional 2024-08-13 17:10:49 +08:00
  • 06c64778ce Trim \r that was being passed through from Twitch chat barelyprofessional 2024-08-13 17:10:24 +08:00
  • eef56d3f6b Decode entities in incoming message barelyprofessional 2024-08-11 22:36:25 +08:00
  • 9f07f6cf21 Forgot to bypass GambaSesh detection barelyprofessional 2024-08-11 22:31:27 +08:00
  • c0d7f62c61 Added feature to track messages sent by the bot by reference so they can be edited barelyprofessional 2024-08-11 21:11:37 +08:00
  • 2c54ca30dd Missed converting this setting to use the extension method for booleans barelyprofessional 2024-08-11 19:19:44 +08:00
  • f7bf0b1186 No longer log Kick chats as info to reduce spam barelyprofessional 2024-08-10 16:57:17 +08:00
  • e87af68cdb Updated Pusher API URL as it has changed for Kick barelyprofessional 2024-08-10 16:57:01 +08:00
  • f39438f71c Converted over to using the extension methods for handling the settings barelyprofessional 2024-08-10 01:56:12 +08:00
  • 946a7679ee I'm an idiot, forgot to null the cookies barelyprofessional 2024-08-10 01:55:58 +08:00
  • 6e0c100e11 Removed the commented out Rainbet check. The first iteration was Websocket based, but it's now based on an API call so this is no longer needed. barelyprofessional 2024-08-10 00:29:19 +08:00
  • 5982858f8e Added commands for getting Rainbet betting info barelyprofessional 2024-08-10 00:28:33 +08:00
  • 99489a3629 Now retrieving the last 5000 entries, mostly because I'd often get consecutive failures from FlareSolverr. Also caching the cookies now with some logic to retrieve fresh cookies when challenged. So far this has made the bet history scraping a lot more reliable. barelyprofessional 2024-08-10 00:28:15 +08:00
  • 5d1334d2b3 Extended the command interface so it passes in the user's DB entry. Just avoids having to look it up again if you're doing DB operations involving the user barelyprofessional 2024-08-10 00:27:06 +08:00
  • a67641a14d Added Rainbet bet history scraping. Uses FlareSolverr to grab Cloudflare cookies then retrieves from the bet feed. Not perfect but mostly works. barelyprofessional 2024-08-06 00:07:08 +08:00
  • 508df3163b Forgot to build an instance of Jackpot. Tested it and it appears to work barelyprofessional 2024-07-26 16:59:59 +08:00
  • f9d87220d2 Renamed the bot from KickBot -> ChatBot and removed the reference to Kick in the project name barelyprofessional 2024-07-26 16:50:39 +08:00
  • f4db00246a Jackpot integration that probably works. Not tested barelyprofessional 2024-07-26 15:51:56 +08:00
  • cf3ed650f6 Using the fancy green/red colors instead of just color=red/green as it is easier on the eyes barelyprofessional 2024-07-26 15:44:47 +08:00
  • 831bca4445 Updated PuppeteerSharp barelyprofessional 2024-07-26 09:39:26 +08:00
  • 2340041a30 Conditional access on the howlgg instance because there's a chance it'll be null if it is mid-reconnection barelyprofessional 2024-07-26 11:29:28 +10:00
  • 546b1d161a Replace SendInstant with Send as it's more thread safe or something barelyprofessional 2024-07-26 11:28:52 +10:00
  • 632638fcb1 Add some extra info when a user doesn't have access to command barelyprofessional 2024-07-26 11:28:33 +10:00
  • 8676241fbf The Final Solution to the Websocket question? I've gone through like 10 different iterations to try and get ByServer reconnections to work correctly. Now just disabled reconnection altogether and I'm manually disposing and recreating the instance whenever it dies using a watchdog task. So far working great after 12 hours! barelyprofessional 2024-07-20 10:42:38 +10:00
  • 2574d278a7 Added recent bets command and now casting the magic number to a float so the bot can show bets <$1 barelyprofessional 2024-07-20 10:40:50 +10:00
  • 0d8116bf24 Removed end of line token for juiceme barelyprofessional 2024-07-18 18:03:07 +10:00
  • 272317f828 Added a basic Howl.gg stats command, implemented a setting for controlling the magic number to divide by and retroactively updating bet/profit amounts for unrealized gains on slot feaches barelyprofessional 2024-07-18 18:02:44 +10:00
  • e4c4b3b41f Hopeful fix for invalid operation exception when reconnecting to Howl and Discord barelyprofessional 2024-07-18 14:20:15 +10:00
  • 6c8ee91ad6 Put in a hacked up feature to disable Kick Pusher as the API is having massive issues (again) barelyprofessional 2024-07-18 12:46:12 +10:00
  • 76b4a750a7 Usually prefer to have these as info so I can see whether the connection is still alive at a glance barelyprofessional 2024-07-18 01:43:35 +10:00
  • d61a171e54 Big update introducing ghetto command interface, settings, database and howl.gg bet feed scraping barelyprofessional 2024-07-18 01:37:15 +10:00
  • 936bf743a5 Added Twitch IRC over Websocket support barelyprofessional 2024-07-01 00:24:07 +08:00
  • 83a5e149ef Replaced logging of the disconnection exception as it basically never had any value. Serializing provides a lot more useful information including the reason the server sent barelyprofessional 2024-06-30 20:02:05 +08:00
  • a865730918 Minor changes around logging and the stream stop message barelyprofessional 2024-06-30 19:51:40 +08:00
  • e3550c5e6e Decreased log level for Shuffle pongs as it's spammy and I no longer need to track this so closely as the issues with it have been mostly fixed. Also cleaned up some remnants from the copy paste job barelyprofessional 2024-06-30 19:51:12 +08:00
  • 3b38994405 Added heartbeat ack opcode barelyprofessional 2024-06-30 18:58:08 +08:00
  • f413503d27 Implemented Discord support. Similar to GambaSesh though doesn't do transcription but does display attachment URLs and device presence data barelyprofessional 2024-06-30 18:53:53 +08:00
  • 14884c717e Updated Kick functionality to alert on dirtdevil-enjoyer going live as BMJ got permabanned and it serves no purpose now barelyprofessional 2024-06-30 13:34:53 +08:00
  • dd8ba2c5c5 Replaced with bossmanjack.tv barelyprofessional 2024-06-28 16:08:36 +08:00
  • adf9ad2d87 Added HTML decode to fix issues with users who have apostrophes in their username barelyprofessional 2024-06-28 11:09:39 +08:00
  • 2e4616c736 Added a feature to reconnect if the bot somehow gets stuck (either not joined to a channel or stuck in a disconnected state) barelyprofessional 2024-06-27 11:30:41 +08:00
  • 4ece07d64d Dispose of Shuffle properly before rebuilding it as otherwise you end up with random Shuffle ping tasks waking up and trying to ping a dead connection barelyprofessional 2024-06-27 11:15:41 +08:00
  • 5bff1a1035 Ghetto whois feature barelyprofessional 2024-06-25 00:33:29 +08:00
  • 004c078d54 The bot will now set the GambaSesh presence detection flag if it receives a message in chat from GambaSesh while believing it isn't present. This should hopefully resolve issues where the bot author (since he shares accounts) leaves the channel while the bot is still present which trips the flag. barelyprofessional 2024-06-23 13:30:31 +08:00
  • 4aef087f3b Added a Websocket disconnection event to Shuffle that rebuilds the Shuffle connection if it's forcibly disconnected. This seems to have resolved issues with the bot disconnecting from Shuffle and never reconnecting. barelyprofessional 2024-06-23 13:26:30 +08:00
  • ff2a4c0e2e Added in support for grabbing Shuffle user profiles barelyprofessional 2024-06-20 22:34:28 +08:00
  • 4846c0c962 Use newline instead of sending two messages as they come out of order barelyprofessional 2024-06-20 10:15:53 +08:00
  • c50c5dcd85 Slightly smarter red text barelyprofessional 2024-06-20 00:51:32 +08:00
  • 67b912d5da Apparently didn't commit everything barelyprofessional 2024-06-19 23:33:53 +08:00
  • 57584918d0 Shuffle gamba watching barelyprofessional 2024-06-19 23:32:56 +08:00
  • 980a2b1c98 Renamed TwitchWs to Twitch as I intend to add a non-WS related helper function for checking if a stream is live using Graph QL barelyprofessional 2024-06-19 10:46:17 +08:00
  • 1c08231e7c Added examples of WebSocket payloads barelyprofessional 2024-06-19 10:45:23 +08:00
  • 87225ead2f Reset GambaSesh presence detection on reconnect so it can resync with join list barelyprofessional 2024-06-18 15:11:09 +08:00
  • d470e64979 I'm a retard. barelyprofessional 2024-06-17 19:46:26 +08:00
  • 8d28733309 Corrected NullReferenceException due to WsReconnection event being called before the reference to the instance was created barelyprofessional 2024-06-17 19:22:04 +08:00
  • ec6c050e23 Added Twitch PubSub support. Heavily ripped off code from GambaSesh though rewrote it to use Websocket.Client and will refactor the JSON parsing once I know exactly what the payload looks like. Presently untested. Also added a new config option to suppress messages, so one can run a local copy of the bot without disturbing anyone and made the Proxy a single config rather than having one for KF and one for Pusher. barelyprofessional 2024-06-17 19:10:52 +08:00