Meow Apps Plugins Access

Each plugin has a special code name (called a prefix) that you’ll use to control what plugin you are customizing. Here’s a quick list of those prefixes to help you out:

PluginPrefixAdditional filters
Database Cleanerdbclnr
AI Enginemwai_allow_public_api
Meow Gallerymgl
Meow Lightboxmwl
Media File Renamermfrh
Social Enginesclegn_allow_moderation
Media Cleanerwpmc

We will be using two filters : _allow_setup and _allow_usage .

Setting the Scene with add_filter in functions.php

Want to customize who can do what? It’s all about tweaking the add_filter function in your theme’s functions.php file (or in a snippet plugin). Let’s take the Database Cleaner plugin as an example and set up a few different roles:

// 🎩 Editors and Admins, welcome to the Database Cleaner settings.
add_filter( 'dbclnr_allow_setup', function() {
	  $editors_admins = current_user_can( 'editor' ) || current_user_can( 'administrator' );
    return $editors_admins;
} );

// ✍️ Authors can use all the features in Database Cleaner.
add_filter( 'dbclnr_allow_usage', function() {
    return current_user_can( 'author' );
} );

Feel free to mix and match the roles and plugin prefixes to fit your needs. If you’ve got custom roles, just drop them into the mix like so:

// Custom role "content_manager" gets access to Meow Gallery
add_filter( 'mgl_allow_usage', function() {
    return current_user_can( 'content_manager' );
} );

You can customize this code how you want, if you use third party plugins for role management, you can use them here also.

Cost Usage Calculation

Unfortunately, depending on the service, this information can not only be retrieved; AI Engine will then guess the tokens usage and price.

Services

Hosting ServiceStreamingTokens UsagePrice UsageNotes
OpenAI (+ Azure)No❤️ Returned by OpenAI❤️ Calculated by AI Engine
OpenAI (+ Azure)Yes❤️ Returned by OpenAI❤️ Calculated by AI Engine
OpenRouterNo❤️ Returned by OpenRouter❤️ Returned by OpenRouter
OpenRouterYes❤️ Returned by OpenRouter❤️ Returned by OpenRouterAn extra request is made to retrieve the tokens/price.
Anthropic (Claude)Any❤️ Returned by OpenRouter❤️ Calculated by AI Engine
GoogleAny⚠️ Guessed by AI Engine❌ Nonehttps://ai.google.dev/pricing

⚠️ Tokens: Guessed by AI Engine

This is done through the estimate_tokens function in the core. In fact, the implementation of each model could do it differently, but there is currently no way to know how each service actually calculate those tokens (since they depend on how the messages are actually formatted, how the images are counted, etc). This is highly inaccurate. If you depend on this, use something else.

Hosting Services And Streaming

The reason some services are compatible with streaming is because they can handle SSE (Server-Sent Events). Without this capability, streaming cannot be utilized.

Hosting ServiceStreaming
ALL-INKL
Cloudways⚠️ Need to ask them
Flywheel
Hostinger
IONOS✖️
Kinsta
Local by Flywheel✖️ (default) | ✅ (modified)
one.com✖️
OVH✖️
Siteground
Vultr
Webhotell✖️ (default) | ✅ (modified)
WP Engine✖️
WPX
DomeneShop⚠️ Only with PHP 8.1

If you have information about other services or if there are modifications needed here, please feel free to contact us to update this documentation.