xpay✦ Commerce
Directory
WooCommerce plugins
Notification for Telegram
Notification for Telegram
Sends notifications to Telegram users or groups, when some events occur in WordPress.
4.9
(69 ratings)Will this break my store?
What the WordPress.org registry says about keeping Notification for Telegram running.
Tested to 7.1.1
Tested against the WordPress branch in use today.1 month ago
At least 3.6 releases a year since launch. WordPress.org only lists versions still available for download, so the real number may be higher.7.4
Your host must be running at least this version.4.0
1
A single maintainer. Worth knowing if the plugin is load-bearing for your store.Maintenance & trust
Scored on how Notification for Telegram is looked after — not on how many stores run it.
99
out of 100Maintenance
35 / 35WordPress compatibility
20 / 20Support responsiveness
Not enough dataMerchant satisfaction
14 / 15Listing transparency
10 / 10Ratings
4.9
69 ratingsThe “Notification for Telegram” plugin for WordPress is a tool that allows you to send notifications and messages to a Telegram channel, group or user/s when specific events occur on your WordPress site.
This plugin is useful for monitoring critical events on your site, such as new comments, new user registrations, publishing activities, New forms sent,Woocommerce and Surecart orders, cart and lowstock, Mailchimp and more, by sending notifications directly to a Telegram channel or group or user/s of your choice. It also offers a shortcode to send Telegram notifications on every page of your website or in your code.
Receive Telegram messages notification when:
- When receive a new order in Woocommerce.
- When a Woocommerce order change status.
- When receive a new order in Surecart.
- Every event captured by WP Activity Log plugin
- You can also send messages directly from the shell using WP-CLI with ‘wp telegram send “Backup complete”‘
- New field in Woocommerce checkout page let customers add the own telegram nickname
- Low Stock Product notifications when a product is low stock conditions.
- Shows Telegram Nick link in admin order details page when present
- When receive new forms (supports Elementor Pro Form, WPForm , CF7 and Ninjaform)
- When new user subscribes or unsubscribes to mailchimp. MC4WP integration
- When new user registers. Helps identify unauthorized or suspicious registrations.
- When users login or fail login.
- When new comment is posted.
- When someone adds or remove a product in the Woocommerce cart.
- When a new Pending posts is received. (works with any post type)
- Say function to speak to make the bot say Something to the people
- Cron job detect and notify when Plugins & Core need to update.
- Send custom message with Shortcode anywhere in your WP.
- Should Work on Multisite
You can enable/disable every notification in the Plugin settings page.
To configure the plugin, you need a valid Telegram API token. Its easy to get starting a Telegram Bot.
You can learn about obtaining tokens and generating new ones in
Setup Guide
- Setup Wizard: a guided 3-step popup appears automatically on first install to help you configure your Telegram bot token and Chat ID
A complete step-by-step guide is available here:
View the full documentation
To get your Bot Token, you can refer to one of these resources:
To get your Chat ID, you need at least one recipient ID. You can retrieve it using one of these bots directly in Telegram:
- @get_id_bot — send /start and it will reply with your personal Chat ID
- @RawDataBot — send any message and it will return your full account info including your ID
For Channel and Group Chatid settings see the FAQ section.
Once You got the 2 fields save the configuration and try the “TEST” button .. you should receive a message in you telegram : “WOW IT WORKS” !! If not, check token and chatid fields again for the correct values.
this plugin is relying on a 3rd party service to geolocate the Ip address https://ip-api.com/
https://ip-api.com/docs/legal to see the services’ a terms of use and/or privacy policies
AI & MCP Compatible
This plugin supports the WordPress Abilities API and is compatible with
MCP (Model Context Protocol) — the standard that allows AI agents like
Claude, ChatGPT, and others to interact with WordPress autonomously.
If the Abilities API and MCP Adapter plugins are installed, any
authorized AI agent can automatically discover and use the
Send Telegram Message ability — no extra configuration needed.
What an AI can do with this plugin:
* Send a Telegram message with custom text
* Add an inline button with label and URL
* Override the default chat ID
Requirements for MCP
WordPress 7.0+ (Abilities API built-in)
Plugin: MCP Adapter
Enable “AI / MCP” in the plugin settings
WordPress 6.9 compatibility
WordPress 6.9+
Plugin: Abilities API
Plugin: MCP Adapter
WP-CLI support
Send Telegram messages directly from the shell using wp nftb send
wp telegram send “Hide WORLD”
MESSAGES TRANSLATION
To translate Telegram messages, use WPML or Loco Translate. All notification strings are now translatable.
Go to Loco Translate → Plugins → Notification for Telegram to add your translations.
For WPML, ensure String Translation is enabled to modify notification texts.
ACTION HOOK for third-party Plugin
Notification for Telegram (version > 3.5.1) exposes a dedicated action hook so any third-party plugin can send messages without calling internal functions directly.
Basic usage:
do_action( ‘nftb_send_message’, ‘Your message here’ );
Look FAQ Section for more esamples.
SHORTCODE EXAMPLE
[telegram_mess message="Im so happy" chatids="0000000," token="000000000:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" showsitename="1" showip="1" showcity="1" ]
Look FAQ Section for more esamples.
Suggestions for new notifications, hooks, and plugin integrations are always welcome!
When you create a Telegram bot, BotFather generates a unique token for you. BotFather (@botfather) is the official Telegram bot for creating and managing bots — search for it directly inside Telegram.
Creating a new bot
- Open Telegram and search for @botfather.
- Send the command /newbot.
- BotFather will ask you for two things:
- Name — the display name shown in contact details and conversations (e.g. “My Awesome Bot”).
- Username — a short unique handle used in mentions and t.me links (e.g. @my_awesome_bot). Usernames must be 5–32 characters long, can only contain Latin letters, numbers and underscores, and must end in “bot”.
- Once created, BotFather will provide your authorization token.
What does a token look like?
A token is a string in this format:
110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw
This token is required to authorize your bot and send requests to the Telegram Bot API. Keep it private — anyone who has it can take full control of your bot.
What if I lose my token or it gets compromised?
Send the /token command to @botfather, select your bot, and it will generate a new token. The old one will be immediately invalidated.
There are two quick ways:
- Search for @userinfobot or @get_id_bot on Telegram, send /start and the bot will instantly reply with your numeric user ID (e.g. 29627823).
- Search for @RawDataBot (https://t.me/RawDataBot), send any message, and it will reply with your full account info including your ID.
- Add your bot to the group as a member.
- Send any message in the group (or type /start@yourbotname).
- Open the following URL in your browser, replacing with your bot token:
https://api.telegram.org/bot/getUpdates - Look for the “chat” object in the JSON response — the “id” field is your group Chat ID. Group IDs are always negative numbers (e.g. -1001234567890).
Note: if the result is empty, make sure you sent a message after adding the bot, then refresh the URL.
- Add your bot to the channel and assign it Administrator privileges.
- Post any message in the channel.
- Open the following URL in your browser:
https://api.telegram.org/bot/getUpdates - Find the “chat” object in the JSON — the “id” is your channel Chat ID. Channel IDs always start with -100 (e.g. -1009876543210).
Yes. Add @RawDataBot (https://t.me/RawDataBot) to your group or channel (as admin), or simply message it privately. Send any message and it will reply with a full JSON breakdown of the chat, including the exact Chat ID you need.
This usually means no messages have been sent to the bot recently. Try the following:
1. Make sure the bot has been added to the chat.
2. Send a new message in the chat (or write directly to the bot in a private conversation).
3. Reload the getUpdates URL in your browser.
If the response is still empty, check that no other application is consuming the bot updates (e.g. a webhook that is already set — in that case you need to delete it first via /deleteWebhook).
Yes you can add more than one chattid separated by a comma (,)
both in option page and in the shortcode.
Yes! The plugin includes WP-CLI support. Once WP-CLI is installed on your server you can use the wp telegram command.
Send a simple message:
wp telegram send “Backup complete”
Send to a specific chat ID (overrides plugin settings):
wp telegram send “Hello” –chatid=123456789
Send the output of a shell command:
wp telegram send “$(df -h)”
Pipe any command output:
df -h | wp telegram send –
Send a message with an inline button:
wp telegram send “Deploy done” –urlname=”Open site” –urllink=”https://yoursite.com”
Test the connection:
wp telegram test
Show current plugin configuration:
wp telegram status
Send a plugin update report to Telegram:
wp telegram report_updates
Send a WordPress core update report to Telegram:
wp telegram report_core
Show all available commands:
wp telegram help
Yes! This is more reliable than WP-Cron. Add these lines to your crontab (crontab -e):
`# Send plugin update report every day at 8am
0 8 * * * cd /var/www/html && wp telegram report_updates –allow-root
0 9 * * * cd /var/www/html && wp telegram report_core –allow-root`
Yes! Starting from version 3.5, this plugin supports the WordPress Abilities API
and is compatible with MCP (Model Context Protocol), the open standard that allows
AI agents like Claude, ChatGPT, and others to interact with WordPress autonomously.
You need to install two additional free plugins:
* Abilities API — github.com/WordPress/abilities-api/releases
* MCP Adapter — github.com/WordPress/mcp-adapter/releases
Once both are active, the “Send Telegram Message” ability is automatically
available to any authorized AI agent. No extra configuration needed.
Via WordPress Application Passwords — go to Users → Your Profile →
Application Passwords, create one, and use it in your MCP client configuration.
Your main password is never exposed.
An authorized AI agent can:
* Send a Telegram message with custom text
* Include an optional inline button with label and URL
* Target a specific Telegram chat ID, overriding the default
You can test everything for free using curl from your terminal.
First, make sure the plugin is configured and the built-in “Send Test Message”
button works correctly in the plugin settings.
Then run these commands in order:
Step 1 — Initialize the session and get the Session ID:
curl -X POST “https://YOURSITE.com/wp-json/nftb-telegram/mcp” \
-H “Content-Type: application/json” \
-u “ADMIN:APP_PASSWORD” \
-D – \
-d ‘{“jsonrpc”:”2.0″,”id”:1,”method”:”initialize”,”params”:{“protocolVersion”:”2024-11-05″,”capabilities”:{},”clientInfo”:{“name”:”test”,”version”:”1.0″}}}’
Look for the Mcp-Session-Id value in the response headers and copy it.
Step 2 — Verify the tool is available:
curl -X POST “https://YOURSITE.com/wp-json/nftb-telegram/mcp” \
-H “Content-Type: application/json” \
-H “Mcp-Session-Id: YOUR-SESSION-ID” \
-u “ADMIN:APP_PASSWORD” \
-d ‘{“jsonrpc”:”2.0″,”id”:2,”method”:”tools/list”,”params”:{}}’
You should see “notification-for-telegram-send-message” in the response.
Step 3 — Send a real Telegram message via MCP:
curl -X POST “https://YOURSITE.com/wp-json/nftb-telegram/mcp” \
-H “Content-Type: application/json” \
-H “Mcp-Session-Id: YOUR-SESSION-ID” \
-u “ADMIN:APP_PASSWORD” \
-d ‘{“jsonrpc”:”2.0″,”id”:3,”method”:”tools/call”,”params”:{“name”:”notification-for-telegram-send-message”,”arguments”:{“message”:”🤖 MCP is working!”}}}’
If the message arrives in your Telegram chat — everything is working correctly.
APP_PASSWORD = a WordPress Application Password (Users → Your Profile → Application Passwords).
This feature is currently experimental. We welcome feedback and bug reports —
if you test it, please leave a review or open an issue on the plugin’s GitHub page.
Once the required plugins are installed, your MCP endpoint will be available at:
https://yoursite.com/wp-json/nftb-telegram/mcp
Yes! You can use the [telegram_mess] shortcode to send Telegram messages directly from your pages, posts or PHP code.
Available parameters:
- message — The message to send. Example: message=”hello world”
- chatids — Recipient(s) separated by comma. Example: chatids=”000000,111111″. If omitted, uses the default chat ID from plugin settings.
- token — Your Telegram bot token. Example: token=”123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11″. If omitted, uses the default token from plugin settings.
- showsitename — If set to “1” appends the site name to the message. Default: “0”. Example: showsitename=”1″
- showip — If set to “1” appends the user IP address to the message. Default: “0”. Example: showip=”1″
- showcity — If set to “1” appends the user city name to the message. Default: “0”. Example: showcity=”1″
Basic usage in a page or post:
[telegram_mess message=”hello world”]
Full example with all parameters:
[telegram_mess message=”hello world” chatids=”000000,111111″ token=”123456:ABC-DEF” showsitename=”1″ showip=”1″ showcity=”1″]
Yes! Use do_shortcode() to call it from your theme or plugin:
<?php
$date = date("d-m-Y");
do_shortcode('[telegram_mess message="' . $date . '" chatids="0000000" token="000000000:AAAAAAAAAA" showsitename="1" showip="1" showcity="1"]');
?>
Yes! The plugin provides 4 filter hooks to customize the WooCommerce order notification message. You can add custom content in 4 positions: Header, Before Items, After Items, and Footer.
<?php
add_filter('nftb_order_header_message_hook', 'my_filter_function', 10, 1);
add_filter('nftb_order_before_items_hook', 'my_filter_function', 10, 1);
add_filter('nftb_order_after_items_hook', 'my_filter_function', 10, 1);
add_filter('nftb_order_footer_message_hook', 'my_filter_function', 10, 1);
function my_filter_function($order_id) {
$order = wc_get_order($order_id);
if ($order) {
$payment_status = $order->get_status();
$payment_method = $order->get_payment_method();
}
return "\r\n\r\n".$payment_method."(".$payment_status.")\r\n";
}
?>
Yes! Use the nftb_order_product_line_hook filter. You can either add content to the existing line or completely replace it.
<?php
add_filter('nftb_order_product_line_hook', 'my_item_line_function', 10, 3);
function my_item_line_function($message, $product_id, $item) {
// ADD content to the original line
$modified_data = $message . "->" . $product_id . "\r\n";
// OR REPLACE the entire line
$modified_data = $product_id . "\r\n";
return $modified_data;
}
?>
Yes! The plugin provides 4 filter hooks for login and registration events.
<?php
// Triggered on successful user login
add_filter('nftb_login_notification', 'custom_message_modifier', 10, 1);
// Triggered on new user registration
add_filter('nftb_user_registered_notification', 'custom_message_modifier', 10, 1);
// Triggered when an existing user fails to login
add_filter('nftb_existing_user_fails_login_notification', 'custom_message_modifier', 10, 1);
// Triggered when an unknown user fails to login
add_filter('nftb_unknown_user_fails_login_notification', 'custom_message_modifier', 10, 1);
// Example: append the user registration date to the notification
function custom_message_modifier($user_id) {
$user_info = get_userdata($user_id);
if ($user_info) {
$registration_date = $user_info->user_registered;
$timestamp = strtotime($registration_date);
$formatter = new IntlDateFormatter('en_US', IntlDateFormatter::LONG, IntlDateFormatter::LONG, 'UTC');
$formatter->setPattern('d MMMM y HH:mm:ss');
$message = "\r\n\r\nUser Registration Date: " . $formatter->format($timestamp) . "\r\n\r\n";
} else {
$message = "\r\nNo info available for this user.\r\n";
}
return $message;
}
?>
Yes. Before hooks were introduced, 3 overridable functions allowed message customization. These are still supported but we encourage migrating to hooks.
1) Before the product list:
2) After the product list:
get_data();
return “Currency: ” . $data[‘currency’];
}
?>
3) At the end of each product line:
get_slug() . ” “;
}
?>
Yes! Notification for Telegram exposes a dedicated action hook so any third-party plugin can send messages without calling internal functions directly.
Basic usage:
do_action( ‘nftb_send_message’, ‘Your message here’ );
With an inline button link:
do_action( ‘nftb_send_message’, ‘New order received!’, ‘View Order’, ‘https://yoursite.com/order/123’ );
With a custom Chat ID:
do_action( ‘nftb_send_message’, ‘Your message’, ”, ”, ‘123456789’ );
Parameters:
1. $message — (string) required — the text to send
2. $urlname — (string) optional — label of the inline button
3. $urllink — (string) optional — URL of the inline button
4. $chatid — (string) optional — override the default Chat ID from settings
Always check the plugin is active before using the hook:
if ( is_plugin_active( ‘notification-for-telegram/index.php’ ) ) {
do_action( ‘nftb_send_message’, ‘Hello from my plugin!’ );
}
Yes! If no token is configured, a setup wizard popup appears automatically when you open the plugin settings.
It guides you through 3 steps: creating a bot with @BotFather, getting your Chat ID via @chatIDrobot, and sending a test message to verify the connection.
You can close the wizard at any time and configure the settings manually instead.
Plugin details
Tags on WordPress.org
