feat(lib/init): load plugins on startup

This commit is contained in:
PalmDevs 2025-04-29 21:45:14 +07:00
parent 020045f2eb
commit f19c8e925a
No known key found for this signature in database
GPG key ID: 6FAE8F8677ACA8BA
3 changed files with 28 additions and 0 deletions

View file

@ -20,8 +20,12 @@ onModuleFirstRequired(
onModuleInitialized(
0,
runCatching(function onceIndexInitialized() {
// Register all plugins
require('@plugins/all')
// Initialize init libraries
require('@revenge-mod/assets/init')
require('@revenge-mod/plugins/init')
logger.log('Revenge loaded!')

1
plugins/all.ts Normal file
View file

@ -0,0 +1 @@
import './staff-settings'

View file

@ -0,0 +1,23 @@
import { findModule } from '@revenge-mod/modules/finders'
import { byProps } from '@revenge-mod/modules/finders/filters'
import { after } from '@revenge-mod/patcher'
import { PluginFlags } from '@revenge-mod/plugins'
import { registerPlugin } from '@revenge-mod/plugins/_'
registerPlugin(
{
id: 'revenge.staff-settings',
name: 'Staff Settings',
description: "Allows accessing Discord's Staff Settings.",
icon: 'StaffBadgeIcon',
},
{
init: async ({ cleanup }) => {
const UserStoreUtils = await findModule(byProps('isStaffEnv'))
cleanup(after(UserStoreUtils, 'isStaffEnv', () => true))
},
},
PluginFlags.Internal | PluginFlags.Enabled,
)