=== Message Bridge for Contact Form 7 and Telegram === Contributors: hokku, igortron Donate link: https://www.paypal.me/igortron Tags: contact form telegram,contact form 7,telegram Requires at least: 5.6 Tested up to: 7.1 Requires PHP: 8.0 Stable tag: 1.0.13 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Deliver Contact Form 7 submissions to Telegram instantly via a bot. == Description == This plugin lets you send Contact Form 7 messages to Telegram chats via a bot. Setup takes just a few steps: 1. Create a Telegram bot ([how to](https://core.telegram.org/bots#3-how-do-i-create-a-bot "Telegram docs")). 2. Create a bot in the plugin UI. 3. Paste the bot token into the bot form (PHP constants also available). 4. Create a channel in the plugin UI — it links your Contact Form 7 forms to Telegram chats. 5. Add users to the subscriber list by sending the /cf7tg_start command to your bot. To add a group, first add the bot to the group, then send /cf7tg_start in that group. 6. Approve or decline subscription requests on the Contact Form 7 → CF7 Telegram settings page. 7. Configure the channel: choose which forms to send messages from. = Hooks and constants = Filter wpcf7tg_skip_tg Use it to skip sending a Telegram message. Filter wpcf7tg_markdown Use it to customize the allowed Markdown tags. Filter wpcf7tg_sendMessage( $args, $chat_id, $mode ) Use it to customize Telegram sendMessage arguments for each recipient and message chunk. Action wpcf7tg_message_sent( $args, $submission ) Runs after each Telegram delivery attempt. A Telegram failure does not abort the Contact Form 7 submission. Action wpcf7tg_messages_sent( $list, $output, $mode, $submission ) Runs after all configured recipients have been attempted. Constant WPCF7TG_LOG_RETENTION_DAYS and filter cf7tg/logRetentionDays Set the log retention period in days. The default is 30; set it to 0 to disable age-based pruning. Constant WPCF7TG_LOG_MAX_ROWS and filter cf7tg/logMaxRows Set the maximum number of newest log rows to retain. The default is 10000. Constants WPCF7TG_PING_INTERVAL and WPCF7TG_UPDATES_INTERVAL Set the offline bot status retry interval and the online Telegram update polling interval in milliseconds. The defaults are 5000 and 12000 respectively. This plugin uses [API Telegram](https://core.telegram.org/api "Telegram docs") and sends remote HTTP requests to Telegram servers to deliver notifications. == Changelog == = 1.0.13 = - Make Telegram bot actions POST-first and harden the administration interface against partial loading, pagination, and retry failures. - Restore the full-page administration background, hide unrelated WordPress notices on the plugin screen, and improve diagnostics without exposing bot tokens or contact details. - Ignore transient Telegram polling timeouts in the interface and use a 12-second default update polling interval. - Add automatic 30-day and 10,000-row log retention with configurable limits. - Verify the release ZIP across supported WordPress, PHP, and Contact Form 7 versions, including install, upgrade, uninstall, and rollback workflows. - Add reproducible build, Plugin Check, dependency audit, artifact hygiene, browser canary, and manually approved WordPress.org promotion gates. = 1.0.12 = - Replace the Telegram SDK with a smaller WordPress HTTP integration and safer error handling. - Validate bot tokens before saving them and preserve existing chat connections when the bot identity is unchanged. - Make update polling webhook-aware and prevent failed updates from being skipped. - Load every page of Telegram chats in the administration interface. - Improve Unicode message chunking, plaintext fallback, multi-recipient delivery, and legacy hook compatibility. = 1.0.11 = - Make legacy migrations self-healing, retryable, and safe to run repeatedly. - Preserve Contact Form 7 content while migrating bots, chats, channels, and form connections without duplicates. - Keep bot tokens defined through PHP constants out of stored plugin data. - Replace destructive load-time cleanup with conservative repair and recovery controls. = 1.0.10 = - Add maintenance cleanup for orphan chats and broken relations. - Fix fatal error on CF7 submission when a channel has chats but no connected bot (#56). = 1.0.9 = - Remove external update controls. = 1.0.8 = - Harden Telegram chat sanitization and update polling. = 1.0.7 = - Prevent duplicate chat subscriptions when bot updates are fetched concurrently. = 1.0.6 = - Fix truncated bot name copy. = 1.0.5 = * Race condition in chats loading fixed. = 1.0.4 = * Minor fixes. = 1.0.3 = * Fix translation loading issue. = 1.0.2 = * Manual migration button added. * Migration process improved. = 1.0.1 = * Fix react template. = 1.0.0 = * New UI for managing channels and bot token. * New plugin name was chosen to comply with new WordPress guidelines. = 0.10.0 = * Beta testing is available for everyone. = 0.9.3 = * Preparing for beta testing. = 0.9.2 = * Loading textdomain fixed - moved to init hook. * Array undefined key fixed. = 0.9.1 = * Version never released. = 0.9 = * Preparing to v1.0 seamless transition. = 0.8.7 = * API Telegram errors logging added. = 0.8.6 = * Security issue CVE-2024-9629 got fixed. = 0.8.5 = * PHP 7.2 compatibility fixed. = 0.8.4 = * Markdown symbols escaping got added in order to fix [an issue](https://github.com/hokoo/cf7-telegram/issues/17). = 0.8.3 = * Blueprint got added. = 0.8.2 = * Donation link got changed. * tested up to WP 6.5 = 0.8.1 = * Actualize add-on sale date. = 0.8 = * Addons available = 0.7.10 = * Preparing for attachment sending * A few fixes = 0.7.9 = * Markdown for HTML-format issue = 0.7.7 = * Support WP 5.3 functions for WP before 5.3 = 0.7 = * New interface recipient management * Groups are supported * WPCF7_ContactForm::prop( 'mail' ) instead WPCF7_ContactForm::$mail * FIXED Dependence parse_mode by use_html property = 0.6.2 = * Trim for CHAT_ID field elements added = 0.6.1 = * Markdown bug fixed = 0.6 = * Message to telegram now sends on wpcf7_before_send_mail hook instead wpcf7_mail_sent. It is more reliable way. * wpcf7tg_skip_tg added. * wpcf7tg_markdown added. * WPFC7TG_BOT_TOKEN added. * bugs fixed = 0.5 = * Markdown added == Upgrade Notice == = 0.10.0 = * ATTENTION! ⚡⚡⚡ Get v0.10 now to preserve your settings when you will be upgrading to v1.0. * 🔥 Upgrading to v1.0 from v0.10 will be seamless. * 😵 Upgrading to v1.0 from v0.8 and earlier will cause losing your settings. * 😎 Early access to v1.0 is available for all users.