From 044946022ae63497e5a739fa2b848413a7d9c676 Mon Sep 17 00:00:00 2001 From: "Ralph S. (Coolguy3289)" Date: Fri, 14 Aug 2020 11:24:33 -0400 Subject: [PATCH] Create abandonall command, needs finished refactor --- src/commands/admin/abandonall.js | 39 ++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/commands/admin/abandonall.js diff --git a/src/commands/admin/abandonall.js b/src/commands/admin/abandonall.js new file mode 100644 index 0000000..2c95a76 --- /dev/null +++ b/src/commands/admin/abandonall.js @@ -0,0 +1,39 @@ +const Command = require('../../structures/Command'); +const Util = require('../../util'); + +module.exports = class AbaondonAll extends Command { + get name() { return 'abandonall'; } + + get _options() { return { + aliases: ['abanall', 'dropall'], + permissions: ['Admin'], + minimumArgs: 0 + }; } +//@TODO: Refactor this command for all abandons. + async exec(message, { args }) { + const givenClaim = args[0]; + if (!/^[a-f0-9]{40}$/.test(givenClaim)) + // @TODO use claim_search for invalid claim ids + return message.channel.createMessage('That Claim ID isn\'t valid.'); + + const account = await Util.LBRY.findOrCreateAccount(this.client, message.author.id); + if (account.newAccount) { + // Wait for the blockchain to complete the funding + await message.channel.sendTyping(); + await Util.halt(3000); + } + // Create support + const response = await this.client.lbry.abandonSupport({ + accountID: account.accountID, claimID: givenClaim}); + const transaction = await response.json(); + if (await this.handleResponse(message, response, transaction)) return; + const txid = transaction.result.txid; + message.channel.createMessage(`Abandon successful! https://explorer.lbry.com/tx/${txid}`); + } + + get metadata() { return { + category: 'Curator', + description: 'Abandons all supports of the bot or of a given account.', + usage: '[id|@mention]' + }; } +};