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.
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
2023-03-16 00:37:20 +01:00
92807bc4db
Drop: Add wishlist pings to drops
2023-03-16 00:30:38 +01:00
ce55b1b45a
Debug: Add wishlist debug command
2023-03-16 00:30:21 +01:00
77e09ca5ce
Wishlist: Add model and command
2023-03-16 00:29:53 +01:00
b8db85e71c
Wishlist: Command boilerplate
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
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.
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
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.
2023-03-14 10:52:58 +01:00
cecc9c4c9d
Claim: Fix wrong user passed to actionHandler
2023-03-13 16:57:40 +01:00
646ef11abd
Cooldown: Use Discord countdown tags for cooldowns
...
Closes #37
2023-03-13 16:22:07 +01:00
a096d288f6
Drop: Revert permission threshold change
...
to restore cooldown bypass for admins
2023-03-13 16:07:42 +01:00
31bb2512ec
Debug: Allow patreon debug with optional extUser
2023-03-13 14:41:46 +01:00
22b712b0f0
CONSTANTS: Update modifiers to match tier descriptions
2023-03-13 14:40:06 +01:00
3a63d04af5
Daily: Implement daily rewards command
2023-03-13 12:37:44 +01:00
acc3f1319f
CONSTANTS: Fix tier 1 claim/drop mix-up
2023-03-13 03:50:07 +01:00
a2883732ca
Debug: Fix claim reset key
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
2023-03-13 03:31:20 +01:00
da78623a05
Drop: Add Patreon muti drop/pickup support
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.
2023-03-13 03:28:35 +01:00
89448d01cb
DB: Rename Bots column pullTimeout to claimTimeout
2023-03-13 03:26:57 +01:00
397ebde3e5
UserUtil: Add getPatreonPerks helper
...
and patreon debug command.
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.
2023-03-12 19:14:24 +01:00
cb01327c7d
DB: Change patreonTierRoles column to type STRING
2023-03-12 17:41:21 +01:00
0ea1cfe759
Add patreon tier configs to constants
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.
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.
2023-03-09 13:24:48 +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.
2023-03-09 12:25:48 +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.
2023-03-09 12:14:49 +01:00
c93ffee69c
Drop: Increase timeout to a minute
2023-03-09 10:05:36 +01:00
bb6f9e7d3f
Badges: Add view/list commands and search util
2023-02-27 01:57:26 +01:00
06575d280f
DB: Add models and migration for badges
2023-02-27 01:56:44 +01:00
1a5e7c1b62
View: Move search code into separate Util module
2023-02-26 18:20:50 +01:00
bb9ffd6b43
View: Allow searching cards by character name
2023-02-26 16:50:39 +01:00
4e98d744ce
Assets: New card cover
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
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
2023-02-25 01:55:27 +01:00
765e63b90e
Generalize labels and options
2023-02-25 00:26:04 +01:00
50da918be5
NPM: Update to fix sequelize vulnerabilities
...
Dependabot alerts: 3,4,5,7
2023-02-24 23:51:50 +01:00
3b67c140af
DB: Generalize table and model names
2023-02-24 23:51:32 +01:00
9661c65b27
Collection: Add options to filter by name,band and quality
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
2023-01-16 17:11:16 +01:00
1548ecf73b
Collection: Only allow the initator to use the components
...
Fixes #40
2023-01-16 12:55:28 +01:00
f38b6abe19
View: Omit empty components prop for non-elevated users
...
Fixes #39
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.
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.
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
2023-01-02 21:04:24 +01:00
d0535e06ad
Docker: Restart mysql container unless stopped
2023-01-02 19:26:25 +01:00
c29c018bba
Register: Always defer and update replies
2023-01-02 19:25:36 +01:00