{"id":111,"date":"2025-06-30T09:40:38","date_gmt":"2025-06-30T12:40:38","guid":{"rendered":"https:\/\/blog.kuroi.com.br\/?p=111"},"modified":"2025-07-19T19:09:30","modified_gmt":"2025-07-19T22:09:30","slug":"chattable-showing-an-online-user-list","status":"publish","type":"post","link":"https:\/\/blog.kuroi.com.br\/pt_br\/chattable-showing-an-online-user-list\/","title":{"rendered":"Chattable - Exibindo uma lista de usu\u00e1rios online"},"content":{"rendered":"<p><a href=\"https:\/\/iframe.chat\/\" target=\"_blank\" rel=\"noreferrer noopener\">Chattable <\/a>\u00e9 uma ferramenta customiz\u00e1vel de chat em grupo para seu site. \u00c9 muito f\u00e1cil de come\u00e7ar a usar e voc\u00ea consegue ter basicamente um controle total da estiliza\u00e7\u00e3o do seu chat e muitas outras funcionalidades que pretendo falar sobre em futuros posts. Por enquanto, quero mostrar a nova lista de usu\u00e1rios online que ficou disponivel h\u00e1 um tempinho.<\/p>\n\n\n\n<p><em>Esse mini tutorial considera que voc\u00ea j\u00e1 seguiu o tutorial oficial do Chattable sobre como configurar sua chat box no seu seu site. <\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Comando para exibir uma listagem de usu\u00e1rios online<\/h3>\n\n\n\n<p>Para um popup simples que exibe a lista de usu\u00e1rios online atualmente, voc\u00ea pode simplesmente digitar o comando <code>!online<\/code> no seu chat. Esse popup tamb\u00e9m pode ser customizado atrav\u00e9s do arquivo chattable.css<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Lista de usu\u00e1rios customizada<\/h3>\n\n\n\n<p>Atrav\u00e9s desse simples m\u00e9todo, voc\u00ea pode listar todos os usu\u00e1rios online em qualquer lugar da sua p\u00e1gina. Por exemplo, voc\u00ea pode adicionar uma lista que fica sempre dispon\u00edvel para visualiza\u00e7\u00e3o ao lado do seu chat ou at\u00e9 mesmo em um popup customizado que abre ao clicar em um bot\u00e3o. <\/p>\n\n\n\n<p>Primeiro, voc\u00ea precisa definir onde sua lista vai ficar. Pra esse tutorial, usaremos o elemento <code>&lt;ul&gt;<\/code> . Lembre-se de definir um ID no elemento, precisaremos dele para renderizar os itens da lista atrav\u00e9s do script.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-html\" data-lang=\"HTML\"><code> &lt;div class=&quot;content&quot;&gt;\n      &lt;!-- Chattable embed --&gt;\n      &lt;iframe\n        src=&quot;https:\/\/iframe.chat\/embed?chat=YOUR_CHAT_ID&quot;\n        id=&quot;chattable&quot;\n        frameborder=&quot;none&quot;\n      &gt;&lt;\/iframe&gt;\n\n      &lt;!-- Here is the element we&#039;ll use to render the online users: --&gt; \n      &lt;ul id=&quot;online-users&quot;&gt;&lt;\/ul&gt;\n &lt;\/div&gt;<\/code><\/pre><\/div>\n\n\n\n<p>Lembre-se de manter o elemento <code>&lt;ul><\/code> vazio, j\u00e1 que os <code>&lt;li><\/code> seguintes ser\u00e3o renderizados atrav\u00e9s do script JS. Agora vamos para o c\u00f3digo Javascript. Depois que voc\u00ea inicializar seu chatbox, utilize o c\u00f3digo abaixo. Eu adicionei alguns coment\u00e1rios (em ingl\u00eas) no c\u00f3digo pra explicar um pouco o que cada peda\u00e7o faz. Fique a vontade pra remov\u00ea-los no seu script.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>      \/\/ Chattable&#39;s initialization\n      chattable.initialize({\n        theme: &quot;Pastel Pink&quot;,\n      });\n\n      \/\/ This variable stores the &lt;ul&gt; element we defined before, using the id as the target. \n      const onlineUsersElement = document.getElementById(&quot;online-users&quot;);\n\n      \/\/ This is Chattable&#39;s method for detecting user connections\n      chattable.on(&quot;connection&quot;, function (list) {\n        \n        \/\/ this variable stores the current online user list that comes from Chattable\n        onlineUserList = list;\n        onlineUsersElement.innerHTML = &quot;&quot;;\n\n        \/\/ Loops through the onlineUserList and creates a &lt;li&gt; element inside the &lt;ul&gt; for\n        \/\/ each item on the list.\n        Object.values(onlineUserList).forEach((name) =&gt; {\n          const item = document.createElement(&quot;li&quot;);\n          item.textContent = name;\n          item.classList.add(&quot;list-item&quot;)\n          onlineUsersElement.appendChild(item);\n        });\n      });<\/code><\/pre><\/div>\n\n\n\n<p>Alguns pontos importantes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>onlineUsersElement.innerHTML = \"\";<\/code> \u00e9 necess\u00e1rio para resetar a lista sempre que um novo usu\u00e1rio se conectar. Isso impede que os itens da lista fiquem se repetindo a cada nova conex\u00e3o e mant\u00e9m tudo limpo.<\/li>\n\n\n\n<li><code>item.classList.add(\"list-item\")<\/code> \u00e9 opcional, mas \u00e9 interessante caso voc\u00ea deseje adicionar uma classe CSS espec\u00edfica aos elementos <code>&lt;li><\/code> renderizados.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Conclus\u00e3o<\/h3>\n\n\n\n<p>Bem f\u00e1cil n\u00e9? Voc\u00ea pode modificar o c\u00f3digo conforme for necess\u00e1rio e estilizar tudo da forma que desejar atrav\u00e9s do CSS. <\/p>\n\n\n\n<p>Esse foi meu primeiro tutorial da vida inteira, mas espero que ajude! Chattable \u00e9 uma ferramenta incr\u00edvel com muitas funcionalidades e eu adoraria ver o qu\u00e3o criativa a galera pode ser com ele. Se tiver d\u00favidas, sinta-se a vontade pra deixar um coment\u00e1rio nesse post ou me d\u00ea um toque l\u00e1 no chat do <a href=\"https:\/\/kuroi.com.br\/\" target=\"_blank\" rel=\"noreferrer noopener\">KuroiOS<\/a> !<\/p>\n\n\n\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>Chattable is a customizable, live group chat tool for your website. It&#8217;s pretty easy to get started and you get almost full control of your chat styling and many other features that I&#8217;ll mention in [&hellip;]<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"kia_subtitle":"Learn how to make your very own online user list with Chattable!","footnotes":""},"categories":[3,7],"tags":[13,14],"class_list":["post-111","post","type-post","status-publish","format-standard","hentry","category-coding","category-tutorials","tag-chattable","tag-javascript"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Chattable - Showing an online user list - KuroiBlog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.kuroi.com.br\/pt_br\/chattable-showing-an-online-user-list\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Chattable - Showing an online user list - KuroiBlog\" \/>\n<meta property=\"og:description\" content=\"Chattable is a customizable, live group chat tool for your website. It&#8217;s pretty easy to get started and you get almost full control of your chat styling and many other features that I&#8217;ll mention in [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.kuroi.com.br\/pt_br\/chattable-showing-an-online-user-list\/\" \/>\n<meta property=\"og:site_name\" content=\"KuroiBlog\" \/>\n<meta property=\"article:published_time\" content=\"2025-06-30T12:40:38+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-19T22:09:30+00:00\" \/>\n<meta name=\"author\" content=\"kuroidev\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"kuroidev\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/blog.kuroi.com.br\/chattable-showing-an-online-user-list\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/blog.kuroi.com.br\/chattable-showing-an-online-user-list\/\"},\"author\":{\"name\":\"kuroidev\",\"@id\":\"https:\/\/blog.kuroi.com.br\/#\/schema\/person\/04cc03dfb8856e8e3aac5fef32e77beb\"},\"headline\":\"Chattable &#8211; Showing an online user list\",\"datePublished\":\"2025-06-30T12:40:38+00:00\",\"dateModified\":\"2025-07-19T22:09:30+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blog.kuroi.com.br\/chattable-showing-an-online-user-list\/\"},\"wordCount\":386,\"commentCount\":4,\"publisher\":{\"@id\":\"https:\/\/blog.kuroi.com.br\/#\/schema\/person\/04cc03dfb8856e8e3aac5fef32e77beb\"},\"keywords\":[\"chattable\",\"javascript\"],\"articleSection\":[\"Coding\",\"Tutorials\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/blog.kuroi.com.br\/chattable-showing-an-online-user-list\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.kuroi.com.br\/chattable-showing-an-online-user-list\/\",\"url\":\"https:\/\/blog.kuroi.com.br\/chattable-showing-an-online-user-list\/\",\"name\":\"Chattable - Showing an online user list - KuroiBlog\",\"isPartOf\":{\"@id\":\"https:\/\/blog.kuroi.com.br\/#website\"},\"datePublished\":\"2025-06-30T12:40:38+00:00\",\"dateModified\":\"2025-07-19T22:09:30+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/blog.kuroi.com.br\/chattable-showing-an-online-user-list\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.kuroi.com.br\/chattable-showing-an-online-user-list\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.kuroi.com.br\/chattable-showing-an-online-user-list\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.kuroi.com.br\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Chattable &#8211; Showing an online user list\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.kuroi.com.br\/#website\",\"url\":\"https:\/\/blog.kuroi.com.br\/\",\"name\":\"KuroiBlog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/blog.kuroi.com.br\/#\/schema\/person\/04cc03dfb8856e8e3aac5fef32e77beb\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.kuroi.com.br\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/blog.kuroi.com.br\/#\/schema\/person\/04cc03dfb8856e8e3aac5fef32e77beb\",\"name\":\"kuroidev\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/9dcbf74d5fc87d1ece560b90821a05d8228bfa8b7673cde99b6e0dc0c95a788f?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9dcbf74d5fc87d1ece560b90821a05d8228bfa8b7673cde99b6e0dc0c95a788f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9dcbf74d5fc87d1ece560b90821a05d8228bfa8b7673cde99b6e0dc0c95a788f?s=96&d=mm&r=g\",\"caption\":\"kuroidev\"},\"logo\":{\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/9dcbf74d5fc87d1ece560b90821a05d8228bfa8b7673cde99b6e0dc0c95a788f?s=96&d=mm&r=g\"},\"sameAs\":[\"https:\/\/blog.kuroi.com.br\"],\"url\":\"https:\/\/blog.kuroi.com.br\/pt_br\/author\/kuroidev\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Chattable - Showing an online user list - KuroiBlog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.kuroi.com.br\/pt_br\/chattable-showing-an-online-user-list\/","og_locale":"pt_BR","og_type":"article","og_title":"Chattable - Showing an online user list - KuroiBlog","og_description":"Chattable is a customizable, live group chat tool for your website. It&#8217;s pretty easy to get started and you get almost full control of your chat styling and many other features that I&#8217;ll mention in [&hellip;]","og_url":"https:\/\/blog.kuroi.com.br\/pt_br\/chattable-showing-an-online-user-list\/","og_site_name":"KuroiBlog","article_published_time":"2025-06-30T12:40:38+00:00","article_modified_time":"2025-07-19T22:09:30+00:00","author":"kuroidev","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"kuroidev","Est. tempo de leitura":"2 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.kuroi.com.br\/chattable-showing-an-online-user-list\/#article","isPartOf":{"@id":"https:\/\/blog.kuroi.com.br\/chattable-showing-an-online-user-list\/"},"author":{"name":"kuroidev","@id":"https:\/\/blog.kuroi.com.br\/#\/schema\/person\/04cc03dfb8856e8e3aac5fef32e77beb"},"headline":"Chattable &#8211; Showing an online user list","datePublished":"2025-06-30T12:40:38+00:00","dateModified":"2025-07-19T22:09:30+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.kuroi.com.br\/chattable-showing-an-online-user-list\/"},"wordCount":386,"commentCount":4,"publisher":{"@id":"https:\/\/blog.kuroi.com.br\/#\/schema\/person\/04cc03dfb8856e8e3aac5fef32e77beb"},"keywords":["chattable","javascript"],"articleSection":["Coding","Tutorials"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blog.kuroi.com.br\/chattable-showing-an-online-user-list\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blog.kuroi.com.br\/chattable-showing-an-online-user-list\/","url":"https:\/\/blog.kuroi.com.br\/chattable-showing-an-online-user-list\/","name":"Chattable - Showing an online user list - KuroiBlog","isPartOf":{"@id":"https:\/\/blog.kuroi.com.br\/#website"},"datePublished":"2025-06-30T12:40:38+00:00","dateModified":"2025-07-19T22:09:30+00:00","breadcrumb":{"@id":"https:\/\/blog.kuroi.com.br\/chattable-showing-an-online-user-list\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.kuroi.com.br\/chattable-showing-an-online-user-list\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blog.kuroi.com.br\/chattable-showing-an-online-user-list\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.kuroi.com.br\/"},{"@type":"ListItem","position":2,"name":"Chattable &#8211; Showing an online user list"}]},{"@type":"WebSite","@id":"https:\/\/blog.kuroi.com.br\/#website","url":"https:\/\/blog.kuroi.com.br\/","name":"KuroiBlog","description":"","publisher":{"@id":"https:\/\/blog.kuroi.com.br\/#\/schema\/person\/04cc03dfb8856e8e3aac5fef32e77beb"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.kuroi.com.br\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":["Person","Organization"],"@id":"https:\/\/blog.kuroi.com.br\/#\/schema\/person\/04cc03dfb8856e8e3aac5fef32e77beb","name":"kuroidev","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/9dcbf74d5fc87d1ece560b90821a05d8228bfa8b7673cde99b6e0dc0c95a788f?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/9dcbf74d5fc87d1ece560b90821a05d8228bfa8b7673cde99b6e0dc0c95a788f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9dcbf74d5fc87d1ece560b90821a05d8228bfa8b7673cde99b6e0dc0c95a788f?s=96&d=mm&r=g","caption":"kuroidev"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/9dcbf74d5fc87d1ece560b90821a05d8228bfa8b7673cde99b6e0dc0c95a788f?s=96&d=mm&r=g"},"sameAs":["https:\/\/blog.kuroi.com.br"],"url":"https:\/\/blog.kuroi.com.br\/pt_br\/author\/kuroidev\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.kuroi.com.br\/pt_br\/wp-json\/wp\/v2\/posts\/111","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.kuroi.com.br\/pt_br\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.kuroi.com.br\/pt_br\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.kuroi.com.br\/pt_br\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.kuroi.com.br\/pt_br\/wp-json\/wp\/v2\/comments?post=111"}],"version-history":[{"count":0,"href":"https:\/\/blog.kuroi.com.br\/pt_br\/wp-json\/wp\/v2\/posts\/111\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.kuroi.com.br\/pt_br\/wp-json\/wp\/v2\/media?parent=111"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.kuroi.com.br\/pt_br\/wp-json\/wp\/v2\/categories?post=111"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.kuroi.com.br\/pt_br\/wp-json\/wp\/v2\/tags?post=111"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}