Team Messenger
Team Messenger is a WordPress plugin that adds secure, real-time messaging for logged-in users. It includes one-to-one chats, group rooms, optional end-to-end encryption for private threads, media uploads with administrator-controlled policies, presence, notification badges, pinned messages, and dedicated interfaces on both the public site and in wp-admin. Technical details and changelog notes may be published on the plugin support page or in the documentation as they are updated. English — Numbered feature list Real-time direct messaging between logged-in WordPress users over the REST API (team_messenger/v1), including pagination for message history. Optional end-to-end encryption (E2E) for direct messages: clients can exchange messages flagged as encrypted, and public keys are stored per user through dedicated REST endpoints (/keys). Group chats remain readable on the server (plaintext on the server side). Full group-chat lifecycle: create, read, update, and delete groups; set a name, description, and group avatar; list members; add or remove members; and promote or demote roles with a PATCH request on members. Rich media in chats: image, video, and audio attachments, plus optional voice messages recorded in the browser (MediaRecorder, typically WebM/WebA) with server-side MIME handling for reliable uploads. Two upload contexts on /media/upload: chat for conversation attachments and avatar for group profile images. Each context has independent size and format rules, which the server enforces. Administrator-configurable media policy: separate maximum file sizes for chat (0.1–100 MB) and group avatars (0.1–50 MB); toggles for allowed chat categories (image / video / audio) and allowed avatar formats (for example JPEG, PNG, GIF, WebP). Limits are sent to the client as hints; the server performs the final validation. Flexible storage for uploaded files: attachments can live in the WordPress Media Library or in a plugin-protected directory (.htaccess where applicable). Private-path files are downloaded through an authenticated /media/download/{file} request. “Saved messages” (self-chat): a personal notebook thread in which the current user is both sides, for notes and files. Recent conversations: when no search query is sent, the user list prioritizes people you have messaged recently and does not expose the entire user directory. Privacy-conscious user search: at least three characters are required, and the number of results is capped. Presence (online / last seen): clients send a throttled heartbeat to POST /presence. The last_seen and is_online fields appear in user lists only when the viewer has shared direct-message history with that user or shares a group (privacy-preserving). Notifications: GET /notifications/counts returns separate counts and text previews for new personal and group activity since the last acknowledgment. POST /notifications/ack accepts a scope of all, personal, or group. WordPress admin bar integration: when the toolbar is visible, separate nodes show personal and group chat badges. Dropdowns load preview snippets (periodic polling) and allow clearing notifications by scope. Non-administrators link to the site home; users with manage_options can open the full messenger screen. Dashboard widgets (administrators): two WordPress Dashboard widgets—personal (1:1) and group—provide inline chat with the same REST capabilities as the main messenger (including pins and upload limits). They are visible only to users with manage_options who have not disabled admin chat. Pinned messages: one pin per direct thread (stored in team_messenger_direct_pins) and one per group (pinned_message_id). You can pin or unpin from the floating widget, [team_messenger_web_chat], the admin messenger, and the dashboard widgets. A pinned strip shows a snippet and scrolls to the message. Pins are cleared if the underlying message is deleted. Read state: opening a direct thread marks incoming messages from the partner as read (is_read). For groups, per-user last-read timestamps sync when the thread is opened. Your own outgoing group messages can show read receipts (“sent” vs “read”) when all other members have caught up. Message lifecycle: edit or soft-delete your own messages in direct and group threads (the API supports edit and delete on owned messages). Data retention: a daily scheduled event permanently removes soft-deleted direct and group messages whose deleted_at is older than 30 days (GDPR-oriented housekeeping). Multiple surfaces: a floating chat widget on the front end; a full-page [team_messenger_web_chat] shortcode with configurable HTML fallback for guests; a dedicated admin “Messenger” screen; an optional floating FAB on all wp-admin screens (toggle in settings, respects the per-user “hide admin chat” setting); admin bar badges; and two dashboard widgets for administrators. Customization in settings: primary accent color, widget corner placement, welcome text, shortcode guest content (visual/HTML editor), and a site-wide “show messenger on all wp-admin screens” option. Per-user preferences on the user profile: optionally hide front-end chat (widget and shortcode UI) and/or all wp-admin chat (floating messenger, full messenger page, admin bar nodes, and dashboard widgets). Shortcode pages show a short notice if frontend chat is disabled for that user. Abuse protection: rate limiting on sending messages and on creating groups, to reduce spam and overload. Internationalization: text domain team-messenger. Persian (fa_IR) and other translations can ship in the languages folder. English is the source language. فارسی — فهرست شمارهدار امکانات ۱. پیامرسانی مستقیم (یکبهیک) بین کاربران واردشدهٔ وردپرس از طریق REST API با فضای نام team_messenger/v1 و صفحهبندی تاریخچهٔ پیام. ۲. رمزنگاری سرتاسری اختیاری برای گفتگوی خصوصی: میتوان پیام را با پرچم رمزشده ذخیره کرد؛ کلیدهای عمومی از طریق endpointهای /keys ذخیره و بازیابی میشوند. در گفتگوی گروهی، متن روی سرور بهصورت متن عادی قابل پردازش است. ۳. چرخهٔ کامل مدیریت چت گروهی: ایجاد، ویرایش و حذف گروه؛ تنظیم نام، توضیحات و آواتار گروه؛ فهرست اعضا؛ افزودن یا حذف عضو؛ و تغییر نقش با PATCH روی عضو. ۴. رسانهٔ غنی در گفتگو: تصویر، ویدیو و صوت؛ پیام صوتی با ضبط در مرورگر (معمولاً WebM/WebA) و نرمالسازی MIME در سمت سرور. ۵. دو زمینهٔ آپلود در /media/upload: chat برای پیوست گفتگو و avatar برای تصویر پروفایل گروه؛ هر کدام سقف حجم و فرمت مستقل دارند و اعتبارسنجی نهایی در سرور انجام میشود. ۶. سیاست رسانه از پنل مدیر: حداکثر حجم جداگانه برای چت (۰٫۱ تا ۱۰۰ مگابایت) و آواتار گروه (۰٫۱ تا ۵۰ مگابایت)؛ امکان روشن یا خاموش کردن دستههای مجاز چت و فرمتهای مجاز آواتار. اعداد بهصورت راهنما به کلاینت ارسال میشوند و تصمیم نهایی با سرور است. ۷. ذخیرهسازی انعطافپذیر: فایلها میتوانند در کتابخانهٔ رسانهٔ وردپرس یا در پوشهٔ محافظتشدهٔ افزونه (با .htaccess در صورت امکان) قرار بگیرند. برای مسیر اختصاصی، دانلود فقط از طریق /media/download/{file} و برای کاربر احراز هویتشده انجام میشود. ۸. «پیامهای ذخیرهشده» (چت با خود): فضای شخصی برای یادداشت و فایل که کاربر فعلی هر دو طرف گفتگو است. ۹. گفتگوهای اخیر: وقتی جستجویی ارسال نشده باشد، فهرست کاربران کسانی را در اولویت قرار میدهد که اخیراً با آنها پیام رد و بدل کردهاید و کل دایرکتوری کاربران را نمایش نمیدهد. ۱۰. جستجوی کاربر با رعایت حریم خصوصی: حداقل سه کاراکتر لازم است و تعداد نتایج محدود است. ۱۱. حضور (آنلاین / آخرین فعالیت): کلاینت ضربان کنترلشده (throttled) به POST /presence میفرستد. فیلدهای last_seen و is_online فقط وقتی در فهرست کاربران دیده میشوند که بیننده سابقهٔ پیام خصوصی مشترک یا عضویت در یک گروه مشترک با آن کاربر داشته باشد. ۱۲. اعلانها: GET /notifications/counts شمارنده و پیشنمایش متن فعالیت شخصی و گروهی را از زمان آخرین تأیید برمیگرداند. POST /notifications/ack محدودهٔ all، personal یا group را میپذیرد. ۱۳. یکپارچگی با نوار ابزار وردپرس: وقتی نوار ابزار نمایان است، دو گره جدا شمارندهٔ چت شخصی و گروهی را نشان میدهند. منوهای کشویی پیشنمایش را با polling دورهای بارگذاری میکنند و امکان پاکسازی اعلانها بر اساس محدوده را دارند. کاربران غیرمدیر به صفحهٔ خانه لینک میشوند؛ کاربران دارای manage_options میتوانند به صفحهٔ کامل پیامرسان بروند. ۱۴. ویجتهای پیشخوان (مدیران): دو ویجت جداگانه در پیشخوان وردپرس—گفتگوی شخصی (یکبهیک) و گروهی—همان قابلیتهای REST پیامرسان اصلی را دارند (از جمله پین و محدودیت آپلود). فقط برای کاربران دارای manage_options که چت مدیریت را غیرفعال نکردهاند نمایش داده میشوند. ۱۵. پیام پینشده: یک پین برای هر گفتگوی دونفره و یک پین برای هر گروه. پین و برداشتن پین از ویجت شناور، شورتکد [team_messenger_web_chat]، پیامرسان مدیریت و ویجتهای پیشخوان امکانپذیر است. نوار پین تکهای از متن را نشان میدهد و به پیام اسکرول میکند. اگر پیام اصلی حذف شود، پین نیز برداشته میشود. ۱۶. وضعیت خواندهشدن: با باز کردن گفتگوی خصوصی، پیامهای ورودی طرف مقابل بهصورت is_read علامت میخورند. در گروه، مهر زمانی آخرین بازدید هر کاربر همگام میشود. برای پیامهای خروجی خودتان میتوان رسید «همه خواندند» را وقتی سایر اعضا همگام شدهاند نشان داد. ۱۷. چرخهٔ پیام: ویرایش یا حذف نرم پیامهای خودتان در گفتگوی خصوصی و گروهی از طریق API. ۱۸. نگهداری داده: یک رویداد زمانبندیشدهٔ روزانه پیامهای حذفشدهٔ نرم مستقیم و گروهی را که deleted_at آنها قدیمیتر از ۳۰ روز است برای همیشه پاک میکند (خانهتکانی با رویکرد GDPR). ۱۹. چندین رابط: ویجت شناور در سایت؛ شورتکد تمامصفحهٔ [team_messenger_web_chat] با محتوای HTML قابل تنظیم برای مهمان؛ صفحهٔ اختصاصی «پیامرسان» در مدیریت؛ دکمهٔ شناور اختیاری در تمام صفحات wp-admin (تنظیم سراسری و احترام به خاموش بودن چت مدیریت برای هر کاربر)؛ نشانهای نوار ابزار؛ و دو ویجت پیشخوان برای مدیران. ۲۰. شخصیسازی در تنظیمات: رنگ اصلی تأکید، محل گوشهٔ ویجت، متن خوشآمدگویی، محتوای مهمان شورتکد (ویرایشگر دیداری/HTML)، و گزینهٔ سراسری «نمایش پیامرسان در تمام صفحات wp-admin». ۲۱. ترجیحات هر کاربر در پروفایل: امکان پنهان کردن چت سایت (ویجت و رابط شورتکد) و/یا همهٔ چت wp-admin (پیامرسان شناور، صفحهٔ کامل پیامرسان، گرههای نوار ابزار و ویجتهای پیشخوان). اگر چت فرانتاند برای آن کاربر خاموش باشد، صفحهٔ شورتکد یک اعلان کوتاه نشان میدهد. ۲۲. محافظت در برابر سوءاستفاده: محدودیت نرخ ارسال پیام و ایجاد گروه برای کاهش هرزنامه و بار اضافی. ۲۳. چندزبانه: دامنهٔ متن team-messenger؛ ترجمههای فارسی (fa_IR) و سایر زبانها میتوانند از پوشهٔ languages عرضه شوند؛ زبان مبدأ متنها انگلیسی است.
Top keywords
- chat16×1.78%
- group15×1.67%
- messenger15×1.67%
- messages12×1.33%
- user9×1.00%
- media8×0.89%
- team8×0.89%
- team messenger8×0.89%
- admin7×0.78%
- direct7×0.78%
- read7×0.78%
- wp-admin7×0.78%
WP jCryption Security
The plugin increases security of a site in case it has no SSL certificate, useful for owners of small sites who want to secure their passwords and other posted data but don’t want to buy SSL certificate for each domain and subdomain: it protects from sniffering the most important data such as passwords when they are being sent from forms of your site to the server. When the form served by the plugin is submitted all input data are being joined into a string, then this string is being encrypted with AES algorythm by disposable key and only encrypred string will be sent. A browser encrypts the disposable key in javascript by the RSA public key and sends it to the server; then the server decrypts it with the RSA private key and then use it to decrypt the posted data with AES. Translations included: Ukrainian, Russian, German and Brazilian Portuguese. I just adapted usage in WordPress the jCryption jQuery plugin, v. 3.1.0. Please check www.jcryption.org to learn how jCryption works.
Top keywords
- data4×2.27%
- key4×2.27%
- jcryption3×1.70%
- server3×1.70%
- string3×1.70%
- aes2×1.14%
- certificate2×1.14%
- disposable2×1.14%
- disposable key2×1.14%