Resolve LBRY URLs into claim IDs

This commit is contained in:
Snazzah 2020-09-19 04:42:42 -05:00
parent 8ecec7e455
commit e7ad2851cd
No known key found for this signature in database
GPG key ID: 5E71D54F3D86282E
3 changed files with 18 additions and 4 deletions

View file

@ -11,8 +11,8 @@ module.exports = class Abaondon extends Command {
}; }
async exec(message, { args }) {
const givenClaim = args[0];
if (!/^[a-f0-9]{40}$/.test(givenClaim))
const givenClaim = Util.resolveToClaimID(args[0]);
if (!givenClaim)
// @TODO use claim_search for invalid claim ids
return message.channel.createMessage('That Claim ID isn\'t valid.');

View file

@ -15,8 +15,8 @@ module.exports = class Support extends Command {
if (!givenAmount)
return message.channel.createMessage('The second argument must be a numeric amount of LBC to send!');
const givenClaim = args[0];
if (!/^[a-f0-9]{40}$/.test(givenClaim))
const givenClaim = Util.resolveToClaimID(args[0]);
if (!givenClaim)
// @TODO use claim_search for invalid claim ids
return message.channel.createMessage('That Claim ID isn\'t valid.');

View file

@ -150,6 +150,20 @@ Util.resolveToUserID = (arg) => {
else return null;
};
/**
* Resolve argument to a claim ID
* @memberof Util.
* @param {string} arg
* @returns {?string}
*/
Util.resolveToClaimID = (arg) => {
if (/^[a-f0-9]{40}$/.test(arg))
return arg;
else if (/^lbry:\/\/@?[\w-]+#([a-f0-9]{40})$/.test(arg))
return arg.replace(/^<@!?(\d{17,18})>$/, '$1');
else return null;
};
/**
* Make a promise that resolves after some time
* @memberof Util.