MCPcopy Index your code
hub / github.com/codebymitch/TitanBot / execute

Function execute

src/handlers/wipedataButtons.js:8–121  ·  view source on GitHub ↗
(interaction, client)

Source from the content-addressed store, hash-verified

6const wipedataConfirmHandler = {
7 name: 'wipedata_yes',
8 async execute(interaction, client) {
9 try {
10 const deferSuccess = await InteractionHelper.safeDefer(interaction, { flags: MessageFlags.Ephemeral });
11 if (!deferSuccess) return;
12
13 const userId = interaction.user.id;
14 const guildId = interaction.guildId;
15
16 const dataKeyPatterns = [
17 `economy:${guildId}:${userId}`,
18 `level:${guildId}:${userId}`,
19 `xp:${guildId}:${userId}`,
20 `inventory:${guildId}:${userId}`,
21 `bank:${guildId}:${userId}`,
22 `wallet:${guildId}:${userId}`,
23 `cooldowns:${guildId}:${userId}`,
24 `shop:${guildId}:${userId}`,
25 `shop_data:${guildId}:${userId}`,
26 `counter:${guildId}:${userId}`,
27 `birthday:${guildId}:${userId}`,
28 `balance:${guildId}:${userId}`,
29 `user:${guildId}:${userId}`,
30 `leveling:${guildId}:${userId}`,
31 `crimexp:${guildId}:${userId}`,
32 `robxp:${guildId}:${userId}`,
33 `crime_cooldown:${guildId}:${userId}`,
34 `rob_cooldown:${guildId}:${userId}`,
35 `lastDaily:${guildId}:${userId}`,
36 `lastWork:${guildId}:${userId}`,
37 `lastCrime:${guildId}:${userId}`,
38 `lastRob:${guildId}:${userId}`,
39 ];
40
41 let deletedCount = 0;
42 const deleteErrors = [];
43
44 for (const key of dataKeyPatterns) {
45 try {
46 const exists = await client.db.exists(key);
47 if (exists) {
48 await client.db.delete(key);
49 deletedCount++;
50 }
51 } catch (error) {
52 logger.error(`Error deleting key ${key}:`, error);
53 deleteErrors.push(key);
54 }
55 }
56
57 try {
58 if (client.db.list && typeof client.db.list === 'function') {
59 const searchPrefixes = [
60 `${guildId}:${userId}`,
61 `${guildId}:`,
62 `economy:${guildId}:`,
63 `level:${guildId}:`,
64 `xp:${guildId}:`,
65 `user:${guildId}:`

Callers

nothing calls this directly

Calls 7

successEmbedFunction · 0.90
createEmbedFunction · 0.90
replyUserErrorFunction · 0.85
safeDeferMethod · 0.80
existsMethod · 0.45
deleteMethod · 0.45
listMethod · 0.45

Tested by

no test coverage detected