{"id":39,"date":"2026-03-03T20:26:30","date_gmt":"2026-03-03T17:26:30","guid":{"rendered":"https:\/\/sem63.net\/?post_type=portfolio&#038;p=39"},"modified":"2026-04-16T21:15:12","modified_gmt":"2026-04-16T18:15:12","slug":"wp-telegram-chat-wordpress-plugin","status":"publish","type":"portfolio","link":"https:\/\/sem63.net\/cs\/portfolio\/wp-telegram-chat-wordpress-plugin\/","title":{"rendered":"WP Telegram Chat \u2014 WordPress Plugin (vibe-coding)"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Plugin pro WordPress, kter\u00fd prom\u011bn\u00ed administraci webu v plnohodnotn\u00fd messenger pro spr\u00e1vu Telegram skupin. Majitel webu komunikuje se sv\u00fdm publikem v Telegramu bez opu\u0161t\u011bn\u00ed WordPressu \u2014 a n\u00e1v\u0161t\u011bvn\u00edci webu vid\u00ed \u017eiv\u00fd chat p\u0159\u00edmo na str\u00e1nce.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Jak\u00fd probl\u00e9m \u0159e\u0161\u00ed<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Firmy komunikuj\u00ed se z\u00e1kazn\u00edky p\u0159es Telegram, ale:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>mana\u017ee\u0159i jsou nuceni p\u0159ep\u00ednat mezi CMS a messengerem<\/li>\n\n\n\n<li>neexistuje jednotn\u00e9 pracovn\u00ed prost\u0159ed\u00ed \u2014 objedn\u00e1vky jsou ve WordPressu, komunikace v Telegramu<\/li>\n\n\n\n<li>ve\u0159ejn\u00fd chat na webu vy\u017eaduje extern\u00ed slu\u017ebu (Tawk.to, Crisp, LiveChat) \u2014 dal\u0161\u00ed z\u00e1vislost a dodate\u010dn\u00e9 n\u00e1klady<\/li>\n\n\n\n<li>chyb\u00ed historie a kontrola \u2014 kdo z t\u00fdmu odpov\u011bd\u011bl, kdy a komu<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Plugin sjednocuje v\u0161e na jednom m\u00edst\u011b.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kl\u00ed\u010dov\u00e9 funkce<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Obousm\u011brn\u00e1 komunikace<\/strong> \u2014 p\u0159\u00edchoz\u00ed zpr\u00e1vy z Telegramu lze \u010d\u00edst a odpov\u00eddat na n\u011b p\u0159\u00edmo z WordPressu. Podpora fotografi\u00ed, vide\u00ed, dokument\u016f i hlasov\u00fdch zpr\u00e1v.<br><strong>Moderace<\/strong> \u2014 maz\u00e1n\u00ed zpr\u00e1v, blokov\u00e1n\u00ed a odblokov\u00e1n\u00ed \u010dlen\u016f skupiny p\u0159\u00edmo z rozhran\u00ed WordPressu bez nutnosti otev\u00edrat Telegram.<br><strong>Ve\u0159ejn\u00fd widget<\/strong> \u2014 chat lze vlo\u017eit na libovolnou str\u00e1nku webu jedn\u00edm \u0159\u00e1dkem k\u00f3du. N\u00e1v\u0161t\u011bvn\u00edci vid\u00ed \u017eivou komunikaci v re\u00e1ln\u00e9m \u010dase s automatickou aktualizac\u00ed.<br><strong>Multibot a multiskupiny<\/strong> \u2014 mo\u017enost p\u0159ipojit v\u00edce bot\u016f a skupin sou\u010dasn\u011b. Ka\u017ed\u00fd chat m\u00e1 vlastn\u00ed str\u00e1nku v administraci.<br><strong>T\u00fdmov\u00fd p\u0159\u00edstup<\/strong> \u2014 flexibiln\u00ed syst\u00e9m opr\u00e1vn\u011bn\u00ed: kdo m\u016f\u017ee chaty zobrazovat, odpov\u00eddat nebo moderovat. Evidence odpov\u011bd\u00ed t\u00fdmu s filtrov\u00e1n\u00edm podle autora.<br><strong>Archivace<\/strong> \u2014 automatick\u00e1 archivace star\u0161\u00edch zpr\u00e1v s nastavitelnou dobou uchov\u00e1n\u00ed. Kontrola objemu dat bez ztr\u00e1ty historie.<br><strong>Notifikace<\/strong> \u2014 push upozorn\u011bn\u00ed v prohl\u00ed\u017ee\u010di na nov\u00e9 zpr\u00e1vy.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Technick\u00e9 v\u00fdhody<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Zero dependencies<\/strong>&nbsp;\u2014 bez extern\u00edch knihoven, Composeru nebo Node.js. Pouze WordPress API a nativn\u00ed PHP<\/li>\n\n\n\n<li><strong>\u0160irok\u00e1 kompatibilita<\/strong>&nbsp;\u2014 PHP 7.1\u20138.4, WordPress 4.7+<\/li>\n\n\n\n<li><strong>Bezpe\u010dnost<\/strong>&nbsp;\u2014 \u0161ifrov\u00e1n\u00ed token\u016f v datab\u00e1zi, validace Telegram IP p\u0159i p\u0159\u00edjmu webhook\u016f, nonce ochrana v\u0161ech endpoint\u016f, kontrola capabilities p\u0159i ka\u017ed\u00e9 akci, rate limiting pro ve\u0159ejn\u00e9 API<\/li>\n\n\n\n<li><strong>Odolnost v\u016f\u010di cache<\/strong>&nbsp;\u2014 ve\u0159ejn\u00fd chat funguje korektn\u011b p\u0159i jak\u00e9mkoli serverov\u00e9m nebo str\u00e1nkov\u00e9m cachov\u00e1n\u00ed<\/li>\n\n\n\n<li><strong>Internacionalizace<\/strong>&nbsp;\u2014 pln\u00e1 podpora i18n, \u010desk\u00fd a rusk\u00fd p\u0159eklad sou\u010d\u00e1st\u00ed pluginu<\/li>\n\n\n\n<li><strong>Automatick\u00e9 DB migrace<\/strong>&nbsp;\u2014 bezpe\u010dn\u00e9 aktualizace datab\u00e1zov\u00e9ho sch\u00e9matu na produk\u010dn\u00edch webech bez deaktivace pluginu<\/li>\n\n\n\n<li><strong>REST API<\/strong>&nbsp;\u2014 vlastn\u00ed endpointy pro ve\u0159ejnou \u010d\u00e1st s rate limitingem<\/li>\n\n\n\n<li><strong>Lehk\u00fd frontend<\/strong>&nbsp;\u2014 jQuery bez framework\u016f, okam\u017eit\u00e9 na\u010d\u00edt\u00e1n\u00ed<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Stack<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">WordPress Plugin API, PHP, JavaScript (jQuery), Telegram Bot API, WordPress REST API, <code>dbDelta<\/code> + migrace<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"501\" src=\"https:\/\/sem63.net\/wp-content\/uploads\/2026\/03\/tgchat-1024x501.webp\" alt=\"tgchat\" class=\"wp-image-78\" title=\"WP Telegram Chat \u2014 WordPress Plugin (vibe-coding)\" srcset=\"https:\/\/sem63.net\/wp-content\/uploads\/2026\/03\/tgchat-1024x501.webp 1024w, https:\/\/sem63.net\/wp-content\/uploads\/2026\/03\/tgchat-300x147.webp 300w, https:\/\/sem63.net\/wp-content\/uploads\/2026\/03\/tgchat-768x375.webp 768w, https:\/\/sem63.net\/wp-content\/uploads\/2026\/03\/tgchat-1536x751.webp 1536w, https:\/\/sem63.net\/wp-content\/uploads\/2026\/03\/tgchat-scaled.webp 1600w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">tgchat<\/figcaption><\/figure>","protected":false},"featured_media":78,"comment_status":"open","ping_status":"closed","template":"","meta":{"_acf_changed":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"pgc_sgb_lightbox_settings":""},"class_list":["post-39","portfolio","type-portfolio","status-publish","has-post-thumbnail","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/sem63.net\/cs\/wp-json\/wp\/v2\/portfolio\/39","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sem63.net\/cs\/wp-json\/wp\/v2\/portfolio"}],"about":[{"href":"https:\/\/sem63.net\/cs\/wp-json\/wp\/v2\/types\/portfolio"}],"replies":[{"embeddable":true,"href":"https:\/\/sem63.net\/cs\/wp-json\/wp\/v2\/comments?post=39"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sem63.net\/cs\/wp-json\/wp\/v2\/media\/78"}],"wp:attachment":[{"href":"https:\/\/sem63.net\/cs\/wp-json\/wp\/v2\/media?parent=39"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}