Commit Graph

  • 4b598cadbf DB: Add fields for ping settings Jan Groß 2023-04-05 15:23:42 +02:00
  • c5ab964cef API: Add type filter to most-recent-drop otherwise claims would break the output Jan Groß 2023-04-05 13:07:20 +02:00
  • f1e01f2a9f API: Add experimental Json API in preparation for external healthchecks and the admin backend. We define a couple test routes: Jan Groß 2023-04-05 12:00:46 +02:00
  • fdf5a4074b Wishlist: Implement Patreon perks for wishlist slots Jan Groß 2023-04-03 17:16:23 +02:00
  • c48aa8b34f Docs: Add docs to collection command Jan Groß 2023-04-03 15:30:38 +02:00
  • 3ac10c6e24 Docs: Add docs for collection and view commands Jan Groß 2023-04-03 15:23:14 +02:00
  • 46f2bc377f Custom: Prevent dropping and burning of custom cards Minzkraut 2023-04-01 15:26:02 +02:00
  • 35917db0d0 Lib: Update discord.js to 14.8 to include the fix from https://github.com/discordjs/discord.js/pull/9203 Minzkraut 2023-04-01 14:28:44 +02:00
  • 793119dfc9 Wishlist: Fix TypeError on initial wishlist creation On creation Characters are not included. Since a new wishlist is empty anyway, we attach an empty array manually. Jan Groß 2023-03-16 00:59:59 +01:00
  • 7bb02e2d3d Drop: Revert change that limited drops to specific IDs This was meant to be removed after debugging, oops Jan Groß 2023-03-16 00:37:20 +01:00
  • 92807bc4db Drop: Add wishlist pings to drops Jan Groß 2023-03-16 00:30:38 +01:00
  • ce55b1b45a Debug: Add wishlist debug command Jan Groß 2023-03-16 00:30:21 +01:00
  • 77e09ca5ce Wishlist: Add model and command Jan Groß 2023-03-16 00:29:53 +01:00
  • b8db85e71c Wishlist: Command boilerplate Jan Groß 2023-03-15 15:31:02 +01:00
  • b8ffa9fd94 Drop: Fix for patreon perks not applying same as in 3d1ed01 We also move up the action handler hoping that persisting early helps with multiple drops happening quickly Jan Groß 2023-03-15 11:23:58 +01:00
  • 4a9450e82e Register: Add default values for nextDrop/Claim/Daily Since we changed the datatype to TIMESTAMP we no longer have DB native default values therefore we supply them on register. Jan Groß 2023-03-14 16:08:04 +01:00
  • 0f4b23b4ab Fix registration check causing duplicate acks Registration reminders are now sent as a unique message. We also no longer perform a registration check on autocomplete requests Jan Groß 2023-03-14 16:06:25 +01:00
  • 3d1ed01bcb Cooldowns: Fix for patreon perks not applying if cooldown resets are trigered by a drop. The tier parameter wasn't passed from within thedrop command. We should probably move the tier fetch logic into getCooldown. Jan Groß 2023-03-14 10:52:58 +01:00
  • cecc9c4c9d Claim: Fix wrong user passed to actionHandler Jan Groß 2023-03-13 16:57:40 +01:00
  • 646ef11abd Cooldown: Use Discord countdown tags for cooldowns Closes #37 Jan Groß 2023-03-13 16:22:07 +01:00
  • a096d288f6 Drop: Revert permission threshold change to restore cooldown bypass for admins Jan Groß 2023-03-13 16:07:42 +01:00
  • 31bb2512ec Debug: Allow patreon debug with optional extUser Jan Groß 2023-03-13 14:41:46 +01:00
  • 22b712b0f0 CONSTANTS: Update modifiers to match tier descriptions Jan Groß 2023-03-13 14:40:06 +01:00
  • 3a63d04af5 Daily: Implement daily rewards command Jan Groß 2023-03-13 12:37:44 +01:00
  • acc3f1319f CONSTANTS: Fix tier 1 claim/drop mix-up Minzkraut 2023-03-13 03:50:07 +01:00
  • a2883732ca Debug: Fix claim reset key Minzkraut 2023-03-13 03:43:34 +01:00
  • 147cb1553d Cooldowns: Add support for new Patreon multi drops/pickups Also include <t:> timestamp for Daily reset date Minzkraut 2023-03-13 03:31:20 +01:00
  • da78623a05 Drop: Add Patreon muti drop/pickup support Minzkraut 2023-03-13 03:30:56 +01:00
  • b4dda4b49f UserUtil: Add support for Patreon multi drop/pickup Instead of setCooldown we now use the actionHandler to process drops and pickups. Minzkraut 2023-03-13 03:28:35 +01:00
  • 89448d01cb DB: Rename Bots column pullTimeout to claimTimeout Minzkraut 2023-03-13 03:26:57 +01:00
  • 397ebde3e5 UserUtil: Add getPatreonPerks helper and patreon debug command. Minzkraut 2023-03-12 20:35:14 +01:00
  • 25aa6b50d6 CONST: Fix patreon tier constants Whale tier (5) had the wrong index and the object was never actually exported. Minzkraut 2023-03-12 19:14:24 +01:00
  • cb01327c7d DB: Change patreonTierRoles column to type STRING Minzkraut 2023-03-12 17:41:21 +01:00
  • 0ea1cfe759 Add patreon tier configs to constants Minzkraut 2023-03-09 23:33:21 +01:00
  • 0af9038b6e DB: Add and migrate columns in preparation for patreon perks Renaming nextDrop/Pull required a bit of a hack resulting in it no longer having a default value. Minzkraut 2023-03-09 23:29:46 +01:00
  • 4c4a581a03 Collection: Fix username not showing as the title FIXME: Find a better way to pass usernames. Jan Groß 2023-03-09 13:10:04 +01:00
  • a12c0a8211 Profile: (Amend) Fix replace/encode order of custom status Replacement happened before encoding, causing the entire status string to be encoded, including the SVG tags themselves. Jan Groß 2023-03-09 12:20:28 +01:00
  • af017bf125 Profile: encode special XML characters in usernames and descriptions this fixes the problem of profiles not rendering when a user has special characters such as < or > in their name or status. We didn't implement proper sanitization considering this method of profile rendering is going to be obsolete soon. Jan Groß 2023-03-09 12:14:49 +01:00
  • c93ffee69c Drop: Increase timeout to a minute Jan Groß 2023-03-09 10:05:36 +01:00
  • bb6f9e7d3f Badges: Add view/list commands and search util Minzkraut 2023-02-27 01:57:26 +01:00
  • 06575d280f DB: Add models and migration for badges Minzkraut 2023-02-27 01:56:44 +01:00
  • 1a5e7c1b62 View: Move search code into separate Util module Minzkraut 2023-02-26 18:20:50 +01:00
  • bb9ffd6b43 View: Allow searching cards by character name Minzkraut 2023-02-26 16:50:39 +01:00
  • 4e98d744ce Assets: New card cover Minzkraut 2023-02-26 16:24:42 +01:00
  • 51f8d03a69 Collection: Fix total count when grouping dupes using array length if group is true. Fixes #47 Minzkraut 2023-02-26 14:49:59 +01:00
  • 1dde3a0a8c DB: Add auto_increment to Characters and Groups starting at a very high ID because I was too lazy to migrate existing data as it is referenced in json blobs. Part of Issue #43 Minzkraut 2023-02-25 01:55:27 +01:00
  • 765e63b90e Generalize labels and options Minzkraut 2023-02-25 00:26:04 +01:00
  • 50da918be5 NPM: Update to fix sequelize vulnerabilities Dependabot alerts: 3,4,5,7 Minzkraut 2023-02-24 20:52:14 +01:00
  • 3b67c140af DB: Generalize table and model names Minzkraut 2023-02-24 20:46:47 +01:00
  • 9661c65b27 Collection: Add options to filter by name,band and quality Minzkraut 2023-01-19 23:57:04 +01:00
  • 98d4f5c2ac Edit: Use unique interaction IDs for each edit action Resolves #30 where follow up edits would fail if previous modals have been canceled/dismissed Jan Groß 2023-01-16 17:05:58 +01:00
  • 1548ecf73b Collection: Only allow the initator to use the components Fixes #40 Jan Groß 2023-01-16 12:55:28 +01:00
  • f38b6abe19 View: Omit empty components prop for non-elevated users Fixes #39 Jan Groß 2023-01-12 15:06:56 +01:00
  • 692904d462 Trade: Add tradehistories table and create rows at the end of each trade. Both users traded cards are logged. Jan Groß 2023-01-12 14:43:06 +01:00
  • 2ef1dfe7a7 Trade: Persist trades in the database using atomic transactions. If a card happens to not be owned by the trading user, the entire trade is being rolled back. Rollback behaviour is a bit weird though, since we have to rollback manually even in a managed transaction. Minzkraut 2023-01-02 22:49:46 +01:00
  • 95c3f41fde Trade: Properly handle trade cancellation and timeouts - Trade finishing states are now handled properly. - Deferring cancel button press - A user is on a 2 minute cooldown after a trade finishes or cancels if he is the one who initiated it. - Updated emote IDs Minzkraut 2023-01-02 21:04:24 +01:00
  • d0535e06ad Docker: Restart mysql container unless stopped Minzkraut 2023-01-02 19:26:25 +01:00
  • c29c018bba Register: Always defer and update replies Minzkraut 2023-01-02 19:25:36 +01:00
  • c866bc08eb Trade: Add TradeStore and trade flow Adding a TradeStore to keep track of active trades and their states. Also implements the core trade flow and embed logic. Jan Groß 2022-11-23 17:35:29 +01:00
  • 78fe0857e8 CardUtils: Add helper to get one-line formatted card info Jan Groß 2022-11-23 17:34:01 +01:00
  • 42797eb90e [WIP] Trading and TradingStore implementation 1 Jan Groß 2022-11-22 17:15:48 +01:00
  • 5be326d56a Added permission levels to all commands Jan Groß 2022-09-29 11:23:15 +02:00
  • 07b48087b4 Help: Add very basic help command Jan Groß 2022-09-29 11:19:16 +02:00
  • cf159c43bc Docker: Make DB port changeable via .env Jan Groß 2022-09-26 16:21:43 +02:00
  • e72b098dab Docker: Always run migrations on compose up Jan Groß 2022-09-26 16:18:42 +02:00
  • b5d2b68294 Stats/View: Add wallet stats and shiny emote to card views Jan Groß 2022-09-26 16:15:20 +02:00
  • 16bb46403b Burn: Added card burning for notes and gems Jan Groß 2022-09-26 16:09:23 +02:00
  • bbbcaaaf29 User/Debug/Profile: Add primary and secondary currency Jan Groß 2022-09-26 13:15:40 +02:00
  • d8905a279a Drop: Added icons if drop contains FPs or shiny cards as well as the droppers name Jan Groß 2022-09-26 12:22:53 +02:00
  • a49a478972 History: Add currency and XP tracking Jan Groß 2022-09-21 17:16:10 +02:00
  • dcd05322ca Merge pull request #31 from JanGross/dependabot/npm_and_yarn/moment-timezone-0.5.37 Minzkraut 2022-09-21 14:19:56 +02:00
  • 9054649d0c Bump moment-timezone from 0.5.34 to 0.5.37 dependabot[bot] 2022-09-21 12:18:47 +00:00
  • c8fb87dc70 View: Handle empty or invalid card IDs. Fixes #24 Jan Groß 2022-09-21 13:41:56 +02:00
  • dcb7e334e2 History: Add details to drop history and split by type that being 0 for drops and 1 for claims. Fixes #16 Jan Groß 2022-09-21 13:35:43 +02:00
  • f021234e45 Profile: Add initial default customStatus and allow empty values Fixes #20 Jan Groß 2022-09-21 12:49:21 +02:00
  • deee1bf0c4 Collection: Fix empty collection message not showing up Fixes #4 Jan Groß 2022-09-21 12:29:12 +02:00
  • 73fb84c33d Debug: Defer all debug replies and lock clear_cards in production Jan Groß 2022-09-21 12:22:34 +02:00
  • 767f5bb761 Stats: Use sourced constants for quality names Jan Groß 2022-09-21 12:13:35 +02:00
  • 4d97215891 Drop: Fix cooldown formatting (fixes #15) Formatted cooldown strings are now properly pluralized trimmed for zero values and also include seconds. Jan Groß 2022-09-21 11:51:58 +02:00
  • f0a0bef7e9 Drop: Always defer drop replies Jan Groß 2022-09-21 11:50:45 +02:00
  • 73a2df6e74 Drop: Select quality of cards based on drop rates Jan Groß 2022-09-21 11:17:11 +02:00
  • fc45908419 Add maintenance mode Jan Groß 2022-09-19 09:02:42 +02:00
  • 0afedc86e5 View/Edit: Add option to direct edit from character views Minzkraut 2022-09-18 01:21:10 +02:00
  • 60f4c51353 View: Add mixed view with autocomplete for cards and characters Minzkraut 2022-09-18 00:49:30 +02:00
  • f211f4976f Cleanup some unused debug commands and arguments Minzkraut 2022-09-16 23:08:50 +02:00
  • a55ce1b5ff Edit: Fix path sanitization. Spaces are being replaced with underscores Minzkraut 2022-09-15 22:23:30 +02:00
  • 820ed99021 Edit: Add command to edit existing records. This currently requires global admin permissions. Each edit gets persisted in the history table. Jan Groß 2022-09-14 18:25:31 +02:00
  • 826834ebab History: Add record history table Jan Groß 2022-09-14 18:24:10 +02:00
  • 1d4ec09bf8 Collection: Add duplicate grouping Jan Groß 2022-09-14 14:02:39 +02:00
  • 83947eeafd Drop: Hightlight first prints and shiny cards in claim messages Jan Groß 2022-09-14 09:27:25 +02:00
  • 055be119cc Profile: Show rendering gif placeholder instead of thinking text while the profile is being rendered in the background. Minzkraut 2022-09-13 00:28:14 +02:00
  • 54aee7624b Profile: Use sharp to prerender the profile background including the user image. Also introduces axios as a dependency Minzkraut 2022-09-13 00:18:30 +02:00
  • 494f574048 Profile: Fix call to refactored getLevel function it is now user.level().currentLevel Minzkraut 2022-09-12 23:03:30 +02:00
  • d8c18f8b01 User: Fix wrong rounding on level calculation we have to floor it, otherwise we're always one level ahead Minzkraut 2022-09-12 22:22:15 +02:00
  • af3f1237c6 Stats: Add stats command to show a users data like cards owned, level progression and date registered Minzkraut 2022-09-12 22:18:53 +02:00
  • 465f1f3221 Profile: Handle uninitialized customStatus rendering Minzkraut 2022-09-12 20:51:56 +02:00
  • 7786c84ea7 Profile: Render custom status on profile images A new line is added after each whitespace following each 40th+ character Jan Groß 2022-09-12 13:41:45 +02:00
  • c5fddd12cf Profile: Allow editing of customStatus using the editprofile command Editprofile itself now shows buttons to select different subcommands. Jan Groß 2022-09-12 13:39:06 +02:00
  • 5ea33b21a0 Profile: Fix discordUser object being of type member if we view our own profile Jan Groß 2022-09-12 10:31:46 +02:00
  • dc9502057d Profile: Add parameter to view some else's profile Minzkraut 2022-09-12 04:12:07 +02:00