

This is the Global option page in you Dashboard. Enter Token Chatid
The “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:
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
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:
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
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
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.
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.
[telegram_mess message="Im so happy" chatids="0000000," token="000000000:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" showsitename="1" showip="1" showcity="1" ]
SHORTCODE OPTIONS:
message : Your message to be sent. Example (message=”hello world”)
chatids : Recipient(s) who will receive your message separated by comma (example chatids=”0000000,11111111″) , If not present this field the shortcode will use default value in Plugin option page.
token: The token looks something like 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11
If not present this field, the shortcode will use default value in Plugin option page.
showsitename: if set to “1” appends sitename after the message. Defaultvalue is “0” Example (showsitename=”1″)
showip: if set to “1” appends user ip address after the message. Default value is “0” Example (showip=”1″)
showcity: if set to “1” appends user city name after the message. Default value is “0” Example (showcity=”1″)
USE SHORTCODE IN YOU PHP CODE
<?php
$date = date("d-m-Y");
do_shortcode('[telegram_mess message="'.$date .'" chatids="0000000," token="000000000:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" showsitename="1" showip="1" showcity="1" ]');
?><h3>WOOCOMMERCE FILTER HOOKS</h3>
We have created 4 filter hooks for WooCommerce order notification message. 4 new positions: Message Header, Message Footer, before Items, and after Items. And we have created a filter through which you can add custom code to product rows, and if you want, you can replace and customize the entire row. :
4 new Positions and code axample ( echo payment_status in the 4 positions)
<?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) {
// Get order details
$order_data = $order->get_data();
// Extract specific order information
$payment_status = $order->get_status();
$payment_method = $order->get_payment_method();
}
return "\r\n\r\n".$payment_method."(".$payment_status.")\r\n" ;
}
?>
Product rows Filter with 2 different behaviors ADD or REPLACE LINE
<?php
add_filter('nftb_order_product_line_hook', 'my_item_line_function', 10, 3);
function my_item_line_function($message ,$product_id, $item) {
// ADD SOME CODE $product_id TO ORIGINAL row $message.
$modified_data = $message. "->".$product_id. "\r\n";
// REPLACE Product ITEM LINE CODE WITH YOUR CODE without concatenate $message.
$modified_data = $product_id. "\r\n";
return $modified_data;
}
?><h3>USER LOGIN FILTER HOOKS</h3>
<?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' );
$formatted_date = $formatter->format( $timestamp );
$message = "\r\n\r\nUser Registration Date: " . $formatted_date . "\r\n\r\n";
} else {
$message = "\r\nNo info available for this user.\r\n";
}
return $message;
}
?><h3>LEGACY FUNCTIONS (kept for backward compatibility)</h3>
Before hooks were introduced, 3 overridable functions allowed message customization without editing plugin code. These are still supported but we encourage migrating to hooks.
1) Before the product list — example: prepend the Order ID
<?php
function nftb_order_before_items( $order_id ) {
return "ORDER ID: " . $order_id;
}
?>
2) After the product list — example: append the order currency
<?php
function nftb_order_after_items( $order_id ) {
$order = wc_get_order( $order_id );
$data = $order->get_data();
return "Currency: " . $data['currency'];
}
?>
3) At the end of each product line — example: append the product slug
<?php
function nftb_order_product_line( $product_id, $item ) {
$product = wc_get_product( $product_id );
return " | " . $product->get_slug() . " ";
}
?>
Suggestions for new notifications, hooks, and plugin integrations are always welcome!