WP Manifestindependent plugin directory
manifest / integrations / imrelay-chat

IMRelay Chat

IMRelay Chat for WordPress. Adds the IMRelay chat widget to your site; answers from your own documentation and hands over to your team.

by IMRelay · github.com/fivebucksventures/imrelay-chat · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/fivebucksventures/imrelay-chat/archive/refs/heads/main.zip

IMRelay Chat — WordPress plugin

Puts IMRelay Chat on a WordPress site.

Its own repo because it is not Next.js. PHP, a different toolchain, and a release cadence tied to WordPress rather than to the app. The IMRelay app lives in imrelay/.

What it does

Injects one script tag:

<script src="https://www.imrelay.io/widget/widget.js" data-relay data-site="HANDLE" defer></script>

That tag is byte-for-byte the one an owner would paste by hand, and the same one the Wix app writes. Build once, wrap twice: the snippet is the substrate and the wrappers are delivery. If the tag shape changes it changes in one place and all three follow.

The two things worth knowing before changing anything

🔴 It holds no secret. data-site is an opaque public handle that is in page source on every visitor's browser anyway. Every control lives on IMRelay's side: the per-site origin allowlist decides which websites may open a chat, the rate limits decide how fast. A plugin holding an API key would be a credential in a database on shared hosting, which is exactly what this avoids.

⚠️ The tag shape is a public API. Plugins sit on customers' sites for years and cannot be quietly re-specified. data-relay and data-site are fixed.

Layout

imrelay-chat.php Plugin header, enqueue, the script_loader_tag filter
includes/class-imrelay-settings.php The IMRelay Chat top-level menu item
uninstall.php Removes options only. Never touches IMRelay data
readme.txt wordpress.org format, used by the plugin directory
build.sh Produces the installable .zip

Releasing

./build.sh          # -> imrelay-chat-1.0.0.zip

A self-hosted zip needs no approval from anybody, which is why it ships first. A wordpress.org listing needs their plugin review; a Wix App Market listing needs Wix's. Both are gates outside our control, the same shape as Meta's App Review, and neither blocks getting this into a customer's hands.

Local development

Point the plugin at a local IMRelay by adding to wp-config.php:

define( 'IMRELAY_ORIGIN', 'http://localhost:3000' );

⚠️ The origin check still applies. Set the WordPress site's own address in IMRelay under Channels → IMRelay Chat, or the widget will load and then refuse, which looks identical to it not loading at all.