@sapphire/discord.js-utilities
Advanced tools
Comparing version 1.4.4 to 1.5.0
@@ -6,2 +6,8 @@ # Change Log | ||
# [1.5.0](https://github.com/sapphire-project/utilities/compare/@sapphire/discord.js-utilities@1.4.4...@sapphire/discord.js-utilities@1.5.0) (2021-02-22) | ||
### Features | ||
- **discord.js-utilities:** add MessagePrompter ([#59](https://github.com/sapphire-project/utilities/issues/59)) ([d120d95](https://github.com/sapphire-project/utilities/commit/d120d950869b8a712e54221efe28d783443bd194)) | ||
## [1.4.4](https://github.com/sapphire-project/utilities/compare/@sapphire/discord.js-utilities@1.4.3...@sapphire/discord.js-utilities@1.4.4) (2021-02-18) | ||
@@ -8,0 +14,0 @@ |
export * from '@sapphire/discord-utilities'; | ||
export * from './lib/builders/MessageBuilder'; | ||
export * from './lib/LazyPaginatedMessage'; | ||
export * from './lib/MessagePrompter'; | ||
export * from './lib/PaginatedMessage'; | ||
export * from './lib/type-guards'; | ||
//# sourceMappingURL=index.d.ts.map |
@@ -1,2 +0,2 @@ | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@sapphire/discord-utilities"),t=require("discord.js");class MessageBuilder{constructor(e){var t,s,i,n,a,r,l,o;Object.defineProperty(this,"tts",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"nonce",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"content",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"embed",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"allowedMentions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"files",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"split",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.tts=null!==(t=null==e?void 0:e.tts)&&void 0!==t?t:MessageBuilder.defaults.tts,this.nonce=null!==(s=null==e?void 0:e.nonce)&&void 0!==s?s:MessageBuilder.defaults.nonce,this.content=null!==(i=null==e?void 0:e.content)&&void 0!==i?i:MessageBuilder.defaults.content,this.embed=null!==(n=null==e?void 0:e.embed)&&void 0!==n?n:MessageBuilder.defaults.embed,this.allowedMentions=null!==(a=null==e?void 0:e.allowedMentions)&&void 0!==a?a:MessageBuilder.defaults.allowedMentions,this.files=null!==(r=null==e?void 0:e.files)&&void 0!==r?r:MessageBuilder.defaults.files,this.code=null!==(l=null==e?void 0:e.code)&&void 0!==l?l:MessageBuilder.defaults.code,this.split=null!==(o=null==e?void 0:e.split)&&void 0!==o?o:MessageBuilder.defaults.split}setTTS(e){return this.tts=e,this}setNonce(e){return this.nonce=e,this}setContent(e){return this.content=e,this}setEmbed(e){return this.embed=e,this}setAllowedMentions(e){return this.allowedMentions=e,this}addFile(e){var t,s;return this.files=null!==(s=null===(t=this.files)||void 0===t?void 0:t.concat(e))&&void 0!==s?s:[e],this}setFile(e){return this.files=[e],this}setFiles(e){return this.files=e,this}setCode(e){return this.code=e,this}setSplit(e){return this.split=e,this}}Object.defineProperty(MessageBuilder,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{}});class PaginatedMessage{constructor({pages:e,actions:s}={}){Object.defineProperty(this,"pages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"response",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"collector",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"messages",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"actions",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"index",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"idle",{enumerable:!0,configurable:!0,writable:!0,value:2e4}),this.pages=null!=e?e:[];for(const e of this.pages)this.messages.push(e instanceof t.APIMessage?e:null);for(const e of null!=s?s:this.constructor.defaultActions)this.actions.set(e.id,e)}setIndex(e){return this.index=e,this}setIdle(e){return this.idle=e,this}setActions(e){return this.actions.clear(),this.addActions(e)}addActions(e){for(const t of e)this.addAction(t);return this}addAction(e){return this.actions.set(e.id,e),this}hasPage(e){return e>=0&&e<this.pages.length}setPages(e){return this.pages=[],this.messages=[],this.addPages(e),this}addPage(e){return this.pages.push(e),this.messages.push(e instanceof t.APIMessage?e:null),this}addPages(e){for(const t of e)this.addPage(t);return this}async run(e,t){if(await this.resolvePagesOnRun(t),!this.messages.length)throw new Error("There are no messages.");if(!this.actions.size)throw new Error("There are no messages.");return await this.setUpMessage(t,e),await this.setUpReactions(t,e),this}async resolvePagesOnRun(e){for(let t=0;t<this.pages.length;t++)await this.resolvePage(e,t)}async resolvePage(e,t){const s=this.messages[t];if(null!==s)return s;const i=await this.handlePageLoad(this.pages[t],e,t);return this.messages[t]=i,i}clone(){const e=new this.constructor({pages:this.pages,actions:[]}).setIndex(this.index).setIdle(this.idle);return e.actions=this.actions,e.response=this.response,e}async setUpMessage(e){const t=this.messages[this.index];this.response?await this.response.edit(t):this.response=await e.send(t)}async setUpReactions(e,t){this.collector=this.response.createReactionCollector(((e,s)=>s.id===t.id&&(this.actions.has(e.emoji.identifier)||this.actions.has(e.emoji.name))),{idle:this.idle}).on("collect",this.handleCollect.bind(this,t,e)).on("end",this.handleEnd.bind(this));for(const e of this.actions.keys()){if(this.collector.ended)break;await this.response.react(e)}}async handlePageLoad(e,s,i){const n="function"==typeof e?await e(i,this.pages,this):e;return(n instanceof t.APIMessage?n:new t.APIMessage(s,n)).resolveData()}async handleCollect(e,t,s,i){var n,a;await s.users.remove(i);const r=null!==(n=this.actions.get(s.emoji.identifier))&&void 0!==n?n:this.actions.get(s.emoji.name),l=this.index;await r.run({handler:this,author:e,channel:t,response:this.response,collector:this.collector}),l!==this.index&&await(null===(a=this.response)||void 0===a?void 0:a.edit(await this.resolvePage(t,this.index)))}async handleEnd(e){var t;null===(t=this.collector)||void 0===t||t.removeAllListeners(),this.response&&!PaginatedMessage.deletionStopReasons.includes(e)&&await this.response.reactions.removeAll()}}Object.defineProperty(PaginatedMessage,"defaultActions",{enumerable:!0,configurable:!0,writable:!0,value:[{id:"🔢",run:async({handler:e,author:t,channel:s})=>{const i=await s.send("What page would you like to jump to?"),n=await s.awaitMessages((e=>e.author.id===t.id),{max:1,idle:15e3}).catch((()=>null));if(n){const t=n.first();if(i.deletable&&await i.delete(),t){t.deletable&&await t.delete();const s=Number(t.content)-1;!Number.isNaN(s)&&e.hasPage(s)&&(e.index=s)}}}},{id:"⏪",run:({handler:e})=>e.index=0},{id:"◀️",run:({handler:e})=>{0===e.index?e.index=e.pages.length-1:--e.index}},{id:"▶️",run:({handler:e})=>{e.index===e.pages.length-1?e.index=0:++e.index}},{id:"⏩",run:({handler:e})=>e.index=e.pages.length-1},{id:"⏹️",run:async({response:e,collector:t})=>{await e.reactions.removeAll(),t.stop()}}]}),Object.defineProperty(PaginatedMessage,"deletionStopReasons",{enumerable:!0,configurable:!0,writable:!0,value:["messageDelete","channelDelete","guildDelete"]});exports.LazyPaginatedMessage=class LazyPaginatedMessage extends PaginatedMessage{async resolvePagesOnRun(e){await this.resolvePage(e,this.index)}async resolvePage(e,t){const s=[super.resolvePage(e,t)];this.hasPage(t-1)&&s.push(super.resolvePage(e,t-1)),this.hasPage(t+1)&&s.push(super.resolvePage(e,t+1));const[i]=await Promise.all(s);return i}},exports.MessageBuilder=MessageBuilder,exports.PaginatedMessage=PaginatedMessage,exports.isCategoryChannel=function isCategoryChannel(e){return"category"===e.type},exports.isDMChannel=function isDMChannel(e){return"dm"===e.type},exports.isGroupChannel=function isGroupChannel(e){return"group"===e.type},exports.isGuildBasedChannel=function isGuildBasedChannel(e){return"dm"!==e.type&&"group"!==e.type&&"unknown"!==e.type},exports.isNewsChannel=function isNewsChannel(e){return"news"===e.type},exports.isStoreChannel=function isStoreChannel(e){return"store"===e.type},exports.isTextChannel=function isTextChannel(e){return"text"===e.type},exports.isVoiceChannel=function isVoiceChannel(e){return"voice"===e.type},Object.keys(e).forEach((function(t){"default"===t||exports.hasOwnProperty(t)||Object.defineProperty(exports,t,{enumerable:!0,get:function(){return e[t]}})})); | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("@sapphire/discord-utilities"),s=require("discord.js");class MessageBuilder{constructor(e){var t,s,i,r,a,n,o,l;Object.defineProperty(this,"tts",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"nonce",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"content",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"embed",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"allowedMentions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"files",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"split",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.tts=null!==(t=null==e?void 0:e.tts)&&void 0!==t?t:MessageBuilder.defaults.tts,this.nonce=null!==(s=null==e?void 0:e.nonce)&&void 0!==s?s:MessageBuilder.defaults.nonce,this.content=null!==(i=null==e?void 0:e.content)&&void 0!==i?i:MessageBuilder.defaults.content,this.embed=null!==(r=null==e?void 0:e.embed)&&void 0!==r?r:MessageBuilder.defaults.embed,this.allowedMentions=null!==(a=null==e?void 0:e.allowedMentions)&&void 0!==a?a:MessageBuilder.defaults.allowedMentions,this.files=null!==(n=null==e?void 0:e.files)&&void 0!==n?n:MessageBuilder.defaults.files,this.code=null!==(o=null==e?void 0:e.code)&&void 0!==o?o:MessageBuilder.defaults.code,this.split=null!==(l=null==e?void 0:e.split)&&void 0!==l?l:MessageBuilder.defaults.split}setTTS(e){return this.tts=e,this}setNonce(e){return this.nonce=e,this}setContent(e){return this.content=e,this}setEmbed(e){return this.embed=e,this}setAllowedMentions(e){return this.allowedMentions=e,this}addFile(e){var t,s;return this.files=null!==(s=null===(t=this.files)||void 0===t?void 0:t.concat(e))&&void 0!==s?s:[e],this}setFile(e){return this.files=[e],this}setFiles(e){return this.files=e,this}setCode(e){return this.code=e,this}setSplit(e){return this.split=e,this}}Object.defineProperty(MessageBuilder,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{}});class PaginatedMessage{constructor({pages:e,actions:t}={}){Object.defineProperty(this,"pages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"response",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"collector",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"messages",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"actions",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"index",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"idle",{enumerable:!0,configurable:!0,writable:!0,value:2e4}),this.pages=null!=e?e:[];for(const e of this.pages)this.messages.push(e instanceof s.APIMessage?e:null);for(const e of null!=t?t:this.constructor.defaultActions)this.actions.set(e.id,e)}setIndex(e){return this.index=e,this}setIdle(e){return this.idle=e,this}setActions(e){return this.actions.clear(),this.addActions(e)}addActions(e){for(const t of e)this.addAction(t);return this}addAction(e){return this.actions.set(e.id,e),this}hasPage(e){return e>=0&&e<this.pages.length}setPages(e){return this.pages=[],this.messages=[],this.addPages(e),this}addPage(e){return this.pages.push(e),this.messages.push(e instanceof s.APIMessage?e:null),this}addPages(e){for(const t of e)this.addPage(t);return this}async run(e,t){if(await this.resolvePagesOnRun(t),!this.messages.length)throw new Error("There are no messages.");if(!this.actions.size)throw new Error("There are no messages.");return await this.setUpMessage(t,e),await this.setUpReactions(t,e),this}async resolvePagesOnRun(e){for(let t=0;t<this.pages.length;t++)await this.resolvePage(e,t)}async resolvePage(e,t){const s=this.messages[t];if(null!==s)return s;const i=await this.handlePageLoad(this.pages[t],e,t);return this.messages[t]=i,i}clone(){const e=new this.constructor({pages:this.pages,actions:[]}).setIndex(this.index).setIdle(this.idle);return e.actions=this.actions,e.response=this.response,e}async setUpMessage(e){const t=this.messages[this.index];this.response?await this.response.edit(t):this.response=await e.send(t)}async setUpReactions(e,t){this.collector=this.response.createReactionCollector(((e,s)=>s.id===t.id&&(this.actions.has(e.emoji.identifier)||this.actions.has(e.emoji.name))),{idle:this.idle}).on("collect",this.handleCollect.bind(this,t,e)).on("end",this.handleEnd.bind(this));for(const e of this.actions.keys()){if(this.collector.ended)break;await this.response.react(e)}}async handlePageLoad(e,t,i){const r="function"==typeof e?await e(i,this.pages,this):e;return(r instanceof s.APIMessage?r:new s.APIMessage(t,r)).resolveData()}async handleCollect(e,t,s,i){var r,a;await s.users.remove(i);const n=null!==(r=this.actions.get(s.emoji.identifier))&&void 0!==r?r:this.actions.get(s.emoji.name),o=this.index;await n.run({handler:this,author:e,channel:t,response:this.response,collector:this.collector}),o!==this.index&&await(null===(a=this.response)||void 0===a?void 0:a.edit(await this.resolvePage(t,this.index)))}async handleEnd(e){var t;null===(t=this.collector)||void 0===t||t.removeAllListeners(),this.response&&!PaginatedMessage.deletionStopReasons.includes(e)&&await this.response.reactions.removeAll()}}Object.defineProperty(PaginatedMessage,"defaultActions",{enumerable:!0,configurable:!0,writable:!0,value:[{id:"🔢",run:async({handler:e,author:t,channel:s})=>{const i=await s.send("What page would you like to jump to?"),r=await s.awaitMessages((e=>e.author.id===t.id),{max:1,idle:15e3}).catch((()=>null));if(r){const t=r.first();if(i.deletable&&await i.delete(),t){t.deletable&&await t.delete();const s=Number(t.content)-1;!Number.isNaN(s)&&e.hasPage(s)&&(e.index=s)}}}},{id:"⏪",run:({handler:e})=>e.index=0},{id:"◀️",run:({handler:e})=>{0===e.index?e.index=e.pages.length-1:--e.index}},{id:"▶️",run:({handler:e})=>{e.index===e.pages.length-1?e.index=0:++e.index}},{id:"⏩",run:({handler:e})=>e.index=e.pages.length-1},{id:"⏹️",run:async({response:e,collector:t})=>{await e.reactions.removeAll(),t.stop()}}]}),Object.defineProperty(PaginatedMessage,"deletionStopReasons",{enumerable:!0,configurable:!0,writable:!0,value:["messageDelete","channelDelete","guildDelete"]});exports.MessagePrompterStrategies=void 0,(e=exports.MessagePrompterStrategies||(exports.MessagePrompterStrategies={})).Confirm="confirm",e.Number="number",e.Message="message",e.Reaction="reaction";class MessagePrompterBaseStrategy{constructor(e,t,s){var i,r;Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"explicitReturn",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"appliedMessage",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"message",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.type=e,this.timeout=null!==(i=null==s?void 0:s.timeout)&&void 0!==i?i:MessagePrompterBaseStrategy.defaultStrategyOptions.timeout,this.explicitReturn=null!==(r=null==s?void 0:s.explicitReturn)&&void 0!==r?r:MessagePrompterBaseStrategy.defaultStrategyOptions.explicitReturn,this.message=t}async collectReactions(e,t,s){this.appliedMessage=await e.send(this.message);const i=this.appliedMessage.createReactionCollector(this.createReactionPromptFilter(s,t),{max:1,time:this.timeout});let r=!1;const a=new Promise(((e,t)=>{i.on("collect",(t=>{e(t),r=!0,i.stop()})),i.on("end",(e=>{r=!0,e.size||t(new Error("Collector has ended"))}))}));for(const e of s){if(r)break;await this.appliedMessage.react(e)}const n=await a,o=null==n?void 0:n.emoji,l=s.find((e=>{var t;return(null!==(t=null==o?void 0:o.id)&&void 0!==t?t:null==o?void 0:o.name)===e}));return{emoji:o,reaction:l,strategy:this,appliedMessage:this.appliedMessage,message:this.message}}createReactionPromptFilter(e,t){return async(s,i)=>{var r;return e.includes(null!==(r=s.emoji.id)&&void 0!==r?r:s.emoji.name)&&("function"==typeof t?await t(s,i):i.id===t.id)&&!i.bot}}}Object.defineProperty(MessagePrompterBaseStrategy,"defaultStrategyOptions",{enumerable:!0,configurable:!0,writable:!0,value:{timeout:1e4,explicitReturn:!1}});class MessagePrompterConfirmStrategy extends MessagePrompterBaseStrategy{constructor(e,t){var s,i;super("confirm",e,t),Object.defineProperty(this,"confirmEmoji",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cancelEmoji",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.confirmEmoji=null!==(s=null==t?void 0:t.confirmEmoji)&&void 0!==s?s:MessagePrompterConfirmStrategy.confirmEmoji,this.cancelEmoji=null!==(i=null==t?void 0:t.cancelEmoji)&&void 0!==i?i:MessagePrompterConfirmStrategy.cancelEmoji}async run(e,t){var s,i,r;const a=await this.collectReactions(e,t,[this.confirmEmoji,this.cancelEmoji]),n=(null!==(i=null===(s=null==a?void 0:a.emoji)||void 0===s?void 0:s.id)&&void 0!==i?i:null===(r=null==a?void 0:a.emoji)||void 0===r?void 0:r.name)===MessagePrompterConfirmStrategy.confirmEmoji;return this.explicitReturn?{...a,confirmed:n}:n}}Object.defineProperty(MessagePrompterConfirmStrategy,"confirmEmoji",{enumerable:!0,configurable:!0,writable:!0,value:"🇾"}),Object.defineProperty(MessagePrompterConfirmStrategy,"cancelEmoji",{enumerable:!0,configurable:!0,writable:!0,value:"🇳"});class MessagePrompterMessageStrategy extends MessagePrompterBaseStrategy{constructor(e,t){super("message",e,t)}async run(e,t){this.appliedMessage=await e.send(this.message);const s=(await e.awaitMessages(this.createMessagePromptFilter(t),{max:1,time:this.timeout,errors:["time"]})).first();if(!s)throw new Error("No messages received");return this.explicitReturn?{response:s,strategy:this,appliedMessage:this.appliedMessage,message:this.message}:s}createMessagePromptFilter(e){return async t=>("function"==typeof e?await e(t):t.author.id===e.id)&&!t.author.bot}}class MessagePrompterNumberStrategy extends MessagePrompterBaseStrategy{constructor(e,t){var s,i,r;super("number",e,t),Object.defineProperty(this,"numberEmojis",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"start",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"end",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.numberEmojis=null!==(s=null==t?void 0:t.numberEmojis)&&void 0!==s?s:MessagePrompterNumberStrategy.numberEmojis,this.start=null!==(i=null==t?void 0:t.start)&&void 0!==i?i:0,this.end=null!==(r=null==t?void 0:t.end)&&void 0!==r?r:10}async run(e,t){if(this.start<0)throw new TypeError("Starting number cannot be less than 0.");if(this.end>10)throw new TypeError("Ending number cannot be more than 10.");const s=Array.from({length:this.end-this.start+1},((e,t)=>t+this.start)),i=this.numberEmojis.slice(this.start,this.end),r=await this.collectReactions(e,t,i),a=s[i.findIndex((e=>{var t,s,i;return(null!==(s=null===(t=null==r?void 0:r.emoji)||void 0===t?void 0:t.id)&&void 0!==s?s:null===(i=null==r?void 0:r.emoji)||void 0===i?void 0:i.name)===e}))];return this.explicitReturn?{...r,number:a}:a}}Object.defineProperty(MessagePrompterNumberStrategy,"numberEmojis",{enumerable:!0,configurable:!0,writable:!0,value:["0️⃣","1️⃣","2️⃣","3️⃣","4️⃣","5️⃣","6️⃣","7️⃣","8️⃣","9️⃣","🔟"]});class MessagePrompterReactionStrategy extends MessagePrompterBaseStrategy{constructor(e,t){super("reactions",e,t),Object.defineProperty(this,"reactions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.reactions=null==t?void 0:t.reactions}async run(e,t){var s,i;if(!(null===(s=this.reactions)||void 0===s?void 0:s.length))throw new TypeError("There are no reactions provided.");const r=await this.collectReactions(e,t,this.reactions);return this.explicitReturn?r:null!==(i=r.reaction)&&void 0!==i?i:r}}class MessagePrompter{constructor(e,t,s){let i;if(Object.defineProperty(this,"strategy",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),e instanceof MessagePrompterBaseStrategy)i=e;else{const r=MessagePrompter.strategies.get(null!=t?t:MessagePrompter.defaultStrategy);if(!r)throw new Error("No strategy provided");i=new r(e,s)}this.strategy=i}run(e,t){return this.strategy.run(e,t)}}Object.defineProperty(MessagePrompter,"strategies",{enumerable:!0,configurable:!0,writable:!0,value:new Map([["confirm",MessagePrompterConfirmStrategy],["number",MessagePrompterNumberStrategy],["reaction",MessagePrompterReactionStrategy],["message",MessagePrompterMessageStrategy]])}),Object.defineProperty(MessagePrompter,"defaultStrategy",{enumerable:!0,configurable:!0,writable:!0,value:"confirm"}),exports.LazyPaginatedMessage=class LazyPaginatedMessage extends PaginatedMessage{async resolvePagesOnRun(e){await this.resolvePage(e,this.index)}async resolvePage(e,t){const s=[super.resolvePage(e,t)];this.hasPage(t-1)&&s.push(super.resolvePage(e,t-1)),this.hasPage(t+1)&&s.push(super.resolvePage(e,t+1));const[i]=await Promise.all(s);return i}},exports.MessageBuilder=MessageBuilder,exports.MessagePrompter=MessagePrompter,exports.MessagePrompterBaseStrategy=MessagePrompterBaseStrategy,exports.MessagePrompterConfirmStrategy=MessagePrompterConfirmStrategy,exports.MessagePrompterMessageStrategy=MessagePrompterMessageStrategy,exports.MessagePrompterNumberStrategy=MessagePrompterNumberStrategy,exports.MessagePrompterReactionStrategy=MessagePrompterReactionStrategy,exports.PaginatedMessage=PaginatedMessage,exports.isCategoryChannel=function isCategoryChannel(e){return"category"===e.type},exports.isDMChannel=function isDMChannel(e){return"dm"===e.type},exports.isGroupChannel=function isGroupChannel(e){return"group"===e.type},exports.isGuildBasedChannel=function isGuildBasedChannel(e){return"dm"!==e.type&&"group"!==e.type&&"unknown"!==e.type},exports.isNewsChannel=function isNewsChannel(e){return"news"===e.type},exports.isStoreChannel=function isStoreChannel(e){return"store"===e.type},exports.isTextChannel=function isTextChannel(e){return"text"===e.type},exports.isVoiceChannel=function isVoiceChannel(e){return"voice"===e.type},Object.keys(t).forEach((function(e){"default"===e||exports.hasOwnProperty(e)||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return t[e]}})})); | ||
//# sourceMappingURL=index.js.map |
{ | ||
"name": "@sapphire/discord.js-utilities", | ||
"version": "1.4.4", | ||
"version": "1.5.0", | ||
"description": "Discord.js specific utilities for your JavaScript/TypeScript bots", | ||
@@ -58,3 +58,3 @@ "author": "@sapphire", | ||
}, | ||
"gitHead": "9578c01c987d213fba021e987d29612b17722f7a" | ||
"gitHead": "2a035e2f3746e86afaa9fb16a32663613089c184" | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
207993
38
875