@magicyan/discord 1.0.13 → 1.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +56 -9
- package/dist/index.d.mts +56 -9
- package/dist/index.d.ts +56 -9
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const discord_js=require("discord.js"),core=require("@magicyan/core"),a=[discord_js.IntentsBitField.Flags.MessageContent,discord_js.IntentsBitField.Flags.GuildMessages,discord_js.IntentsBitField.Flags.GuildMessageReactions,discord_js.IntentsBitField.Flags.GuildMessageTyping,discord_js.IntentsBitField.Flags.DirectMessages,discord_js.IntentsBitField.Flags.DirectMessageReactions,discord_js.IntentsBitField.Flags.DirectMessageTyping],l=[discord_js.IntentsBitField.Flags.GuildEmojisAndStickers,discord_js.IntentsBitField.Flags.GuildIntegrations,discord_js.IntentsBitField.Flags.GuildInvites,discord_js.IntentsBitField.Flags.GuildMembers,discord_js.IntentsBitField.Flags.GuildMessageReactions,discord_js.IntentsBitField.Flags.GuildMessageTyping,discord_js.IntentsBitField.Flags.GuildMessages,discord_js.IntentsBitField.Flags.GuildModeration,discord_js.IntentsBitField.Flags.GuildPresences,discord_js.IntentsBitField.Flags.GuildScheduledEvents,discord_js.IntentsBitField.Flags.GuildVoiceStates,discord_js.IntentsBitField.Flags.GuildWebhooks,discord_js.IntentsBitField.Flags.Guilds],t=[discord_js.IntentsBitField.Flags.AutoModerationConfiguration,discord_js.IntentsBitField.Flags.AutoModerationExecution],CustomItents={Messages:a,Guild:l,Other:t,All:Object.values(discord_js.IntentsBitField.Flags)},CustomPartials={All:[discord_js.Partials.Channel,discord_js.Partials.GuildMember,discord_js.Partials.GuildScheduledEvent,discord_js.Partials.Message,discord_js.Partials.Reaction,discord_js.Partials.ThreadMember,discord_js.Partials.User]};function findChannel(e,n){const
|
|
1
|
+
"use strict";const discord_js=require("discord.js"),core=require("@magicyan/core"),a=[discord_js.IntentsBitField.Flags.MessageContent,discord_js.IntentsBitField.Flags.GuildMessages,discord_js.IntentsBitField.Flags.GuildMessageReactions,discord_js.IntentsBitField.Flags.GuildMessageTyping,discord_js.IntentsBitField.Flags.DirectMessages,discord_js.IntentsBitField.Flags.DirectMessageReactions,discord_js.IntentsBitField.Flags.DirectMessageTyping],l=[discord_js.IntentsBitField.Flags.GuildEmojisAndStickers,discord_js.IntentsBitField.Flags.GuildIntegrations,discord_js.IntentsBitField.Flags.GuildInvites,discord_js.IntentsBitField.Flags.GuildMembers,discord_js.IntentsBitField.Flags.GuildMessageReactions,discord_js.IntentsBitField.Flags.GuildMessageTyping,discord_js.IntentsBitField.Flags.GuildMessages,discord_js.IntentsBitField.Flags.GuildModeration,discord_js.IntentsBitField.Flags.GuildPresences,discord_js.IntentsBitField.Flags.GuildScheduledEvents,discord_js.IntentsBitField.Flags.GuildVoiceStates,discord_js.IntentsBitField.Flags.GuildWebhooks,discord_js.IntentsBitField.Flags.Guilds],t=[discord_js.IntentsBitField.Flags.AutoModerationConfiguration,discord_js.IntentsBitField.Flags.AutoModerationExecution],CustomItents={Messages:a,Guild:l,Other:t,All:Object.values(discord_js.IntentsBitField.Flags)},CustomPartials={All:[discord_js.Partials.Channel,discord_js.Partials.GuildMember,discord_js.Partials.GuildScheduledEvent,discord_js.Partials.Message,discord_js.Partials.Reaction,discord_js.Partials.ThreadMember,discord_js.Partials.User]};function findChannel(e,n){const r=n??discord_js.ChannelType.GuildText,i=e.channels.cache;return{byName(d){return i.find(s=>s.name===d&&s.type===r)},byId(d){return i.find(s=>s.id===d&&s.type===r)},inCategoryId(d){return{byName(s){return i.find(o=>o.name===s&&o.type===r&&o.parentId==d)},byId(s){return i.find(o=>o.id===s&&o.type===r&&o.parentId==s)}}},inCategoryName(d){return{byName(s){return i.find(o=>o.name===s&&o.type===r&&o.parent?.name==s)},byId(s){return i.find(o=>o.id===s&&o.type===r&&o.parent?.name==d)}}}}}function findCommand(e){const n=e instanceof discord_js.Client?e.application.commands.cache:e.commands.cache;return{byName(r,i=()=>!0){return n.find(d=>d.name===r&&i(d))},byId(r){return n.get(r)},byFilter(r){return n.find(r)}}}function createEmbedAuthor(e){const{user:n,property:r="displayName",imageSize:i=512,iconURL:d,url:s,prefix:o="",suffix:u=""}=e;return{name:`${o}${n[r]}${u}`,url:s,iconURL:d||n.displayAvatarURL({size:i})}}function createEmbedFooter(e){const{text:n,iconURL:r}=e;return{text:n??"\u200B",iconURL:core.notFound(r)}}function createEmbedAsset(e,n){return e instanceof discord_js.Attachment||e instanceof discord_js.AttachmentBuilder?{url:`attachment://${e.name}`,...n}:e?{url:e,...n}:void 0}function createEmbed(e){const{extend:n={},...r}=e,{color:i,modify:d,...s}=r,{color:o,...u}=n,m={...u,...s},c=new discord_js.EmbedBuilder(m);if(o&&c.setColor(o),i&&c.setColor(i),d?.fields&&typeof d.fields=="function"){const f=d.fields(c.data.fields||[]);c.setFields(f)}return c}function findEmoji(e){const n=e.emojis.cache;return{byName(r,i,d=()=>!0){return i?n.find(s=>s.name==r&&s.animated==i&&d(s)):n.find(s=>s.name==r&&d(s))},byId(r,i){return i?n.find(d=>d.id==r&&d.animated==i):n.find(d=>d.id==r)},byFilter(r){return e.emojis.cache.find(r)}}}function findMember(e){return{byGlobalName(n,r=()=>!0){return e.members.cache.find(i=>i.user.globalName==n&&r(i))},byNickname(n,r=()=>!0){return e.members.cache.find(i=>i.nickname&&i.nickname==n&&r(i))},byUsername(n,r=()=>!0){return e.members.cache.find(i=>i.user.username===n&&r(i))},byDisplayName(n,r=()=>!0){return e.members.cache.find(i=>i.displayName===n&&r(i))},byId(n){return e.members.cache.get(n)},byFilter(n){return e.members.cache.find(n)}}}function findRole(e){return{byColor(n,r=()=>!0){return e.roles.cache.find(i=>i.color==n&&r(i))},byHexColor(n,r=()=>!0){return e.roles.cache.find(i=>i.hexColor==n&&r(i))},byName(n,r=()=>!0){return e.roles.cache.find(i=>i.name==n&&r(i))},byId(n){return e.roles.cache.get(n)},byFilter(n){return e.roles.cache.find(n)}}}function createRow(...e){return new discord_js.ActionRowBuilder({components:e})}function createModalInput(e){return createRow(new discord_js.TextInputBuilder(e))}function createLinkButton(e){return e.label||(e.label=e.url),new discord_js.ButtonBuilder({style:discord_js.ButtonStyle.Link,...e})}exports.CustomItents=CustomItents,exports.CustomPartials=CustomPartials,exports.createEmbed=createEmbed,exports.createEmbedAsset=createEmbedAsset,exports.createEmbedAuthor=createEmbedAuthor,exports.createEmbedFooter=createEmbedFooter,exports.createLinkButton=createLinkButton,exports.createModalInput=createModalInput,exports.createRow=createRow,exports.findChannel=findChannel,exports.findCommand=findCommand,exports.findEmoji=findEmoji,exports.findMember=findMember,exports.findRole=findRole,Object.keys(core).forEach(function(e){e!=="default"&&!Object.prototype.hasOwnProperty.call(exports,e)&&(exports[e]=core[e])});
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../src/constants/client.ts","../src/functions/channels.ts","../src/functions/embeds.ts","../src/functions/roles.ts","../src/functions/utils.ts"],"sourcesContent":["import { GatewayIntentBits, IntentsBitField, Partials } from \"discord.js\";\r\n\r\nconst Messages = [\r\n IntentsBitField.Flags.MessageContent,\r\n IntentsBitField.Flags.GuildMessages,\r\n IntentsBitField.Flags.GuildMessageReactions,\r\n IntentsBitField.Flags.GuildMessageTyping,\r\n IntentsBitField.Flags.DirectMessages,\r\n IntentsBitField.Flags.DirectMessageReactions,\r\n IntentsBitField.Flags.DirectMessageTyping,\r\n];\r\nconst Guild = [\r\n IntentsBitField.Flags.GuildEmojisAndStickers,\r\n IntentsBitField.Flags.GuildIntegrations,\r\n IntentsBitField.Flags.GuildInvites,\r\n IntentsBitField.Flags.GuildMembers,\r\n IntentsBitField.Flags.GuildMessageReactions,\r\n IntentsBitField.Flags.GuildMessageTyping,\r\n IntentsBitField.Flags.GuildMessages,\r\n IntentsBitField.Flags.GuildModeration,\r\n IntentsBitField.Flags.GuildPresences,\r\n IntentsBitField.Flags.GuildScheduledEvents,\r\n IntentsBitField.Flags.GuildVoiceStates,\r\n IntentsBitField.Flags.GuildWebhooks,\r\n IntentsBitField.Flags.Guilds,\r\n];\r\n\r\nconst Other = [\r\n IntentsBitField.Flags.AutoModerationConfiguration,\r\n IntentsBitField.Flags.AutoModerationExecution,\r\n];\r\n\r\n\r\nexport const CustomItents = {\r\n Messages,\r\n Guild,\r\n Other,\r\n All: Object.values(IntentsBitField.Flags) as GatewayIntentBits[]\r\n} as const;\r\n\r\nexport const CustomPartials = {\r\n All: [\r\n Partials.Channel,\r\n Partials.GuildMember,\r\n Partials.GuildScheduledEvent,\r\n Partials.Message,\r\n Partials.Reaction,\r\n Partials.ThreadMember,\r\n Partials.User,\r\n ]\r\n} as const","import type { CommandInteractionOption, Guild } from \"discord.js\";\r\nimport { ChannelType } from \"discord.js\";\r\n\r\ntype GetChannelType<Type extends ChannelType> = Extract<NonNullable<CommandInteractionOption<\"cached\">[\"channel\"]>, {\r\n type: Type extends ChannelType.PublicThread | ChannelType.AnnouncementThread\r\n ? ChannelType.PublicThread | ChannelType.AnnouncementThread\r\n : Type;\r\n}>\r\nexport function findChannel<Type extends Exclude<ChannelType, ChannelType.DM> = ChannelType.GuildText>(guild: Guild, type?: Type){\r\n const channelType = type || ChannelType.GuildText;\r\n return {\r\n byName(name: string): GetChannelType<Type> | undefined {\r\n return guild.channels.cache.find(channel => channel.name === name && channel.type === channelType) as GetChannelType<Type>;\r\n },\r\n byId(id: string): GetChannelType<Type> | undefined {\r\n return guild.channels.cache.find(channel => channel.id === id && channel.type === channelType) as GetChannelType<Type>;\r\n }\r\n }\r\n}","import { Attachment, AttachmentBuilder, ColorResolvable, EmbedAssetData, EmbedAuthorData, EmbedBuilder, EmbedFooterData, ImageURLOptions, User } from \"discord.js\";\r\n\r\ninterface CreateEmbedAuthorOptions {\r\n user: User,\r\n property?: \"username\" | \"displayName\" | \"id\" | \"globalName\"\r\n imageSize?: ImageURLOptions[\"size\"],\r\n iconURL?: string, url?: string, prefix?: string, suffix?: string,\r\n}\r\nexport function createEmbedAuthor(options: CreateEmbedAuthorOptions): EmbedAuthorData {\r\n const { user, property=\"displayName\", imageSize: size=512, \r\n iconURL, url, prefix=\"\", suffix=\"\"\r\n } = options;\r\n return {\r\n name: `${prefix}${user[property]}${suffix}`, url, \r\n iconURL: iconURL || user.displayAvatarURL({ size }) \r\n };\r\n}\r\ntype EmbedAssetOptions = Omit<EmbedAssetData, \"url\">\r\ntype AssetSource = string | null | Attachment | AttachmentBuilder;\r\n\r\nexport function createEmbedAsset(source?: AssetSource, options?: EmbedAssetOptions): EmbedAssetData | undefined {\r\n if (source instanceof Attachment || source instanceof AttachmentBuilder){\r\n return { url: `attachment://${source.name}`, ...options }\r\n }\r\n return source ? { url: source, ...options } : undefined;\r\n}\r\n\r\ntype EmbedColor = ColorResolvable | (string & {});\r\ntype BaseEmbedField = {\r\n name: string;\r\n value: string;\r\n inline?: boolean\r\n}\r\ntype BaseEmbedData = { \r\n title?: string;\r\n color?: EmbedColor;\r\n description?: string;\r\n url?: string;\r\n timestamp?: string | number | Date;\r\n footer?: EmbedFooterData;\r\n image?: EmbedAssetData;\r\n thumbnail?: EmbedAssetData;\r\n author?: EmbedAuthorData;\r\n fields?: BaseEmbedField[];\r\n}\r\ntype CreateEmbedOptions = BaseEmbedData & {\r\n extend?: BaseEmbedData;\r\n modify?: {\r\n fields?(fields: BaseEmbedField[]): BaseEmbedField[];\r\n }\r\n}\r\nexport function createEmbed(options: CreateEmbedOptions){\r\n const { extend: extendRaw = {}, ...embedRaw } = options;\r\n\r\n const { color: embedColor, modify, ...embedData } = embedRaw;\r\n const { color: extendColor, ...extendData } = extendRaw;\r\n\r\n const data = { ...extendData, ...embedData };\r\n const builder = new EmbedBuilder(data);\r\n \r\n if (extendColor) builder.setColor(extendColor as ColorResolvable);\r\n if (embedColor) builder.setColor(embedColor as ColorResolvable);\r\n\r\n if (modify?.fields && typeof modify.fields == \"function\"){\r\n const fields = modify.fields(builder.data.fields || []);\r\n builder.setFields(fields);\r\n }\r\n return builder;\r\n}","import type { Guild } from \"discord.js\";\r\n\r\nexport function findRole(guild: Guild){\r\n return {\r\n byName(name: string){\r\n return guild.roles.cache.find(role => role.name == name);\r\n },\r\n byId(id: string){\r\n return guild.roles.cache.get(id); \r\n }\r\n }\r\n}","import type { AnyComponentBuilder, LinkButtonComponentData, TextInputComponentData } from \"discord.js\";\r\nimport { ActionRowBuilder, ButtonBuilder, ButtonStyle, TextInputBuilder, } from \"discord.js\";\r\n\r\nexport function createRow<Component extends AnyComponentBuilder>(...components: Component[]){\r\n return new ActionRowBuilder<Component>({components});\r\n}\r\ntype CreateModalInputData = Omit<TextInputComponentData, \"type\">;\r\n\r\nexport function createModalInput(data: CreateModalInputData){\r\n return createRow(new TextInputBuilder(data));\r\n}\r\n\r\ntype CreateLinkButtonData = Omit<LinkButtonComponentData, \"style\" | \"type\">\r\n\r\nexport function createLinkButton(data: CreateLinkButtonData){\r\n if (!data.label) data.label = data.url;\r\n return new ButtonBuilder({style: ButtonStyle.Link, ...data});\r\n}"],"names":["Messages","IntentsBitField","Guild","Other","Partials","guild","type","channelType","ChannelType","name","channel","id","options","user","property","size","iconURL","url","prefix","suffix","source","Attachment","AttachmentBuilder","extendRaw","embedRaw","embedColor","modify","embedData","extendColor","extendData","data","builder","EmbedBuilder","fields","role","components","ActionRowBuilder","TextInputBuilder","ButtonBuilder","ButtonStyle"],"mappings":"mFAEMA,EAAW,CACbC,WAAAA,gBAAgB,MAAM,eACtBA,WAAAA,gBAAgB,MAAM,cACtBA,WAAAA,gBAAgB,MAAM,sBACtBA,WAAAA,gBAAgB,MAAM,mBACtBA,2BAAgB,MAAM,eACtBA,WAAgB,gBAAA,MAAM,uBACtBA,WAAAA,gBAAgB,MAAM,mBAC1B,EACMC,EAAQ,CACVD,WAAAA,gBAAgB,MAAM,uBACtBA,WAAAA,gBAAgB,MAAM,kBACtBA,WAAgB,gBAAA,MAAM,aACtBA,WAAAA,gBAAgB,MAAM,aACtBA,WAAAA,gBAAgB,MAAM,sBACtBA,2BAAgB,MAAM,mBACtBA,WAAAA,gBAAgB,MAAM,cACtBA,WAAAA,gBAAgB,MAAM,gBACtBA,WAAAA,gBAAgB,MAAM,eACtBA,WAAAA,gBAAgB,MAAM,qBACtBA,WAAgB,gBAAA,MAAM,iBACtBA,2BAAgB,MAAM,cACtBA,2BAAgB,MAAM,MAC1B,EAEME,EAAQ,CACVF,2BAAgB,MAAM,4BACtBA,WAAgB,gBAAA,MAAM,uBAC1B,EAGa,aAAe,CACxB,SAAAD,EACA,MAAAE,EACA,MAAAC,EACA,IAAK,OAAO,OAAOF,WAAAA,gBAAgB,KAAK,CAC5C,EAEa,eAAiB,CAC1B,IAAK,CACDG,WAAAA,SAAS,QACTA,WAAAA,SAAS,YACTA,oBAAS,oBACTA,WAAAA,SAAS,QACTA,WAAS,SAAA,SACTA,WAAS,SAAA,aACTA,WAAAA,SAAS,IACb,CACJ,EC1CO,SAAS,YAAuFC,EAAcC,EAAY,CAC7H,MAAMC,EAAcD,GAAQE,WAAAA,YAAY,UACxC,MAAO,CACH,OAAOC,EAAgD,CACnD,OAAOJ,EAAM,SAAS,MAAM,KAAKK,GAAWA,EAAQ,OAASD,GAAQC,EAAQ,OAASH,CAAW,CACrG,EACA,KAAKI,EAA8C,CAC/C,OAAON,EAAM,SAAS,MAAM,KAAKK,GAAWA,EAAQ,KAAOC,GAAMD,EAAQ,OAASH,CAAW,CACjG,CACJ,CACJ,CCVO,SAAS,kBAAkBK,EAAoD,CAClF,KAAM,CAAE,KAAAC,EAAM,SAAAC,EAAS,cAAe,UAAWC,EAAK,IAClD,QAAAC,EAAS,IAAAC,EAAK,OAAAC,EAAO,GAAI,OAAAC,EAAO,EACpC,EAAIP,EACJ,MAAO,CACH,KAAM,GAAGM,CAAM,GAAGL,EAAKC,CAAQ,CAAC,GAAGK,CAAM,GAAI,IAAAF,EAC7C,QAASD,GAAWH,EAAK,iBAAiB,CAAE,KAAAE,CAAK,CAAC,CACtD,CACJ,CAIgB,SAAA,iBAAiBK,EAAsBR,EAAyD,CAC5G,OAAIQ,aAAkBC,WAAAA,YAAcD,aAAkBE,WAAAA,kBAC3C,CAAE,IAAK,gBAAgBF,EAAO,IAAI,GAAI,GAAGR,CAAQ,EAErDQ,EAAS,CAAE,IAAKA,EAAQ,GAAGR,CAAQ,EAAI,MAClD,CA0BgB,SAAA,YAAYA,EAA4B,CACpD,KAAM,CAAE,OAAQW,EAAY,CAAA,EAAI,GAAGC,CAAS,EAAIZ,EAE1C,CAAE,MAAOa,EAAY,OAAAC,EAAQ,GAAGC,CAAU,EAAIH,EAC9C,CAAE,MAAOI,EAAa,GAAGC,CAAW,EAAIN,EAExCO,EAAO,CAAE,GAAGD,EAAY,GAAGF,CAAU,EACrCI,EAAU,IAAIC,WAAaF,aAAAA,CAAI,EAKrC,GAHIF,GAAaG,EAAQ,SAASH,CAA8B,EAC5DH,GAAYM,EAAQ,SAASN,CAA6B,EAE1DC,GAAQ,QAAU,OAAOA,EAAO,QAAU,WAAW,CACrD,MAAMO,EAASP,EAAO,OAAOK,EAAQ,KAAK,QAAU,CAAA,CAAE,EACtDA,EAAQ,UAAUE,CAAM,CAC5B,CACA,OAAOF,CACX,CClEO,SAAS,SAAS1B,EAAa,CAClC,MAAO,CACH,OAAOI,EAAa,CAChB,OAAOJ,EAAM,MAAM,MAAM,KAAK6B,GAAQA,EAAK,MAAQzB,CAAI,CAC3D,EACA,KAAKE,EAAW,CACZ,OAAON,EAAM,MAAM,MAAM,IAAIM,CAAE,CACnC,CACJ,CACJ,CCRO,SAAS,aAAoDwB,EAAwB,CACxF,OAAO,IAAIC,WAA4B,iBAAA,CAAC,WAAAD,CAAU,CAAC,CACvD,CAGO,SAAS,iBAAiBL,EAA2B,CACxD,OAAO,UAAU,IAAIO,WAAAA,iBAAiBP,CAAI,CAAC,CAC/C,UAIgB,iBAAiBA,EAA2B,CACxD,OAAKA,EAAK,QAAOA,EAAK,MAAQA,EAAK,KAC5B,IAAIQ,WAAc,cAAA,CAAC,MAAOC,WAAAA,YAAY,KAAM,GAAGT,CAAI,CAAC,CAC/D"}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../src/constants/client.ts","../src/functions/channels.ts","../src/functions/commands.ts","../src/functions/embeds.ts","../src/functions/emojis.ts","../src/functions/members.ts","../src/functions/roles.ts","../src/functions/utils.ts"],"sourcesContent":["import { GatewayIntentBits, IntentsBitField, Partials } from \"discord.js\";\r\n\r\nconst Messages = [\r\n IntentsBitField.Flags.MessageContent,\r\n IntentsBitField.Flags.GuildMessages,\r\n IntentsBitField.Flags.GuildMessageReactions,\r\n IntentsBitField.Flags.GuildMessageTyping,\r\n IntentsBitField.Flags.DirectMessages,\r\n IntentsBitField.Flags.DirectMessageReactions,\r\n IntentsBitField.Flags.DirectMessageTyping,\r\n];\r\nconst Guild = [\r\n IntentsBitField.Flags.GuildEmojisAndStickers,\r\n IntentsBitField.Flags.GuildIntegrations,\r\n IntentsBitField.Flags.GuildInvites,\r\n IntentsBitField.Flags.GuildMembers,\r\n IntentsBitField.Flags.GuildMessageReactions,\r\n IntentsBitField.Flags.GuildMessageTyping,\r\n IntentsBitField.Flags.GuildMessages,\r\n IntentsBitField.Flags.GuildModeration,\r\n IntentsBitField.Flags.GuildPresences,\r\n IntentsBitField.Flags.GuildScheduledEvents,\r\n IntentsBitField.Flags.GuildVoiceStates,\r\n IntentsBitField.Flags.GuildWebhooks,\r\n IntentsBitField.Flags.Guilds,\r\n];\r\n\r\nconst Other = [\r\n IntentsBitField.Flags.AutoModerationConfiguration,\r\n IntentsBitField.Flags.AutoModerationExecution,\r\n];\r\n\r\n\r\nexport const CustomItents = {\r\n Messages,\r\n Guild,\r\n Other,\r\n All: Object.values(IntentsBitField.Flags) as GatewayIntentBits[]\r\n};\r\n\r\nexport const CustomPartials = {\r\n All: [\r\n Partials.Channel,\r\n Partials.GuildMember,\r\n Partials.GuildScheduledEvent,\r\n Partials.Message,\r\n Partials.Reaction,\r\n Partials.ThreadMember,\r\n Partials.User,\r\n ]\r\n};","import type { CommandInteractionOption, Guild } from \"discord.js\";\r\nimport { ChannelType } from \"discord.js\";\r\n\r\ntype GetChannelType<Type extends ChannelType> = Extract<NonNullable<CommandInteractionOption<\"cached\">[\"channel\"]>, {\r\n type: Type extends ChannelType.PublicThread | ChannelType.AnnouncementThread\r\n ? ChannelType.PublicThread | ChannelType.AnnouncementThread\r\n : Type;\r\n}>\r\nexport function findChannel<Type extends Exclude<ChannelType, ChannelType.DM> = ChannelType.GuildText>(guild: Guild, type?: Type){\r\n const channelType = type ?? ChannelType.GuildText;\r\n const cache = guild.channels.cache;\r\n return {\r\n byName(name: string): GetChannelType<Type> | undefined {\r\n return cache.find(c => \r\n c.name === name && \r\n c.type === channelType\r\n ) as GetChannelType<Type>;\r\n },\r\n byId(id: string): GetChannelType<Type> | undefined {\r\n return cache.find(c => \r\n c.id === id && \r\n c.type === channelType\r\n ) as GetChannelType<Type>;\r\n },\r\n inCategoryId(id: string){\r\n return {\r\n byName(name: string): GetChannelType<Type> | undefined {\r\n return cache.find(c => \r\n c.name === name && \r\n c.type === channelType && \r\n c.parentId == id\r\n ) as GetChannelType<Type>;\r\n },\r\n byId(id: string): GetChannelType<Type> | undefined {\r\n return cache.find(c => \r\n c.id === id && \r\n c.type === channelType && \r\n c.parentId == id\r\n ) as GetChannelType<Type>;\r\n },\r\n };\r\n },\r\n inCategoryName(name: string){\r\n return {\r\n byName(name: string): GetChannelType<Type> | undefined {\r\n return cache.find(c => \r\n c.name === name && \r\n c.type === channelType && \r\n c.parent?.name == name\r\n ) as GetChannelType<Type>;\r\n },\r\n byId(id: string): GetChannelType<Type> | undefined {\r\n return cache.find(c => \r\n c.id === id && \r\n c.type === channelType && \r\n c.parent?.name == name\r\n ) as GetChannelType<Type>;\r\n },\r\n };\r\n }\r\n }\r\n}","import { ApplicationCommand, Client, Guild } from \"discord.js\";\r\n\r\ntype FindCommandFilter = (command: ApplicationCommand) => boolean\r\n\r\nexport function findCommand(guildOrClient: Guild | Client<true>){\r\n const commands = guildOrClient instanceof Client\r\n ? guildOrClient.application.commands.cache\r\n : guildOrClient.commands.cache;\r\n\r\n return {\r\n byName(name: string, and: FindCommandFilter = () => true){\r\n return commands.find(command => command.name === name && and(command))\r\n },\r\n byId(id: string){\r\n return commands.get(id)\r\n },\r\n byFilter(filter: FindCommandFilter){\r\n return commands.find(filter);\r\n }\r\n }\r\n}","import { notFound } from \"@magicyan/core\";\r\nimport { Attachment, AttachmentBuilder, ColorResolvable, EmbedAssetData, EmbedAuthorData, EmbedBuilder, EmbedFooterData, Guild, GuildMember, ImageURLOptions, User } from \"discord.js\";\r\n\r\ninterface CreateEmbedAuthorOptions {\r\n user: User,\r\n property?: \"username\" | \"displayName\" | \"id\" | \"globalName\"\r\n imageSize?: ImageURLOptions[\"size\"],\r\n iconURL?: string, url?: string, prefix?: string, suffix?: string,\r\n}\r\nexport function createEmbedAuthor(options: CreateEmbedAuthorOptions): EmbedAuthorData {\r\n const { user, property=\"displayName\", imageSize: size=512, \r\n iconURL, url, prefix=\"\", suffix=\"\"\r\n } = options;\r\n return {\r\n name: `${prefix}${user[property]}${suffix}`, url, \r\n iconURL: iconURL || user.displayAvatarURL({ size }) \r\n };\r\n}\r\n\r\ninterface CreateEmbedFooterOptions {\r\n text?: string | null;\r\n iconURL?: string | null;\r\n}\r\nexport function createEmbedFooter(options: CreateEmbedFooterOptions): EmbedFooterData {\r\n const { text, iconURL } = options;\r\n return { text: text ?? \"\\u200b\", iconURL: notFound(iconURL) };\r\n}\r\n\r\ntype EmbedAssetOptions = Omit<EmbedAssetData, \"url\">\r\ntype AssetSource = string | null | Attachment | AttachmentBuilder;\r\n\r\nexport function createEmbedAsset(source?: AssetSource, options?: EmbedAssetOptions): EmbedAssetData | undefined {\r\n if (source instanceof Attachment || source instanceof AttachmentBuilder){\r\n return { url: `attachment://${source.name}`, ...options }\r\n }\r\n return source ? { url: source, ...options } : undefined;\r\n}\r\n\r\ntype EmbedColor = ColorResolvable | (string & {});\r\ntype BaseEmbedField = {\r\n name: string;\r\n value: string;\r\n inline?: boolean\r\n}\r\ntype BaseEmbedData = { \r\n title?: string;\r\n color?: EmbedColor;\r\n description?: string;\r\n url?: string;\r\n timestamp?: string | number | Date;\r\n footer?: EmbedFooterData;\r\n image?: EmbedAssetData;\r\n thumbnail?: EmbedAssetData;\r\n author?: EmbedAuthorData;\r\n fields?: BaseEmbedField[];\r\n}\r\ntype CreateEmbedOptions = BaseEmbedData & {\r\n extend?: BaseEmbedData;\r\n modify?: {\r\n fields?(fields: BaseEmbedField[]): BaseEmbedField[];\r\n }\r\n}\r\nexport function createEmbed(options: CreateEmbedOptions){\r\n const { extend: extendRaw = {}, ...embedRaw } = options;\r\n\r\n const { color: embedColor, modify, ...embedData } = embedRaw;\r\n const { color: extendColor, ...extendData } = extendRaw;\r\n\r\n const data = { ...extendData, ...embedData };\r\n const builder = new EmbedBuilder(data);\r\n \r\n if (extendColor) builder.setColor(extendColor as ColorResolvable);\r\n if (embedColor) builder.setColor(embedColor as ColorResolvable);\r\n\r\n if (modify?.fields && typeof modify.fields == \"function\"){\r\n const fields = modify.fields(builder.data.fields || []);\r\n builder.setFields(fields);\r\n }\r\n return builder;\r\n}","import type { Client, Guild, GuildEmoji } from \"discord.js\";\r\n\r\ntype FindEmojiFilter = (emoji: GuildEmoji) => boolean\r\n\r\nexport function findEmoji(guildOrClient: Guild | Client){\r\n const emojis = guildOrClient.emojis.cache;\r\n return {\r\n byName(name: string, animated?: boolean, and: FindEmojiFilter = () => true){\r\n return animated \r\n ? emojis.find(emoji => emoji.name == name && emoji.animated == animated && and(emoji))\r\n : emojis.find(emoji => emoji.name == name && and(emoji))\r\n },\r\n byId(id: string, animated?: boolean){\r\n return animated\r\n ? emojis.find(emoji => emoji.id == id && emoji.animated == animated)\r\n : emojis.find(emoji => emoji.id == id)\r\n },\r\n byFilter(filter: FindEmojiFilter){\r\n return guildOrClient.emojis.cache.find(filter);\r\n }\r\n }\r\n}","import type { Guild, GuildMember } from \"discord.js\";\r\n\r\ntype FindMemberFilter = (member: GuildMember) => boolean;\r\n\r\nexport function findMember(guild: Guild){\r\n return {\r\n byGlobalName(globalName: string, and: FindMemberFilter = () => true){\r\n return guild.members.cache.find(member => member.user.globalName == globalName && and(member));\r\n },\r\n byNickname(nickname: string, and: FindMemberFilter = () => true){\r\n return guild.members.cache.find(member => member.nickname && member.nickname == nickname && and(member));\r\n },\r\n byUsername(username: string, and: FindMemberFilter = () => true){\r\n return guild.members.cache.find(member => member.user.username === username && and(member));\r\n },\r\n byDisplayName(displayName: string, and: FindMemberFilter = () => true){\r\n return guild.members.cache.find(member => member.displayName === displayName && and(member));\r\n },\r\n byId(id: string){\r\n return guild.members.cache.get(id); \r\n },\r\n byFilter(filter: FindMemberFilter){\r\n return guild.members.cache.find(filter);\r\n }\r\n }\r\n}","import type { Guild, Role } from \"discord.js\";\r\n\r\ntype FindRoleFilter = (role: Role) => boolean;\r\n\r\nexport function findRole(guild: Guild){\r\n return {\r\n byColor(color: number, and: FindRoleFilter = () => true){\r\n return guild.roles.cache.find(role => role.color == color && and(role));\r\n },\r\n byHexColor(hexColor: string, and: FindRoleFilter = () => true){\r\n return guild.roles.cache.find(role => role.hexColor == hexColor && and(role));\r\n },\r\n byName(name: string, and: FindRoleFilter = () => true){\r\n return guild.roles.cache.find(role => role.name == name && and(role));\r\n },\r\n byId(id: string){\r\n return guild.roles.cache.get(id); \r\n },\r\n byFilter(filter: (role: Role) => boolean){\r\n return guild.roles.cache.find(filter);\r\n }\r\n }\r\n}","import type { AnyComponentBuilder, LinkButtonComponentData, TextInputComponentData } from \"discord.js\";\r\nimport { ActionRowBuilder, ButtonBuilder, ButtonStyle, TextInputBuilder, } from \"discord.js\";\r\n\r\nexport function createRow<Component extends AnyComponentBuilder>(...components: Component[]){\r\n return new ActionRowBuilder<Component>({components});\r\n}\r\ntype CreateModalInputData = Omit<TextInputComponentData, \"type\">;\r\n\r\nexport function createModalInput(data: CreateModalInputData){\r\n return createRow(new TextInputBuilder(data));\r\n}\r\n\r\ntype CreateLinkButtonData = Omit<LinkButtonComponentData, \"style\" | \"type\">\r\n\r\nexport function createLinkButton(data: CreateLinkButtonData){\r\n if (!data.label) data.label = data.url;\r\n return new ButtonBuilder({style: ButtonStyle.Link, ...data});\r\n}"],"names":["Messages","IntentsBitField","Guild","Other","Partials","guild","type","channelType","ChannelType","cache","name","c","id","guildOrClient","commands","Client","and","command","filter","options","user","property","size","iconURL","url","prefix","suffix","text","notFound","source","Attachment","AttachmentBuilder","extendRaw","embedRaw","embedColor","modify","embedData","extendColor","extendData","data","builder","EmbedBuilder","fields","emojis","animated","emoji","globalName","member","nickname","username","displayName","color","role","hexColor","components","ActionRowBuilder","TextInputBuilder","ButtonBuilder","ButtonStyle"],"mappings":"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"}
|
package/dist/index.d.cts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import * as discord_js from 'discord.js';
|
|
2
|
-
import { GatewayIntentBits, Partials, ChannelType, Guild, CommandInteractionOption, EmbedAuthorData, EmbedAssetData, EmbedBuilder, User, ImageURLOptions, Attachment, AttachmentBuilder,
|
|
2
|
+
import { GatewayIntentBits, Partials, ChannelType, Guild, CommandInteractionOption, Client, ApplicationCommand, EmbedAuthorData, EmbedFooterData, EmbedAssetData, EmbedBuilder, User, ImageURLOptions, Attachment, AttachmentBuilder, ColorResolvable, GuildEmoji, GuildMember, Role, AnyComponentBuilder, ActionRowBuilder, TextInputBuilder, ButtonBuilder, TextInputComponentData, LinkButtonComponentData } from 'discord.js';
|
|
3
3
|
export * from '@magicyan/core';
|
|
4
4
|
|
|
5
5
|
declare const CustomItents: {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
Messages: GatewayIntentBits[];
|
|
7
|
+
Guild: GatewayIntentBits[];
|
|
8
|
+
Other: GatewayIntentBits[];
|
|
9
|
+
All: GatewayIntentBits[];
|
|
10
10
|
};
|
|
11
11
|
declare const CustomPartials: {
|
|
12
|
-
|
|
12
|
+
All: Partials[];
|
|
13
13
|
};
|
|
14
14
|
|
|
15
15
|
type GetChannelType<Type extends ChannelType> = Extract<NonNullable<CommandInteractionOption<"cached">["channel"]>, {
|
|
@@ -18,6 +18,27 @@ type GetChannelType<Type extends ChannelType> = Extract<NonNullable<CommandInter
|
|
|
18
18
|
declare function findChannel<Type extends Exclude<ChannelType, ChannelType.DM> = ChannelType.GuildText>(guild: Guild, type?: Type): {
|
|
19
19
|
byName(name: string): GetChannelType<Type> | undefined;
|
|
20
20
|
byId(id: string): GetChannelType<Type> | undefined;
|
|
21
|
+
inCategoryId(id: string): {
|
|
22
|
+
byName(name: string): GetChannelType<Type> | undefined;
|
|
23
|
+
byId(id: string): GetChannelType<Type> | undefined;
|
|
24
|
+
};
|
|
25
|
+
inCategoryName(name: string): {
|
|
26
|
+
byName(name: string): GetChannelType<Type> | undefined;
|
|
27
|
+
byId(id: string): GetChannelType<Type> | undefined;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
type FindCommandFilter = (command: ApplicationCommand) => boolean;
|
|
32
|
+
declare function findCommand(guildOrClient: Guild | Client<true>): {
|
|
33
|
+
byName(name: string, and?: FindCommandFilter): ApplicationCommand<{
|
|
34
|
+
guild: discord_js.GuildResolvable;
|
|
35
|
+
}> | undefined;
|
|
36
|
+
byId(id: string): ApplicationCommand<{
|
|
37
|
+
guild: discord_js.GuildResolvable;
|
|
38
|
+
}> | undefined;
|
|
39
|
+
byFilter(filter: FindCommandFilter): ApplicationCommand<{
|
|
40
|
+
guild: discord_js.GuildResolvable;
|
|
41
|
+
}> | undefined;
|
|
21
42
|
};
|
|
22
43
|
|
|
23
44
|
interface CreateEmbedAuthorOptions {
|
|
@@ -30,6 +51,11 @@ interface CreateEmbedAuthorOptions {
|
|
|
30
51
|
suffix?: string;
|
|
31
52
|
}
|
|
32
53
|
declare function createEmbedAuthor(options: CreateEmbedAuthorOptions): EmbedAuthorData;
|
|
54
|
+
interface CreateEmbedFooterOptions {
|
|
55
|
+
text?: string | null;
|
|
56
|
+
iconURL?: string | null;
|
|
57
|
+
}
|
|
58
|
+
declare function createEmbedFooter(options: CreateEmbedFooterOptions): EmbedFooterData;
|
|
33
59
|
type EmbedAssetOptions = Omit<EmbedAssetData, "url">;
|
|
34
60
|
type AssetSource = string | null | Attachment | AttachmentBuilder;
|
|
35
61
|
declare function createEmbedAsset(source?: AssetSource, options?: EmbedAssetOptions): EmbedAssetData | undefined;
|
|
@@ -59,9 +85,30 @@ type CreateEmbedOptions = BaseEmbedData & {
|
|
|
59
85
|
};
|
|
60
86
|
declare function createEmbed(options: CreateEmbedOptions): EmbedBuilder;
|
|
61
87
|
|
|
88
|
+
type FindEmojiFilter = (emoji: GuildEmoji) => boolean;
|
|
89
|
+
declare function findEmoji(guildOrClient: Guild | Client): {
|
|
90
|
+
byName(name: string, animated?: boolean, and?: FindEmojiFilter): GuildEmoji | undefined;
|
|
91
|
+
byId(id: string, animated?: boolean): GuildEmoji | undefined;
|
|
92
|
+
byFilter(filter: FindEmojiFilter): GuildEmoji | undefined;
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
type FindMemberFilter = (member: GuildMember) => boolean;
|
|
96
|
+
declare function findMember(guild: Guild): {
|
|
97
|
+
byGlobalName(globalName: string, and?: FindMemberFilter): GuildMember | undefined;
|
|
98
|
+
byNickname(nickname: string, and?: FindMemberFilter): GuildMember | undefined;
|
|
99
|
+
byUsername(username: string, and?: FindMemberFilter): GuildMember | undefined;
|
|
100
|
+
byDisplayName(displayName: string, and?: FindMemberFilter): GuildMember | undefined;
|
|
101
|
+
byId(id: string): GuildMember | undefined;
|
|
102
|
+
byFilter(filter: FindMemberFilter): GuildMember | undefined;
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
type FindRoleFilter = (role: Role) => boolean;
|
|
62
106
|
declare function findRole(guild: Guild): {
|
|
63
|
-
|
|
64
|
-
|
|
107
|
+
byColor(color: number, and?: FindRoleFilter): Role | undefined;
|
|
108
|
+
byHexColor(hexColor: string, and?: FindRoleFilter): Role | undefined;
|
|
109
|
+
byName(name: string, and?: FindRoleFilter): Role | undefined;
|
|
110
|
+
byId(id: string): Role | undefined;
|
|
111
|
+
byFilter(filter: (role: Role) => boolean): Role | undefined;
|
|
65
112
|
};
|
|
66
113
|
|
|
67
114
|
declare function createRow<Component extends AnyComponentBuilder>(...components: Component[]): ActionRowBuilder<Component>;
|
|
@@ -70,4 +117,4 @@ declare function createModalInput(data: CreateModalInputData): ActionRowBuilder<
|
|
|
70
117
|
type CreateLinkButtonData = Omit<LinkButtonComponentData, "style" | "type">;
|
|
71
118
|
declare function createLinkButton(data: CreateLinkButtonData): ButtonBuilder;
|
|
72
119
|
|
|
73
|
-
export { CustomItents, CustomPartials, createEmbed, createEmbedAsset, createEmbedAuthor, createLinkButton, createModalInput, createRow, findChannel, findRole };
|
|
120
|
+
export { CustomItents, CustomPartials, createEmbed, createEmbedAsset, createEmbedAuthor, createEmbedFooter, createLinkButton, createModalInput, createRow, findChannel, findCommand, findEmoji, findMember, findRole };
|
package/dist/index.d.mts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import * as discord_js from 'discord.js';
|
|
2
|
-
import { GatewayIntentBits, Partials, ChannelType, Guild, CommandInteractionOption, EmbedAuthorData, EmbedAssetData, EmbedBuilder, User, ImageURLOptions, Attachment, AttachmentBuilder,
|
|
2
|
+
import { GatewayIntentBits, Partials, ChannelType, Guild, CommandInteractionOption, Client, ApplicationCommand, EmbedAuthorData, EmbedFooterData, EmbedAssetData, EmbedBuilder, User, ImageURLOptions, Attachment, AttachmentBuilder, ColorResolvable, GuildEmoji, GuildMember, Role, AnyComponentBuilder, ActionRowBuilder, TextInputBuilder, ButtonBuilder, TextInputComponentData, LinkButtonComponentData } from 'discord.js';
|
|
3
3
|
export * from '@magicyan/core';
|
|
4
4
|
|
|
5
5
|
declare const CustomItents: {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
Messages: GatewayIntentBits[];
|
|
7
|
+
Guild: GatewayIntentBits[];
|
|
8
|
+
Other: GatewayIntentBits[];
|
|
9
|
+
All: GatewayIntentBits[];
|
|
10
10
|
};
|
|
11
11
|
declare const CustomPartials: {
|
|
12
|
-
|
|
12
|
+
All: Partials[];
|
|
13
13
|
};
|
|
14
14
|
|
|
15
15
|
type GetChannelType<Type extends ChannelType> = Extract<NonNullable<CommandInteractionOption<"cached">["channel"]>, {
|
|
@@ -18,6 +18,27 @@ type GetChannelType<Type extends ChannelType> = Extract<NonNullable<CommandInter
|
|
|
18
18
|
declare function findChannel<Type extends Exclude<ChannelType, ChannelType.DM> = ChannelType.GuildText>(guild: Guild, type?: Type): {
|
|
19
19
|
byName(name: string): GetChannelType<Type> | undefined;
|
|
20
20
|
byId(id: string): GetChannelType<Type> | undefined;
|
|
21
|
+
inCategoryId(id: string): {
|
|
22
|
+
byName(name: string): GetChannelType<Type> | undefined;
|
|
23
|
+
byId(id: string): GetChannelType<Type> | undefined;
|
|
24
|
+
};
|
|
25
|
+
inCategoryName(name: string): {
|
|
26
|
+
byName(name: string): GetChannelType<Type> | undefined;
|
|
27
|
+
byId(id: string): GetChannelType<Type> | undefined;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
type FindCommandFilter = (command: ApplicationCommand) => boolean;
|
|
32
|
+
declare function findCommand(guildOrClient: Guild | Client<true>): {
|
|
33
|
+
byName(name: string, and?: FindCommandFilter): ApplicationCommand<{
|
|
34
|
+
guild: discord_js.GuildResolvable;
|
|
35
|
+
}> | undefined;
|
|
36
|
+
byId(id: string): ApplicationCommand<{
|
|
37
|
+
guild: discord_js.GuildResolvable;
|
|
38
|
+
}> | undefined;
|
|
39
|
+
byFilter(filter: FindCommandFilter): ApplicationCommand<{
|
|
40
|
+
guild: discord_js.GuildResolvable;
|
|
41
|
+
}> | undefined;
|
|
21
42
|
};
|
|
22
43
|
|
|
23
44
|
interface CreateEmbedAuthorOptions {
|
|
@@ -30,6 +51,11 @@ interface CreateEmbedAuthorOptions {
|
|
|
30
51
|
suffix?: string;
|
|
31
52
|
}
|
|
32
53
|
declare function createEmbedAuthor(options: CreateEmbedAuthorOptions): EmbedAuthorData;
|
|
54
|
+
interface CreateEmbedFooterOptions {
|
|
55
|
+
text?: string | null;
|
|
56
|
+
iconURL?: string | null;
|
|
57
|
+
}
|
|
58
|
+
declare function createEmbedFooter(options: CreateEmbedFooterOptions): EmbedFooterData;
|
|
33
59
|
type EmbedAssetOptions = Omit<EmbedAssetData, "url">;
|
|
34
60
|
type AssetSource = string | null | Attachment | AttachmentBuilder;
|
|
35
61
|
declare function createEmbedAsset(source?: AssetSource, options?: EmbedAssetOptions): EmbedAssetData | undefined;
|
|
@@ -59,9 +85,30 @@ type CreateEmbedOptions = BaseEmbedData & {
|
|
|
59
85
|
};
|
|
60
86
|
declare function createEmbed(options: CreateEmbedOptions): EmbedBuilder;
|
|
61
87
|
|
|
88
|
+
type FindEmojiFilter = (emoji: GuildEmoji) => boolean;
|
|
89
|
+
declare function findEmoji(guildOrClient: Guild | Client): {
|
|
90
|
+
byName(name: string, animated?: boolean, and?: FindEmojiFilter): GuildEmoji | undefined;
|
|
91
|
+
byId(id: string, animated?: boolean): GuildEmoji | undefined;
|
|
92
|
+
byFilter(filter: FindEmojiFilter): GuildEmoji | undefined;
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
type FindMemberFilter = (member: GuildMember) => boolean;
|
|
96
|
+
declare function findMember(guild: Guild): {
|
|
97
|
+
byGlobalName(globalName: string, and?: FindMemberFilter): GuildMember | undefined;
|
|
98
|
+
byNickname(nickname: string, and?: FindMemberFilter): GuildMember | undefined;
|
|
99
|
+
byUsername(username: string, and?: FindMemberFilter): GuildMember | undefined;
|
|
100
|
+
byDisplayName(displayName: string, and?: FindMemberFilter): GuildMember | undefined;
|
|
101
|
+
byId(id: string): GuildMember | undefined;
|
|
102
|
+
byFilter(filter: FindMemberFilter): GuildMember | undefined;
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
type FindRoleFilter = (role: Role) => boolean;
|
|
62
106
|
declare function findRole(guild: Guild): {
|
|
63
|
-
|
|
64
|
-
|
|
107
|
+
byColor(color: number, and?: FindRoleFilter): Role | undefined;
|
|
108
|
+
byHexColor(hexColor: string, and?: FindRoleFilter): Role | undefined;
|
|
109
|
+
byName(name: string, and?: FindRoleFilter): Role | undefined;
|
|
110
|
+
byId(id: string): Role | undefined;
|
|
111
|
+
byFilter(filter: (role: Role) => boolean): Role | undefined;
|
|
65
112
|
};
|
|
66
113
|
|
|
67
114
|
declare function createRow<Component extends AnyComponentBuilder>(...components: Component[]): ActionRowBuilder<Component>;
|
|
@@ -70,4 +117,4 @@ declare function createModalInput(data: CreateModalInputData): ActionRowBuilder<
|
|
|
70
117
|
type CreateLinkButtonData = Omit<LinkButtonComponentData, "style" | "type">;
|
|
71
118
|
declare function createLinkButton(data: CreateLinkButtonData): ButtonBuilder;
|
|
72
119
|
|
|
73
|
-
export { CustomItents, CustomPartials, createEmbed, createEmbedAsset, createEmbedAuthor, createLinkButton, createModalInput, createRow, findChannel, findRole };
|
|
120
|
+
export { CustomItents, CustomPartials, createEmbed, createEmbedAsset, createEmbedAuthor, createEmbedFooter, createLinkButton, createModalInput, createRow, findChannel, findCommand, findEmoji, findMember, findRole };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import * as discord_js from 'discord.js';
|
|
2
|
-
import { GatewayIntentBits, Partials, ChannelType, Guild, CommandInteractionOption, EmbedAuthorData, EmbedAssetData, EmbedBuilder, User, ImageURLOptions, Attachment, AttachmentBuilder,
|
|
2
|
+
import { GatewayIntentBits, Partials, ChannelType, Guild, CommandInteractionOption, Client, ApplicationCommand, EmbedAuthorData, EmbedFooterData, EmbedAssetData, EmbedBuilder, User, ImageURLOptions, Attachment, AttachmentBuilder, ColorResolvable, GuildEmoji, GuildMember, Role, AnyComponentBuilder, ActionRowBuilder, TextInputBuilder, ButtonBuilder, TextInputComponentData, LinkButtonComponentData } from 'discord.js';
|
|
3
3
|
export * from '@magicyan/core';
|
|
4
4
|
|
|
5
5
|
declare const CustomItents: {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
Messages: GatewayIntentBits[];
|
|
7
|
+
Guild: GatewayIntentBits[];
|
|
8
|
+
Other: GatewayIntentBits[];
|
|
9
|
+
All: GatewayIntentBits[];
|
|
10
10
|
};
|
|
11
11
|
declare const CustomPartials: {
|
|
12
|
-
|
|
12
|
+
All: Partials[];
|
|
13
13
|
};
|
|
14
14
|
|
|
15
15
|
type GetChannelType<Type extends ChannelType> = Extract<NonNullable<CommandInteractionOption<"cached">["channel"]>, {
|
|
@@ -18,6 +18,27 @@ type GetChannelType<Type extends ChannelType> = Extract<NonNullable<CommandInter
|
|
|
18
18
|
declare function findChannel<Type extends Exclude<ChannelType, ChannelType.DM> = ChannelType.GuildText>(guild: Guild, type?: Type): {
|
|
19
19
|
byName(name: string): GetChannelType<Type> | undefined;
|
|
20
20
|
byId(id: string): GetChannelType<Type> | undefined;
|
|
21
|
+
inCategoryId(id: string): {
|
|
22
|
+
byName(name: string): GetChannelType<Type> | undefined;
|
|
23
|
+
byId(id: string): GetChannelType<Type> | undefined;
|
|
24
|
+
};
|
|
25
|
+
inCategoryName(name: string): {
|
|
26
|
+
byName(name: string): GetChannelType<Type> | undefined;
|
|
27
|
+
byId(id: string): GetChannelType<Type> | undefined;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
type FindCommandFilter = (command: ApplicationCommand) => boolean;
|
|
32
|
+
declare function findCommand(guildOrClient: Guild | Client<true>): {
|
|
33
|
+
byName(name: string, and?: FindCommandFilter): ApplicationCommand<{
|
|
34
|
+
guild: discord_js.GuildResolvable;
|
|
35
|
+
}> | undefined;
|
|
36
|
+
byId(id: string): ApplicationCommand<{
|
|
37
|
+
guild: discord_js.GuildResolvable;
|
|
38
|
+
}> | undefined;
|
|
39
|
+
byFilter(filter: FindCommandFilter): ApplicationCommand<{
|
|
40
|
+
guild: discord_js.GuildResolvable;
|
|
41
|
+
}> | undefined;
|
|
21
42
|
};
|
|
22
43
|
|
|
23
44
|
interface CreateEmbedAuthorOptions {
|
|
@@ -30,6 +51,11 @@ interface CreateEmbedAuthorOptions {
|
|
|
30
51
|
suffix?: string;
|
|
31
52
|
}
|
|
32
53
|
declare function createEmbedAuthor(options: CreateEmbedAuthorOptions): EmbedAuthorData;
|
|
54
|
+
interface CreateEmbedFooterOptions {
|
|
55
|
+
text?: string | null;
|
|
56
|
+
iconURL?: string | null;
|
|
57
|
+
}
|
|
58
|
+
declare function createEmbedFooter(options: CreateEmbedFooterOptions): EmbedFooterData;
|
|
33
59
|
type EmbedAssetOptions = Omit<EmbedAssetData, "url">;
|
|
34
60
|
type AssetSource = string | null | Attachment | AttachmentBuilder;
|
|
35
61
|
declare function createEmbedAsset(source?: AssetSource, options?: EmbedAssetOptions): EmbedAssetData | undefined;
|
|
@@ -59,9 +85,30 @@ type CreateEmbedOptions = BaseEmbedData & {
|
|
|
59
85
|
};
|
|
60
86
|
declare function createEmbed(options: CreateEmbedOptions): EmbedBuilder;
|
|
61
87
|
|
|
88
|
+
type FindEmojiFilter = (emoji: GuildEmoji) => boolean;
|
|
89
|
+
declare function findEmoji(guildOrClient: Guild | Client): {
|
|
90
|
+
byName(name: string, animated?: boolean, and?: FindEmojiFilter): GuildEmoji | undefined;
|
|
91
|
+
byId(id: string, animated?: boolean): GuildEmoji | undefined;
|
|
92
|
+
byFilter(filter: FindEmojiFilter): GuildEmoji | undefined;
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
type FindMemberFilter = (member: GuildMember) => boolean;
|
|
96
|
+
declare function findMember(guild: Guild): {
|
|
97
|
+
byGlobalName(globalName: string, and?: FindMemberFilter): GuildMember | undefined;
|
|
98
|
+
byNickname(nickname: string, and?: FindMemberFilter): GuildMember | undefined;
|
|
99
|
+
byUsername(username: string, and?: FindMemberFilter): GuildMember | undefined;
|
|
100
|
+
byDisplayName(displayName: string, and?: FindMemberFilter): GuildMember | undefined;
|
|
101
|
+
byId(id: string): GuildMember | undefined;
|
|
102
|
+
byFilter(filter: FindMemberFilter): GuildMember | undefined;
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
type FindRoleFilter = (role: Role) => boolean;
|
|
62
106
|
declare function findRole(guild: Guild): {
|
|
63
|
-
|
|
64
|
-
|
|
107
|
+
byColor(color: number, and?: FindRoleFilter): Role | undefined;
|
|
108
|
+
byHexColor(hexColor: string, and?: FindRoleFilter): Role | undefined;
|
|
109
|
+
byName(name: string, and?: FindRoleFilter): Role | undefined;
|
|
110
|
+
byId(id: string): Role | undefined;
|
|
111
|
+
byFilter(filter: (role: Role) => boolean): Role | undefined;
|
|
65
112
|
};
|
|
66
113
|
|
|
67
114
|
declare function createRow<Component extends AnyComponentBuilder>(...components: Component[]): ActionRowBuilder<Component>;
|
|
@@ -70,4 +117,4 @@ declare function createModalInput(data: CreateModalInputData): ActionRowBuilder<
|
|
|
70
117
|
type CreateLinkButtonData = Omit<LinkButtonComponentData, "style" | "type">;
|
|
71
118
|
declare function createLinkButton(data: CreateLinkButtonData): ButtonBuilder;
|
|
72
119
|
|
|
73
|
-
export { CustomItents, CustomPartials, createEmbed, createEmbedAsset, createEmbedAuthor, createLinkButton, createModalInput, createRow, findChannel, findRole };
|
|
120
|
+
export { CustomItents, CustomPartials, createEmbed, createEmbedAsset, createEmbedAuthor, createEmbedFooter, createLinkButton, createModalInput, createRow, findChannel, findCommand, findEmoji, findMember, findRole };
|
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{IntentsBitField as
|
|
1
|
+
import{IntentsBitField as s,Partials as o,ChannelType as g,Client as b,Attachment as y,AttachmentBuilder as p,EmbedBuilder as F,ActionRowBuilder as h,TextInputBuilder as G,ButtonBuilder as M,ButtonStyle as C}from"discord.js";import{notFound as I}from"@magicyan/core";export*from"@magicyan/core";const N=[s.Flags.MessageContent,s.Flags.GuildMessages,s.Flags.GuildMessageReactions,s.Flags.GuildMessageTyping,s.Flags.DirectMessages,s.Flags.DirectMessageReactions,s.Flags.DirectMessageTyping],x=[s.Flags.GuildEmojisAndStickers,s.Flags.GuildIntegrations,s.Flags.GuildInvites,s.Flags.GuildMembers,s.Flags.GuildMessageReactions,s.Flags.GuildMessageTyping,s.Flags.GuildMessages,s.Flags.GuildModeration,s.Flags.GuildPresences,s.Flags.GuildScheduledEvents,s.Flags.GuildVoiceStates,s.Flags.GuildWebhooks,s.Flags.Guilds],R=[s.Flags.AutoModerationConfiguration,s.Flags.AutoModerationExecution],A={Messages:N,Guild:x,Other:R,All:Object.values(s.Flags)},B={All:[o.Channel,o.GuildMember,o.GuildScheduledEvent,o.Message,o.Reaction,o.ThreadMember,o.User]};function E(e,n){const r=n??g.GuildText,t=e.channels.cache;return{byName(i){return t.find(a=>a.name===i&&a.type===r)},byId(i){return t.find(a=>a.id===i&&a.type===r)},inCategoryId(i){return{byName(a){return t.find(l=>l.name===a&&l.type===r&&l.parentId==i)},byId(a){return t.find(l=>l.id===a&&l.type===r&&l.parentId==a)}}},inCategoryName(i){return{byName(a){return t.find(l=>l.name===a&&l.type===r&&l.parent?.name==a)},byId(a){return t.find(l=>l.id===a&&l.type===r&&l.parent?.name==i)}}}}}function k(e){const n=e instanceof b?e.application.commands.cache:e.commands.cache;return{byName(r,t=()=>!0){return n.find(i=>i.name===r&&t(i))},byId(r){return n.get(r)},byFilter(r){return n.find(r)}}}function L(e){const{user:n,property:r="displayName",imageSize:t=512,iconURL:i,url:a,prefix:l="",suffix:u=""}=e;return{name:`${l}${n[r]}${u}`,url:a,iconURL:i||n.displayAvatarURL({size:t})}}function T(e){const{text:n,iconURL:r}=e;return{text:n??"\u200B",iconURL:I(r)}}function U(e,n){return e instanceof y||e instanceof p?{url:`attachment://${e.name}`,...n}:e?{url:e,...n}:void 0}function v(e){const{extend:n={},...r}=e,{color:t,modify:i,...a}=r,{color:l,...u}=n,m={...u,...a},d=new F(m);if(l&&d.setColor(l),t&&d.setColor(t),i?.fields&&typeof i.fields=="function"){const f=i.fields(d.data.fields||[]);d.setFields(f)}return d}function w(e){const n=e.emojis.cache;return{byName(r,t,i=()=>!0){return t?n.find(a=>a.name==r&&a.animated==t&&i(a)):n.find(a=>a.name==r&&i(a))},byId(r,t){return t?n.find(i=>i.id==r&&i.animated==t):n.find(i=>i.id==r)},byFilter(r){return e.emojis.cache.find(r)}}}function S(e){return{byGlobalName(n,r=()=>!0){return e.members.cache.find(t=>t.user.globalName==n&&r(t))},byNickname(n,r=()=>!0){return e.members.cache.find(t=>t.nickname&&t.nickname==n&&r(t))},byUsername(n,r=()=>!0){return e.members.cache.find(t=>t.user.username===n&&r(t))},byDisplayName(n,r=()=>!0){return e.members.cache.find(t=>t.displayName===n&&r(t))},byId(n){return e.members.cache.get(n)},byFilter(n){return e.members.cache.find(n)}}}function j(e){return{byColor(n,r=()=>!0){return e.roles.cache.find(t=>t.color==n&&r(t))},byHexColor(n,r=()=>!0){return e.roles.cache.find(t=>t.hexColor==n&&r(t))},byName(n,r=()=>!0){return e.roles.cache.find(t=>t.name==n&&r(t))},byId(n){return e.roles.cache.get(n)},byFilter(n){return e.roles.cache.find(n)}}}function c(...e){return new h({components:e})}function D(e){return c(new G(e))}function $(e){return e.label||(e.label=e.url),new M({style:C.Link,...e})}export{A as CustomItents,B as CustomPartials,v as createEmbed,U as createEmbedAsset,L as createEmbedAuthor,T as createEmbedFooter,$ as createLinkButton,D as createModalInput,c as createRow,E as findChannel,k as findCommand,w as findEmoji,S as findMember,j as findRole};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../src/constants/client.ts","../src/functions/channels.ts","../src/functions/embeds.ts","../src/functions/roles.ts","../src/functions/utils.ts"],"sourcesContent":["import { GatewayIntentBits, IntentsBitField, Partials } from \"discord.js\";\r\n\r\nconst Messages = [\r\n IntentsBitField.Flags.MessageContent,\r\n IntentsBitField.Flags.GuildMessages,\r\n IntentsBitField.Flags.GuildMessageReactions,\r\n IntentsBitField.Flags.GuildMessageTyping,\r\n IntentsBitField.Flags.DirectMessages,\r\n IntentsBitField.Flags.DirectMessageReactions,\r\n IntentsBitField.Flags.DirectMessageTyping,\r\n];\r\nconst Guild = [\r\n IntentsBitField.Flags.GuildEmojisAndStickers,\r\n IntentsBitField.Flags.GuildIntegrations,\r\n IntentsBitField.Flags.GuildInvites,\r\n IntentsBitField.Flags.GuildMembers,\r\n IntentsBitField.Flags.GuildMessageReactions,\r\n IntentsBitField.Flags.GuildMessageTyping,\r\n IntentsBitField.Flags.GuildMessages,\r\n IntentsBitField.Flags.GuildModeration,\r\n IntentsBitField.Flags.GuildPresences,\r\n IntentsBitField.Flags.GuildScheduledEvents,\r\n IntentsBitField.Flags.GuildVoiceStates,\r\n IntentsBitField.Flags.GuildWebhooks,\r\n IntentsBitField.Flags.Guilds,\r\n];\r\n\r\nconst Other = [\r\n IntentsBitField.Flags.AutoModerationConfiguration,\r\n IntentsBitField.Flags.AutoModerationExecution,\r\n];\r\n\r\n\r\nexport const CustomItents = {\r\n Messages,\r\n Guild,\r\n Other,\r\n All: Object.values(IntentsBitField.Flags) as GatewayIntentBits[]\r\n} as const;\r\n\r\nexport const CustomPartials = {\r\n All: [\r\n Partials.Channel,\r\n Partials.GuildMember,\r\n Partials.GuildScheduledEvent,\r\n Partials.Message,\r\n Partials.Reaction,\r\n Partials.ThreadMember,\r\n Partials.User,\r\n ]\r\n} as const","import type { CommandInteractionOption, Guild } from \"discord.js\";\r\nimport { ChannelType } from \"discord.js\";\r\n\r\ntype GetChannelType<Type extends ChannelType> = Extract<NonNullable<CommandInteractionOption<\"cached\">[\"channel\"]>, {\r\n type: Type extends ChannelType.PublicThread | ChannelType.AnnouncementThread\r\n ? ChannelType.PublicThread | ChannelType.AnnouncementThread\r\n : Type;\r\n}>\r\nexport function findChannel<Type extends Exclude<ChannelType, ChannelType.DM> = ChannelType.GuildText>(guild: Guild, type?: Type){\r\n const channelType = type || ChannelType.GuildText;\r\n return {\r\n byName(name: string): GetChannelType<Type> | undefined {\r\n return guild.channels.cache.find(channel => channel.name === name && channel.type === channelType) as GetChannelType<Type>;\r\n },\r\n byId(id: string): GetChannelType<Type> | undefined {\r\n return guild.channels.cache.find(channel => channel.id === id && channel.type === channelType) as GetChannelType<Type>;\r\n }\r\n }\r\n}","import { Attachment, AttachmentBuilder, ColorResolvable, EmbedAssetData, EmbedAuthorData, EmbedBuilder, EmbedFooterData, ImageURLOptions, User } from \"discord.js\";\r\n\r\ninterface CreateEmbedAuthorOptions {\r\n user: User,\r\n property?: \"username\" | \"displayName\" | \"id\" | \"globalName\"\r\n imageSize?: ImageURLOptions[\"size\"],\r\n iconURL?: string, url?: string, prefix?: string, suffix?: string,\r\n}\r\nexport function createEmbedAuthor(options: CreateEmbedAuthorOptions): EmbedAuthorData {\r\n const { user, property=\"displayName\", imageSize: size=512, \r\n iconURL, url, prefix=\"\", suffix=\"\"\r\n } = options;\r\n return {\r\n name: `${prefix}${user[property]}${suffix}`, url, \r\n iconURL: iconURL || user.displayAvatarURL({ size }) \r\n };\r\n}\r\ntype EmbedAssetOptions = Omit<EmbedAssetData, \"url\">\r\ntype AssetSource = string | null | Attachment | AttachmentBuilder;\r\n\r\nexport function createEmbedAsset(source?: AssetSource, options?: EmbedAssetOptions): EmbedAssetData | undefined {\r\n if (source instanceof Attachment || source instanceof AttachmentBuilder){\r\n return { url: `attachment://${source.name}`, ...options }\r\n }\r\n return source ? { url: source, ...options } : undefined;\r\n}\r\n\r\ntype EmbedColor = ColorResolvable | (string & {});\r\ntype BaseEmbedField = {\r\n name: string;\r\n value: string;\r\n inline?: boolean\r\n}\r\ntype BaseEmbedData = { \r\n title?: string;\r\n color?: EmbedColor;\r\n description?: string;\r\n url?: string;\r\n timestamp?: string | number | Date;\r\n footer?: EmbedFooterData;\r\n image?: EmbedAssetData;\r\n thumbnail?: EmbedAssetData;\r\n author?: EmbedAuthorData;\r\n fields?: BaseEmbedField[];\r\n}\r\ntype CreateEmbedOptions = BaseEmbedData & {\r\n extend?: BaseEmbedData;\r\n modify?: {\r\n fields?(fields: BaseEmbedField[]): BaseEmbedField[];\r\n }\r\n}\r\nexport function createEmbed(options: CreateEmbedOptions){\r\n const { extend: extendRaw = {}, ...embedRaw } = options;\r\n\r\n const { color: embedColor, modify, ...embedData } = embedRaw;\r\n const { color: extendColor, ...extendData } = extendRaw;\r\n\r\n const data = { ...extendData, ...embedData };\r\n const builder = new EmbedBuilder(data);\r\n \r\n if (extendColor) builder.setColor(extendColor as ColorResolvable);\r\n if (embedColor) builder.setColor(embedColor as ColorResolvable);\r\n\r\n if (modify?.fields && typeof modify.fields == \"function\"){\r\n const fields = modify.fields(builder.data.fields || []);\r\n builder.setFields(fields);\r\n }\r\n return builder;\r\n}","import type { Guild } from \"discord.js\";\r\n\r\nexport function findRole(guild: Guild){\r\n return {\r\n byName(name: string){\r\n return guild.roles.cache.find(role => role.name == name);\r\n },\r\n byId(id: string){\r\n return guild.roles.cache.get(id); \r\n }\r\n }\r\n}","import type { AnyComponentBuilder, LinkButtonComponentData, TextInputComponentData } from \"discord.js\";\r\nimport { ActionRowBuilder, ButtonBuilder, ButtonStyle, TextInputBuilder, } from \"discord.js\";\r\n\r\nexport function createRow<Component extends AnyComponentBuilder>(...components: Component[]){\r\n return new ActionRowBuilder<Component>({components});\r\n}\r\ntype CreateModalInputData = Omit<TextInputComponentData, \"type\">;\r\n\r\nexport function createModalInput(data: CreateModalInputData){\r\n return createRow(new TextInputBuilder(data));\r\n}\r\n\r\ntype CreateLinkButtonData = Omit<LinkButtonComponentData, \"style\" | \"type\">\r\n\r\nexport function createLinkButton(data: CreateLinkButtonData){\r\n if (!data.label) data.label = data.url;\r\n return new ButtonBuilder({style: ButtonStyle.Link, ...data});\r\n}"],"names":["Messages","IntentsBitField","Guild","Other","CustomItents","CustomPartials","Partials","findChannel","guild","type","channelType","ChannelType","name","channel","id","createEmbedAuthor","options","user","property","size","iconURL","url","prefix","suffix","createEmbedAsset","source","Attachment","AttachmentBuilder","createEmbed","extendRaw","embedRaw","embedColor","modify","embedData","extendColor","extendData","data","builder","EmbedBuilder","fields","findRole","role","createRow","components","ActionRowBuilder","createModalInput","TextInputBuilder","createLinkButton","ButtonBuilder","ButtonStyle"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../src/constants/client.ts","../src/functions/channels.ts","../src/functions/commands.ts","../src/functions/embeds.ts","../src/functions/emojis.ts","../src/functions/members.ts","../src/functions/roles.ts","../src/functions/utils.ts"],"sourcesContent":["import { GatewayIntentBits, IntentsBitField, Partials } from \"discord.js\";\r\n\r\nconst Messages = [\r\n IntentsBitField.Flags.MessageContent,\r\n IntentsBitField.Flags.GuildMessages,\r\n IntentsBitField.Flags.GuildMessageReactions,\r\n IntentsBitField.Flags.GuildMessageTyping,\r\n IntentsBitField.Flags.DirectMessages,\r\n IntentsBitField.Flags.DirectMessageReactions,\r\n IntentsBitField.Flags.DirectMessageTyping,\r\n];\r\nconst Guild = [\r\n IntentsBitField.Flags.GuildEmojisAndStickers,\r\n IntentsBitField.Flags.GuildIntegrations,\r\n IntentsBitField.Flags.GuildInvites,\r\n IntentsBitField.Flags.GuildMembers,\r\n IntentsBitField.Flags.GuildMessageReactions,\r\n IntentsBitField.Flags.GuildMessageTyping,\r\n IntentsBitField.Flags.GuildMessages,\r\n IntentsBitField.Flags.GuildModeration,\r\n IntentsBitField.Flags.GuildPresences,\r\n IntentsBitField.Flags.GuildScheduledEvents,\r\n IntentsBitField.Flags.GuildVoiceStates,\r\n IntentsBitField.Flags.GuildWebhooks,\r\n IntentsBitField.Flags.Guilds,\r\n];\r\n\r\nconst Other = [\r\n IntentsBitField.Flags.AutoModerationConfiguration,\r\n IntentsBitField.Flags.AutoModerationExecution,\r\n];\r\n\r\n\r\nexport const CustomItents = {\r\n Messages,\r\n Guild,\r\n Other,\r\n All: Object.values(IntentsBitField.Flags) as GatewayIntentBits[]\r\n};\r\n\r\nexport const CustomPartials = {\r\n All: [\r\n Partials.Channel,\r\n Partials.GuildMember,\r\n Partials.GuildScheduledEvent,\r\n Partials.Message,\r\n Partials.Reaction,\r\n Partials.ThreadMember,\r\n Partials.User,\r\n ]\r\n};","import type { CommandInteractionOption, Guild } from \"discord.js\";\r\nimport { ChannelType } from \"discord.js\";\r\n\r\ntype GetChannelType<Type extends ChannelType> = Extract<NonNullable<CommandInteractionOption<\"cached\">[\"channel\"]>, {\r\n type: Type extends ChannelType.PublicThread | ChannelType.AnnouncementThread\r\n ? ChannelType.PublicThread | ChannelType.AnnouncementThread\r\n : Type;\r\n}>\r\nexport function findChannel<Type extends Exclude<ChannelType, ChannelType.DM> = ChannelType.GuildText>(guild: Guild, type?: Type){\r\n const channelType = type ?? ChannelType.GuildText;\r\n const cache = guild.channels.cache;\r\n return {\r\n byName(name: string): GetChannelType<Type> | undefined {\r\n return cache.find(c => \r\n c.name === name && \r\n c.type === channelType\r\n ) as GetChannelType<Type>;\r\n },\r\n byId(id: string): GetChannelType<Type> | undefined {\r\n return cache.find(c => \r\n c.id === id && \r\n c.type === channelType\r\n ) as GetChannelType<Type>;\r\n },\r\n inCategoryId(id: string){\r\n return {\r\n byName(name: string): GetChannelType<Type> | undefined {\r\n return cache.find(c => \r\n c.name === name && \r\n c.type === channelType && \r\n c.parentId == id\r\n ) as GetChannelType<Type>;\r\n },\r\n byId(id: string): GetChannelType<Type> | undefined {\r\n return cache.find(c => \r\n c.id === id && \r\n c.type === channelType && \r\n c.parentId == id\r\n ) as GetChannelType<Type>;\r\n },\r\n };\r\n },\r\n inCategoryName(name: string){\r\n return {\r\n byName(name: string): GetChannelType<Type> | undefined {\r\n return cache.find(c => \r\n c.name === name && \r\n c.type === channelType && \r\n c.parent?.name == name\r\n ) as GetChannelType<Type>;\r\n },\r\n byId(id: string): GetChannelType<Type> | undefined {\r\n return cache.find(c => \r\n c.id === id && \r\n c.type === channelType && \r\n c.parent?.name == name\r\n ) as GetChannelType<Type>;\r\n },\r\n };\r\n }\r\n }\r\n}","import { ApplicationCommand, Client, Guild } from \"discord.js\";\r\n\r\ntype FindCommandFilter = (command: ApplicationCommand) => boolean\r\n\r\nexport function findCommand(guildOrClient: Guild | Client<true>){\r\n const commands = guildOrClient instanceof Client\r\n ? guildOrClient.application.commands.cache\r\n : guildOrClient.commands.cache;\r\n\r\n return {\r\n byName(name: string, and: FindCommandFilter = () => true){\r\n return commands.find(command => command.name === name && and(command))\r\n },\r\n byId(id: string){\r\n return commands.get(id)\r\n },\r\n byFilter(filter: FindCommandFilter){\r\n return commands.find(filter);\r\n }\r\n }\r\n}","import { notFound } from \"@magicyan/core\";\r\nimport { Attachment, AttachmentBuilder, ColorResolvable, EmbedAssetData, EmbedAuthorData, EmbedBuilder, EmbedFooterData, Guild, GuildMember, ImageURLOptions, User } from \"discord.js\";\r\n\r\ninterface CreateEmbedAuthorOptions {\r\n user: User,\r\n property?: \"username\" | \"displayName\" | \"id\" | \"globalName\"\r\n imageSize?: ImageURLOptions[\"size\"],\r\n iconURL?: string, url?: string, prefix?: string, suffix?: string,\r\n}\r\nexport function createEmbedAuthor(options: CreateEmbedAuthorOptions): EmbedAuthorData {\r\n const { user, property=\"displayName\", imageSize: size=512, \r\n iconURL, url, prefix=\"\", suffix=\"\"\r\n } = options;\r\n return {\r\n name: `${prefix}${user[property]}${suffix}`, url, \r\n iconURL: iconURL || user.displayAvatarURL({ size }) \r\n };\r\n}\r\n\r\ninterface CreateEmbedFooterOptions {\r\n text?: string | null;\r\n iconURL?: string | null;\r\n}\r\nexport function createEmbedFooter(options: CreateEmbedFooterOptions): EmbedFooterData {\r\n const { text, iconURL } = options;\r\n return { text: text ?? \"\\u200b\", iconURL: notFound(iconURL) };\r\n}\r\n\r\ntype EmbedAssetOptions = Omit<EmbedAssetData, \"url\">\r\ntype AssetSource = string | null | Attachment | AttachmentBuilder;\r\n\r\nexport function createEmbedAsset(source?: AssetSource, options?: EmbedAssetOptions): EmbedAssetData | undefined {\r\n if (source instanceof Attachment || source instanceof AttachmentBuilder){\r\n return { url: `attachment://${source.name}`, ...options }\r\n }\r\n return source ? { url: source, ...options } : undefined;\r\n}\r\n\r\ntype EmbedColor = ColorResolvable | (string & {});\r\ntype BaseEmbedField = {\r\n name: string;\r\n value: string;\r\n inline?: boolean\r\n}\r\ntype BaseEmbedData = { \r\n title?: string;\r\n color?: EmbedColor;\r\n description?: string;\r\n url?: string;\r\n timestamp?: string | number | Date;\r\n footer?: EmbedFooterData;\r\n image?: EmbedAssetData;\r\n thumbnail?: EmbedAssetData;\r\n author?: EmbedAuthorData;\r\n fields?: BaseEmbedField[];\r\n}\r\ntype CreateEmbedOptions = BaseEmbedData & {\r\n extend?: BaseEmbedData;\r\n modify?: {\r\n fields?(fields: BaseEmbedField[]): BaseEmbedField[];\r\n }\r\n}\r\nexport function createEmbed(options: CreateEmbedOptions){\r\n const { extend: extendRaw = {}, ...embedRaw } = options;\r\n\r\n const { color: embedColor, modify, ...embedData } = embedRaw;\r\n const { color: extendColor, ...extendData } = extendRaw;\r\n\r\n const data = { ...extendData, ...embedData };\r\n const builder = new EmbedBuilder(data);\r\n \r\n if (extendColor) builder.setColor(extendColor as ColorResolvable);\r\n if (embedColor) builder.setColor(embedColor as ColorResolvable);\r\n\r\n if (modify?.fields && typeof modify.fields == \"function\"){\r\n const fields = modify.fields(builder.data.fields || []);\r\n builder.setFields(fields);\r\n }\r\n return builder;\r\n}","import type { Client, Guild, GuildEmoji } from \"discord.js\";\r\n\r\ntype FindEmojiFilter = (emoji: GuildEmoji) => boolean\r\n\r\nexport function findEmoji(guildOrClient: Guild | Client){\r\n const emojis = guildOrClient.emojis.cache;\r\n return {\r\n byName(name: string, animated?: boolean, and: FindEmojiFilter = () => true){\r\n return animated \r\n ? emojis.find(emoji => emoji.name == name && emoji.animated == animated && and(emoji))\r\n : emojis.find(emoji => emoji.name == name && and(emoji))\r\n },\r\n byId(id: string, animated?: boolean){\r\n return animated\r\n ? emojis.find(emoji => emoji.id == id && emoji.animated == animated)\r\n : emojis.find(emoji => emoji.id == id)\r\n },\r\n byFilter(filter: FindEmojiFilter){\r\n return guildOrClient.emojis.cache.find(filter);\r\n }\r\n }\r\n}","import type { Guild, GuildMember } from \"discord.js\";\r\n\r\ntype FindMemberFilter = (member: GuildMember) => boolean;\r\n\r\nexport function findMember(guild: Guild){\r\n return {\r\n byGlobalName(globalName: string, and: FindMemberFilter = () => true){\r\n return guild.members.cache.find(member => member.user.globalName == globalName && and(member));\r\n },\r\n byNickname(nickname: string, and: FindMemberFilter = () => true){\r\n return guild.members.cache.find(member => member.nickname && member.nickname == nickname && and(member));\r\n },\r\n byUsername(username: string, and: FindMemberFilter = () => true){\r\n return guild.members.cache.find(member => member.user.username === username && and(member));\r\n },\r\n byDisplayName(displayName: string, and: FindMemberFilter = () => true){\r\n return guild.members.cache.find(member => member.displayName === displayName && and(member));\r\n },\r\n byId(id: string){\r\n return guild.members.cache.get(id); \r\n },\r\n byFilter(filter: FindMemberFilter){\r\n return guild.members.cache.find(filter);\r\n }\r\n }\r\n}","import type { Guild, Role } from \"discord.js\";\r\n\r\ntype FindRoleFilter = (role: Role) => boolean;\r\n\r\nexport function findRole(guild: Guild){\r\n return {\r\n byColor(color: number, and: FindRoleFilter = () => true){\r\n return guild.roles.cache.find(role => role.color == color && and(role));\r\n },\r\n byHexColor(hexColor: string, and: FindRoleFilter = () => true){\r\n return guild.roles.cache.find(role => role.hexColor == hexColor && and(role));\r\n },\r\n byName(name: string, and: FindRoleFilter = () => true){\r\n return guild.roles.cache.find(role => role.name == name && and(role));\r\n },\r\n byId(id: string){\r\n return guild.roles.cache.get(id); \r\n },\r\n byFilter(filter: (role: Role) => boolean){\r\n return guild.roles.cache.find(filter);\r\n }\r\n }\r\n}","import type { AnyComponentBuilder, LinkButtonComponentData, TextInputComponentData } from \"discord.js\";\r\nimport { ActionRowBuilder, ButtonBuilder, ButtonStyle, TextInputBuilder, } from \"discord.js\";\r\n\r\nexport function createRow<Component extends AnyComponentBuilder>(...components: Component[]){\r\n return new ActionRowBuilder<Component>({components});\r\n}\r\ntype CreateModalInputData = Omit<TextInputComponentData, \"type\">;\r\n\r\nexport function createModalInput(data: CreateModalInputData){\r\n return createRow(new TextInputBuilder(data));\r\n}\r\n\r\ntype CreateLinkButtonData = Omit<LinkButtonComponentData, \"style\" | \"type\">\r\n\r\nexport function createLinkButton(data: CreateLinkButtonData){\r\n if (!data.label) data.label = data.url;\r\n return new ButtonBuilder({style: ButtonStyle.Link, ...data});\r\n}"],"names":["Messages","IntentsBitField","Guild","Other","CustomItents","CustomPartials","Partials","findChannel","guild","type","channelType","ChannelType","cache","name","c","id","findCommand","guildOrClient","commands","Client","and","command","filter","createEmbedAuthor","options","user","property","size","iconURL","url","prefix","suffix","createEmbedFooter","text","notFound","createEmbedAsset","source","Attachment","AttachmentBuilder","createEmbed","extendRaw","embedRaw","embedColor","modify","embedData","extendColor","extendData","data","builder","EmbedBuilder","fields","findEmoji","emojis","animated","emoji","findMember","globalName","member","nickname","username","displayName","findRole","color","role","hexColor","createRow","components","ActionRowBuilder","createModalInput","TextInputBuilder","createLinkButton","ButtonBuilder","ButtonStyle"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@magicyan/discord",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.14",
|
|
4
4
|
"description": "Simple functions to facilitate discord bot development",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"unbuild": "^2.0.0"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@magicyan/core": "^1.0.
|
|
42
|
+
"@magicyan/core": "^1.0.14"
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|
|
45
45
|
"discord.js": "^14.14.1"
|