Hamid Pulse Notifications for Telegram and Bale

Description

Hamid Pulse sends rich, Markdown-formatted notifications to Telegram, Bale, or both at the same time whenever something happens on your WordPress site. Every platform keeps its own isolated configuration — bot token, recipients, and endpoint — so you can mirror alerts to two messengers at once.

Receive notifications when:

  • A post is published or submitted for review (any post type).
  • A new user registers.
  • A user signs in — or someone fails to (passwords are never collected or sent).
  • A new comment arrives, with optional spam filtering.
  • Contact Form 7, WPForms, Ninja Forms or Elementor Pro forms are submitted.
  • Visitors subscribe or unsubscribe through Mailchimp (MC4WP).
  • A WooCommerce order arrives (configurable trigger), an order status changes, products are added/removed from the cart, or stock runs low.
  • WP Activity Log (WSAL) records an event.

Highlights:

  • Multi-platform dispatcher — Telegram Bot API and Bale Bot API (~95% identical) share one abstract driver, so both platforms behave identically while keeping independent settings.
  • Markdown formatting — every message uses parse_mode: Markdown with safe escaping helpers for dynamic content.
  • Async queue — queued delivery via WP-Cron keeps checkout, forms and logins fast; messages flush in background batches.
  • Send test message button and a Find chat IDs tool right inside the settings, for each platform.
  • Diagnostics — a delivery log with timestamps, HTTP codes and API error details, plus a manual queue flush.
  • Proxy support — custom API endpoints per platform and an HTTP proxy for restricted hosting environments.
  • Privacy first — IP geolocation is strictly opt-in (off by default) and cached.
  • Developer friendlypulse_send_message action, pulse_notification_text filter, and a [pulse_notify] shortcode.
  • AI ready — optional Abilities API / MCP integration so authorized agents can send notifications.

Setup

  1. Create a bot: with @BotFather on Telegram, or @BotFather in Bale.
  2. Copy the bot token into the Pulse Connections tab and enable the platform.
  3. Enter recipient chat IDs (users, groups or channels), or use the built-in Find chat IDs tool.
  4. Press Send test message — if it arrives, you are done.

External services

This plugin connects to third-party APIs to deliver notifications. No data is sent to these services unless you configure a bot token, enable a platform, and a notification event occurs (or you use the test-message / find-chat-IDs tools in the admin).

Telegram Bot API

Used to send notification messages to Telegram chats, groups, or channels you configure, and to list recent chats when you use Find chat IDs.

When a notification is triggered (or you send a test message), the plugin sends the message text, your bot token, recipient chat ID(s), and any optional inline button URL to api.telegram.org (or your custom endpoint) over HTTPS.

Telegram: Terms of Service, Privacy Policy.

Bale Bot API

Used for the same purposes on the Bale messenger via tapi.bale.ai (or your custom endpoint).

When a notification is triggered (or you use the admin tools), the plugin sends the message text, your bot token, recipient chat ID(s), and any optional inline button URL to the Bale Bot API over HTTPS.

Bale: Terms of Service, Privacy Policy (privacy section within the terms page).

ip-api.com (optional)

Used only when you enable Enrich alerts with IP geolocation on the Delivery & Privacy tab (disabled by default).

When enabled and a notification includes an IP address, the visitor’s public IP is sent to ip-api.com over HTTP to resolve city, region, country, and ISP. Results are cached locally in WordPress transients for one hour.

ip-api.com: Terms of use and privacy.

Installation

  1. Upload the hamid folder to /wp-content/plugins/, or install the plugin through the WordPress Plugins screen.
  2. Activate the plugin through the ‘Plugins’ screen in WordPress.
  3. Open the Hamid Pulse menu in your dashboard and configure your Telegram and/or Bale bot in the Connections tab.

FAQ

How do I get a bot token?

