6 lines
8.6 KiB
JavaScript
6 lines
8.6 KiB
JavaScript
(function(v,r,C,a,R,u,$,Y,U,c,B){"use strict";const{FormSwitchRow:p,FormIcon:g,FormSection:T,FormDivider:V}=B.Forms,h={List:c.getAssetIDByName("ic_list"),Message:c.getAssetIDByName("ic_message"),Copy:c.getAssetIDByName("ic_copy_message_link"),Info:c.getAssetIDByName("ic_info"),Theme:c.getAssetIDByName("ic_theme"),Plugin:c.getAssetIDByName("ic_plugins")};function W(){return U.useProxy(a.storage),a.storage.factSettings||(a.storage.factSettings={sendAsReply:!0,includeCitation:!1}),a.storage.listSettings||(a.storage.listSettings={pluginListAlwaysDetailed:!1,themeListAlwaysDetailed:!1}),React.createElement(B.ErrorBoundary,null,React.createElement(Y.ReactNative.ScrollView,{style:{flex:1}},React.createElement(T,{title:"Fact Commands",titleStyleType:"no_border"},React.createElement(p,{label:"Send as Reply",subLabel:"Send facts as a reply to the command message",leading:React.createElement(g,{source:h.Message}),onValueChange:function(e){a.storage.factSettings.sendAsReply=e},value:a.storage.factSettings.sendAsReply}),React.createElement(V,null),React.createElement(p,{label:"Include Source Citation",subLabel:"Include the source of facts when available",leading:React.createElement(g,{source:h.Info}),onValueChange:function(e){a.storage.factSettings.includeCitation=e},value:a.storage.factSettings.includeCitation})),React.createElement(T,{title:"Plugin List",titleStyleType:"no_border"},React.createElement(p,{label:"Always Send Detailed List",subLabel:"Always use detailed mode when listing plugins",leading:React.createElement(g,{source:h.Plugin}),onValueChange:function(e){a.storage.listSettings.pluginListAlwaysDetailed=e},value:a.storage.listSettings.pluginListAlwaysDetailed})),React.createElement(T,{title:"Theme List",titleStyleType:"no_border"},React.createElement(p,{label:"Always Send Detailed List",subLabel:"Always use detailed mode when listing themes",leading:React.createElement(g,{source:h.Theme}),onValueChange:function(e){a.storage.listSettings.themeListAlwaysDetailed=e},value:a.storage.listSettings.themeListAlwaysDetailed}))))}const P=C.findByStoreName("UserStore"),k=C.findByProps("sendMessage"),x=C.findByProps("sendBotMessage"),_=P.getCurrentUser()?.premiumType===2?4e3:2e3;let o=[];const l={ENABLED:"\u{1F7E2}",DISABLED:"\u{1F534}",SELECTED:"\u{1F536}",NOT_SELECTED:"\u{1F537}"},m="https://vd-plugins.github.io/proxy/actuallythesun.github.io/vendetta-plugins/SplitLargeMessages/",q=async function(){const e=await(await fetch("https://uselessfacts.jsph.pl/api/v2/facts/random")).json();return{text:e.text,source:e.source,language:e.language}},z=async function(){return{text:(await(await fetch("https://dogapi.dog/api/v2/facts?limit=1")).json()).data[0].attributes.body}},G=async function(){const e=await(await fetch("https://catfact.ninja/fact")).json();return{text:e.fact,length:e.length}};async function H(e){return await(await fetch(`https://api.obamabot.me/v2/image/petpet?image=${e.replace("webp","png")}`)).json()}const N=function(e){let t=e.text;return a.storage.factSettings?.includeCitation&&e.source&&(t+=`
|
|
|
|
Source: ${e.source}`),t},i=function(e,t,s){const n={content:t,...s&&a.storage.factSettings?.sendAsReply?{messageReference:{messageId:s}}:{}};return k.sendMessage(e,n,void 0,{nonce:BigInt(Date.now())<<22n}),{type:4}},y=function(e){return e.map(function(t){return t.name}).join(", ")},f=function(e){return e.join(`
|
|
`).trimEnd()},S=function(e){return f(e).length},M=async function(e,t){return i(e,f(t))},j=function(){return Object.keys(u.plugins).includes(m)},O=function(){return Object.values(u.plugins).find(function(e){return e.id===m})?.enabled??!1};async function J(e,t){const s=a.storage.themeListAlwaysDetailed??!1,n=[`**My Theme List | ${Object.keys(R.themes).length} Themes**`,""],d=Object.values(R.themes);if(d.length)for(const E of d){const{selected:b,data:I,id:w}=E,{name:L,description:A,authors:F}=I;e||s?n.push(`> **Name**: ${L}`,`> **Selected**: ${b?l.SELECTED:l.NOT_SELECTED}`,`> **Description**: ${A}`,`> **Authors**: ${y(F)}`,`> **[Install!](${w})**`,""):n.push(`> ${b?l.SELECTED:l.NOT_SELECTED} **${L}** by ${y(F)}`)}else n.push("Nothing to see here, huh...");const D=S(n)>_;return D&&!j()?(x.sendBotMessage(t.channel.id,`Your list is too long to send it! Please install the [Split Large Messages](${m}) plugin.`),{type:4}):D&&!O()?(x.sendBotMessage(t.channel.id,`Your list is too long to send it! You have the Split Large Messages plugin installed, but it's not enabled!
|
|
> Please enable it in order to send the list.`),{type:4}):S(n)>2e3?$.alerts.showConfirmationAlert({content:"Your list is over than 2000 characters. Are you sure?",confirmText:"Yes",cancelText:"No",onConfirm:async function(){return M(t.channel.id,n)}}):M(t.channel.id,n)}async function K(e,t){const s=a.storage.pluginListAlwaysDetailed??!1,n=[`**My Plugin List | ${Object.keys(u.plugins).length} Plugins**`,""];for(const D of Object.values(u.plugins)){const{enabled:E,manifest:b,id:I}=D,{name:w,description:L,authors:A}=b;e||s?n.push(`> **Name**: ${w}`,`> **Status**: ${E?l.ENABLED:l.DISABLED}`,`> **Description**: ${L}`,`> **Authors**: ${y(A)}`,`> **[Install!](${I})**`,""):n.push(`> ${E?l.ENABLED:l.DISABLED} **${w}** by ${y(A)}`)}const d=S(n)>_;return d&&!j()?i(t.channel.id,`Your list is too long to send it! Please install the [Split Large Messages](${m}) plugin.`):d&&!O()?i(t.channel.id,`Your list is too long to send it! You have the Split Large Messages plugin installed, but it's not enabled!
|
|
> Please enable it in order to send the list.`):S(n)>2e3?$.alerts.showConfirmationAlert({content:"Your list is over than 2000 characters. Are you sure?",confirmText:"Yes",cancelText:"No",onConfirm:async function(){return i(t.channel.id,f(n))}}):i(t.channel.id,f(n))}const Q=function(){o.push(r.registerCommand({name:"catfact",displayName:"catfact",description:"Sends a random cat fact.",displayDescription:"Sends a random cat fact.",applicationId:"-1",inputType:1,type:1,execute:async function(e,t){const s=await G();return i(t.channel.id,N(s),t.message?.id)}})),o.push(r.registerCommand({name:"dogfact",displayName:"dogfact",description:"Sends a dog fact.",displayDescription:"Sends a dog fact.",applicationId:"-1",inputType:1,type:1,execute:async function(e,t){const s=await z();return i(t.channel.id,N(s),t.message?.id)}})),o.push(r.registerCommand({name:"useless",displayName:"useless",description:"Sends a useless fact.",displayDescription:"Sends a useless fact.",applicationId:"-1",inputType:1,type:1,execute:async function(e,t){const s=await q();return i(t.channel.id,N(s),t.message?.id)}})),o.push(r.registerCommand({name:"petpet",displayName:"petpet",description:"PetPet someone",displayDescription:"PetPet someone",options:[{name:"user",description:"The user(or their id) to be patted",type:6,required:!0,displayName:"user",displayDescription:"The user(or their id) to be patted"}],execute:async function(e,t){const s=(await P.getUser(e[0].value)).getAvatarURL(512),n=await H(s);return i(t.channel.id,n.url,t.message?.id)},applicationId:"-1",inputType:1,type:1})),o.push(r.registerCommand({name:"plugin-list",displayName:"plugin list",description:"Send your plugin list to the current channel",displayDescription:"Send your plugin list to the current channel",options:[{name:"detailed",description:"Whether to send a list with detailed information.",type:5,required:!1,displayName:"detailed",displayDescription:"Whether to send a list with detailed information."}],execute:async function(e,t){const s=e.find(function(n){return n.name==="detailed"})?.value??!1;return K(s,t)},applicationId:"-1",inputType:1,type:1})),o.push(r.registerCommand({name:"theme-list",displayName:"theme list",description:"Send your theme list to the current channel",displayDescription:"Send your theme list to the current channel",options:[{name:"detailed",description:"Whether to send a list with detailed information.",type:5,required:!1,displayName:"detailed",displayDescription:"Whether to send a list with detailed information."}],execute:async function(e,t){const s=e.find(function(n){return n.name==="detailed"})?.value??!1;return J(s,t)},applicationId:"-1",inputType:1,type:1}))};a.storage.factSettings||(a.storage.factSettings={sendAsReply:!0,includeCitation:!1}),a.storage.listSettings||(a.storage.listSettings={pluginListAlwaysDetailed:!1,themeListAlwaysDetailed:!1});var X={onLoad:function(){console.log("[All-In-One Commands] Plugin loaded!"),Q()},onUnload:function(){console.log("[All-In-One Commands] Plugin unloaded!"),o.forEach(function(e){return e()}),o=[]},settings:W};return v.default=X,Object.defineProperty(v,"__esModule",{value:!0}),v})({},vendetta.commands,vendetta.metro,vendetta.plugin,vendetta.themes,vendetta.plugins,vendetta.ui,vendetta.metro.common,vendetta.storage,vendetta.ui.assets,vendetta.ui.components);
|