Telegram: open @BotFather, send /newbot and follow the prompts; the token looks like 123456789:ABCdefGhIJKlmNoPQRsTUVwxyZ.
Bale: open @BotFather inside Bale and repeat the same steps — Bale’s Bot API mirrors Telegram’s, and Pulse supports both through the same interface.

How do I find my chat ID?

Send any message to your bot, then press Find chat IDs on the Pulse Connections tab. Pulse lists every recent chat (users, groups, channels) with the exact ID to paste into the settings. Group IDs are negative numbers; public channels can be addressed as @channelname.

Can I use Telegram and Bale at the same time?

Yes. Enable both platforms in the Connections tab; each keeps its own token, recipients and endpoint, and every notification is mirrored to both.

Will notifications slow down my site?

No. Set Delivery mode to Queued via WP-Cron on the Delivery & Privacy tab: outgoing messages are stored in a lightweight queue and flushed in background batches, so checkout, forms and logins never wait on the Bot API.

My host blocks api.telegram.org — what can I do?

Two options: set a Custom API endpoint per platform (any mirror that speaks the Bot API), or configure the HTTP proxy on the Delivery & Privacy tab.

Can other plugins send notifications?

Yes — fire the public action from anywhere:

do_action( 'pulse_send_message', 'Hello from my plugin!' );

With an inline button: do_action( 'pulse_send_message', 'New order!', 'View', 'https://example.com/order/1' );
With a recipient override: do_action( 'pulse_send_message', 'Hello', '', '', '123456789' );

The message text can be adjusted with the pulse_notification_text filter.

Is there a shortcode?

[pulse_notify message=”Backup finished” site=”1″ ip=”1″] — attributes: message (required), site, ip, platform (telegram, bale or both), button_label, button_url. Tokens cannot be overridden from shortcodes by design.

Does Pulse collect my data?

No telemetry, no tracking, no phoning home. IP geolocation is off by default; when you enable it, IPs are looked up at ip-api.com and cached locally for one hour. Please make sure your own privacy policy covers this.

Does it support AI agents / MCP?

Optionally. With the Abilities API and MCP Adapter plugins installed, the “Send Pulse notification” ability is exposed at /wp-json/pulse/mcp for authorized agents (administrator capability required).

Is it compatible with WooCommerce HPOS?

Yes. All order data is read and written through the WC_Order CRUD API.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Hamid Pulse Notifications for Telegram and Bale” is open source software. The following people have contributed to this plugin.

Contributors

“Hamid Pulse Notifications for Telegram and Bale” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “Hamid Pulse Notifications for Telegram and Bale” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.0.5

  • Normalize PHP file line endings for compatibility with plugin review tools.

1.0.4

  • Restrict uninstall cleanup to this plugin’s explicitly named options and scheduled event.

1.0.3

  • Rename the display name and text domain to use the distinctive Hamid identifier.
  • Request the new WordPress.org plugin slug hamid.
  • Document third-party services (Telegram, Bale, ip-api.com) in the readme.
  • Exclude WordPress.org directory assets (banners/icons) from the plugin package.

1.0.1

  • Fix missing translators comment for the plural chat-count string (WordPress.WP.I18n.MissingTranslatorsComment).
  • Silence false-positive nonce verification warning in the AJAX connection tester (nonce is verified in verify_request()).
  • Silence direct-database-query warnings in uninstall.php (intentional one-off cleanup query).

1.0.0

  • Initial release.
  • Multi-platform dispatcher for Telegram and Bale with isolated per-platform settings.
  • Markdown-formatted messages with safe escaping helpers.
  • Async WP-Cron delivery queue with manual flush and delivery diagnostics.
  • Notifications for posts, users, sign-ins, comments, forms (CF7, WPForms, Ninja Forms, Elementor Pro, MC4WP), WooCommerce and WP Activity Log.
  • Built-in connection tester and chat ID finder per platform.
  • Custom API endpoints and HTTP proxy support.
  • Optional Abilities API / MCP integration.
  • [pulse_notify] shortcode and pulse_send_message action for developers.