{"id":31504,"date":"2026-09-01T10:30:34","date_gmt":"2026-09-01T08:30:34","guid":{"rendered":"https:\/\/botnation.ai\/chatbot-discord\/"},"modified":"2026-09-01T10:52:45","modified_gmt":"2026-09-01T08:52:45","slug":"chatbot-discord","status":"publish","type":"post","link":"https:\/\/botnation.ai\/en\/chatbot-discord\/","title":{"rendered":"Discord Chatbot: How It Really Works, What It Costs, and the Right Channel (2026)"},"content":{"rendered":"<p><script>var s=document.createElement(\"style\");s.appendChild(document.createTextNode(`.bn-art{ --bn-cream:#faf8f2; --bn-card:#faf6ea; --bn-sand:#ebe3cb; --bn-sand-2:#f3ecd9; --bn-sand-zebra:#f6f0df; --bn-coral:#fe716b; --bn-coral-soft:#fdeeed; --bn-coral-line:#f6c9c6; --bn-coral-txt:#bd3a34; --bn-blue:#3358f0; --bn-blue-soft:#eef1fe; --bn-blue-line:#c9d4fb; --bn-green:#427632; --bn-green-soft:#eef6ea; --bn-ink:#3d351f; --bn-text:#414b56; --bn-muted:#6d6653; --bn-border:#e6dcc2; --bn-r:16px; --bn-r-sm:11px; --bn-sp:22px; --bn-sh:0 1px 2px rgba(61,53,31,.05),0 10px 26px rgba(61,53,31,.07); --bn-sh-sm:0 1px 2px rgba(61,53,31,.05),0 4px 12px rgba(61,53,31,.05); --bn-mono:'IBM Plex Mono','SFMono-Regular',ui-monospace,'Courier New',monospace; color:var(--bn-text); font-size:18px; line-height:1.75; max-width:820px; margin:0 auto; } .bn-art *{box-sizing:border-box} .bn-art p{margin:0 0 1.15em; color:var(--bn-text)} .bn-art h2{ color:var(--bn-ink); font-weight:700; line-height:1.25; font-size:1.72em; margin:2.2em 0 .7em; letter-spacing:-.01em; } .bn-art h3{color:var(--bn-ink); font-weight:700; font-size:1.22em; margin:1.8em 0 .5em} .bn-art a{color:#3f5cd6; text-decoration:underline; text-underline-offset:2px; text-decoration-thickness:1px} .bn-art a:hover{color:var(--bn-coral)} .bn-art strong{color:var(--bn-ink); font-weight:700} .bn-art ul,.bn-art ol{margin:0 0 1.3em; padding-left:1.25em} .bn-art li{margin:.4em 0} .bn-art ul li::marker{color:var(--bn-coral)} .bn-art ol li::marker{color:var(--bn-blue); font-weight:700} .bn-klabel{ display:inline-flex; align-items:center; gap:7px; font-family:var(--bn-mono); font-size:14px; font-weight:600; text-transform:uppercase; letter-spacing:.12em; color:var(--bn-coral); margin:0 0 .2em; } .bn-klabel svg{width:15px;height:15px;flex:none} .bn-tldr{ background:var(--bn-card); border:1px solid var(--bn-border); border-left:4px solid var(--bn-coral); border-radius:var(--bn-r); padding:20px 24px; margin:0 0 30px; box-shadow:var(--bn-sh-sm); } .bn-tldr p{margin:0; color:var(--bn-text)} .bn-tldr p+p{margin-top:.6em} .bn-toc{ background:var(--bn-sand-2); border:1px solid var(--bn-sand); border-radius:var(--bn-r); padding:18px 22px; margin:0 0 34px; } .bn-toc .bn-klabel{color:var(--bn-coral)} .bn-toc ol{margin:.4em 0 0; padding-left:1.2em; columns:2; column-gap:28px} .bn-toc li{margin:.25em 0; break-inside:avoid} .bn-toc a{color:var(--bn-ink); text-decoration:none; font-weight:600; font-size:.96em} .bn-toc a:hover{color:var(--bn-coral); text-decoration:underline} .bn-stats{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:28px 0} .bn-stat{ background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:20px 18px; text-align:center; box-shadow:var(--bn-sh-sm); } .bn-stat b{display:block; font-size:2em; line-height:1.1; color:var(--bn-coral); font-weight:800; letter-spacing:-.02em} .bn-stat span{display:block; margin-top:6px; font-size:.86em; color:var(--bn-muted); line-height:1.45} .bn-stat:nth-child(2) b{color:var(--bn-blue)} .bn-stat:nth-child(3) b{color:var(--bn-ink)} .bn-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:26px 0} .bn-card{ background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:22px; box-shadow:var(--bn-sh-sm); } .bn-card h4{margin:.1em 0 .35em; color:var(--bn-ink); font-size:1.06em; font-weight:700; display:flex; gap:9px; align-items:center} .bn-card h4 svg{width:20px;height:20px;flex:none;color:var(--bn-coral)} .bn-card p{margin:0; font-size:.96em} .bn-ex{ background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:20px 0; box-shadow:var(--bn-sh); position:relative; } .bn-ex-h{display:flex; align-items:center; gap:13px; margin-bottom:14px} .bn-ex-n{ flex:none; width:38px; height:38px; border-radius:11px; background:var(--bn-coral-soft); color:var(--bn-coral); display:flex; align-items:center; justify-content:center; font-weight:800; font-size:1.1em; font-family:var(--bn-mono); } .bn-ex-h h3{margin:0; font-size:1.18em} .bn-ex-tag{font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.1em; color:var(--bn-muted); display:block; margin-top:2px} .bn-ex p{margin:.2em 0 .9em} .bn-ex .bn-ba{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:14px} .bn-ba div{border-radius:var(--bn-r-sm); padding:13px 15px; font-size:.9em; line-height:1.5} .bn-ba .biz{background:var(--bn-blue-soft); border:1px solid var(--bn-blue-line)} .bn-ba .cli{background:var(--bn-green-soft); border:1px solid #cfe6c4} .bn-ba b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; margin-bottom:4px; color:var(--bn-muted)} .bn-tablewrap{overflow-x:auto; margin:26px 0; border-radius:var(--bn-r); border:1px solid var(--bn-border); box-shadow:var(--bn-sh-sm)} .bn-art table{width:100%; border-collapse:collapse; background:var(--bn-card); font-size:.94em; min-width:520px} .bn-art thead th{background:var(--bn-ink); color:#fbf7ec; text-align:left; font-weight:700; padding:13px 16px; font-size:16px} .bn-art tbody td{padding:12px 16px; border-top:1px solid var(--bn-border); color:var(--bn-text); vertical-align:top; font-size:16px} .bn-art tbody tr:nth-child(even){background:var(--bn-sand-zebra)} .bn-art tbody td:first-child{font-weight:700; color:var(--bn-ink)} .bn-cols{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:26px 0} .bn-col{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:22px; box-shadow:var(--bn-sh-sm)} .bn-col h4{margin:0 0 12px; font-size:1.05em; color:var(--bn-ink); display:flex; align-items:center; gap:9px} .bn-col h4 svg{width:20px;height:20px;flex:none} .bn-col.biz h4 svg{color:var(--bn-blue)} .bn-col.cli h4 svg{color:var(--bn-green)} .bn-col.warn h4 svg{color:var(--bn-coral)} .bn-col ul{margin:0; padding:0; list-style:none} .bn-col li{position:relative; padding-left:26px; margin:.55em 0; font-size:.96em} .bn-col li::before{content:\"\"; position:absolute; left:0; top:.5em; width:13px; height:13px; border-radius:50%; background:var(--bn-coral-soft); border:2px solid var(--bn-coral)} .bn-col.biz li::before{background:var(--bn-blue-soft); border-color:var(--bn-blue)} .bn-col.cli li::before{background:var(--bn-green-soft); border-color:var(--bn-green)} .bn-call{ display:flex; gap:14px; border-radius:var(--bn-r); padding:18px 20px; margin:24px 0; background:var(--bn-card); border:1px solid var(--bn-border); box-shadow:var(--bn-sh-sm); } .bn-call svg{width:22px; height:22px; flex:none; margin-top:1px} .bn-call b{color:var(--bn-ink)} .bn-call p{margin:0; font-size:.95em} .bn-call .bn-klabel{margin-bottom:3px} .bn-tip{border-left:4px solid var(--bn-green)} .bn-tip svg{color:var(--bn-green)} .bn-tip .bn-klabel{color:var(--bn-green)} .bn-warn{border-left:4px solid var(--bn-coral)} .bn-warn svg{color:var(--bn-coral)} .bn-warn .bn-klabel{color:var(--bn-coral)} .bn-info{border-left:4px solid var(--bn-blue)} .bn-info svg{color:var(--bn-blue)} .bn-info .bn-klabel{color:var(--bn-blue)} .bn-def{background:var(--bn-blue-soft); border:1px solid var(--bn-blue-line); border-radius:var(--bn-r); padding:20px 24px; margin:24px 0} .bn-def .bn-klabel{color:var(--bn-blue)} .bn-def p{margin:0} .bn-steps{counter-reset:s; list-style:none; padding:0; margin:24px 0} .bn-steps li{position:relative; padding:0 0 4px 56px; margin:0 0 18px; min-height:40px} .bn-steps li::before{ counter-increment:s; content:counter(s); position:absolute; left:0; top:0; width:40px; height:40px; border-radius:12px; background:var(--bn-coral); color:#fff; font-weight:800; font-family:var(--bn-mono); display:flex; align-items:center; justify-content:center; box-shadow:var(--bn-sh-sm); } .bn-steps li b{display:block; color:var(--bn-ink); margin-bottom:2px} .bn-check{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-check h3{margin:.1em 0 .3em} .bn-check>p{font-size:.95em; color:var(--bn-muted); margin-bottom:14px} .bn-check ul{list-style:none; padding:0; margin:0 0 18px} .bn-check li{margin:0; border-top:1px solid var(--bn-border)} .bn-check li:first-child{border-top:none} .bn-check label{display:flex; align-items:flex-start; gap:13px; padding:12px 2px; cursor:pointer; font-size:.97em; color:var(--bn-text)} .bn-check input{appearance:none; -webkit-appearance:none; flex:none; width:22px; height:22px; margin-top:1px; border:2px solid var(--bn-coral-line); border-radius:7px; background:#fff; cursor:pointer; position:relative; transition:.15s} .bn-check input:checked{background:var(--bn-coral); border-color:var(--bn-coral)} .bn-check input:checked::after{content:\"\"; position:absolute; left:6px; top:2px; width:6px; height:11px; border:solid #fff; border-width:0 2.5px 2.5px 0; transform:rotate(45deg)} .bn-result{border-radius:var(--bn-r-sm); padding:16px 18px; background:var(--bn-coral-soft); border:1px solid var(--bn-coral-line); font-size:.96em} .bn-result b{color:var(--bn-ink)} .bn-result .bn-score{font-family:var(--bn-mono); font-weight:700; color:var(--bn-coral)} .bn-result .bnc-res{display:none; margin-top:10px} .bn-result .bnc-res.on{display:block} .bn-result .bnc-res p{margin:0; color:var(--bn-text)} .bn-faq{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); margin:0 0 12px; box-shadow:var(--bn-sh-sm); overflow:hidden} .bn-faq summary{cursor:pointer; padding:17px 20px; font-weight:700; color:var(--bn-ink); list-style:none; display:flex; justify-content:space-between; align-items:center; gap:14px; font-size:1.03em} .bn-faq summary::-webkit-details-marker{display:none} .bn-faq summary::after{content:\"+\"; font-family:var(--bn-mono); font-size:1.5em; color:var(--bn-coral); flex:none; line-height:1; transition:transform .2s} .bn-faq[open] summary::after{transform:rotate(45deg)} .bn-faq .bn-faq-b{padding:0 20px 18px; color:var(--bn-text)} .bn-faq .bn-faq-b p{margin:0} .bn-fig{margin:30px 0; text-align:center} .bn-fig img{width:100%; height:auto; border-radius:var(--bn-r); box-shadow:var(--bn-sh); display:block} .bn-fig figcaption{margin-top:10px; font-size:.85em; color:var(--bn-muted); font-style:italic} .bn-cta{background:var(--bn-ink); border-radius:var(--bn-r); padding:34px 32px; margin:36px 0 12px; text-align:center} .bn-cta h3{color:#fff; margin:0 0 .4em; font-size:1.4em} .bn-cta p{color:#e9e2cf; margin:0 auto 20px; max-width:560px; font-size:1em} .bn-cta-btn{display:inline-block; background:var(--bn-coral); color:#332c19 !important; text-decoration:none !important; font-weight:800; padding:15px 34px; border-radius:999px; font-size:1.02em; box-shadow:0 8px 22px rgba(254,113,107,.35); transition:.15s} .bn-cta-btn:hover{background:#ff8782; color:#fff !important} .bn-quiz{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-quiz .bnq-q{padding:14px 0; border-top:1px solid var(--bn-border)} .bn-quiz .bnq-q:first-of-type{border-top:none; padding-top:4px} .bn-quiz .bnq-qt{font-weight:700; color:var(--bn-ink); margin:0 0 10px; font-size:1.02em} .bn-quiz .bnq-opt{display:flex; align-items:flex-start; gap:12px; padding:9px 12px; margin:6px 0; cursor:pointer; font-size:.96em; color:var(--bn-text); border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); background:#fff; transition:.15s} .bn-quiz .bnq-opt:hover{border-color:var(--bn-coral-line); background:var(--bn-coral-soft)} .bn-quiz .bnq-opt input{appearance:none; -webkit-appearance:none; flex:none; width:20px; height:20px; margin-top:1px; border:2px solid var(--bn-coral-line); border-radius:50%; background:#fff; cursor:pointer; position:relative; transition:.15s} .bn-quiz .bnq-opt input:checked{border-color:var(--bn-coral)} .bn-quiz .bnq-opt input:checked::after{content:\"\"; position:absolute; left:3px; top:3px; width:10px; height:10px; border-radius:50%; background:var(--bn-coral)} .bn-quiz .bnq-opt:has(input:checked){border-color:var(--bn-coral); background:var(--bn-coral-soft)} .bn-quiz .bnq-btn{margin-top:16px; display:inline-block; background:var(--bn-coral); color:#332c19; border:none; font-weight:800; font-size:1em; padding:13px 30px; border-radius:999px; cursor:pointer; box-shadow:0 6px 16px rgba(254,113,107,.28); transition:.15s; font-family:inherit} .bn-quiz .bnq-btn:hover{background:#ff8782} .bn-quiz .bnq-res{display:none; margin-top:18px; padding:18px 20px; border-radius:var(--bn-r-sm); background:var(--bn-blue-soft); border:1px solid var(--bn-blue-line)} .bn-quiz .bnq-res.on{display:block} .bn-quiz #bnq-agent{background:var(--bn-coral-soft); border-color:var(--bn-coral-line)} .bn-quiz #bnq-hybrid{background:var(--bn-green-soft); border-color:#cfe6c4} .bn-quiz .bnq-rt{font-weight:800; color:var(--bn-ink); margin:0 0 6px; font-size:1.08em} .bn-quiz .bnq-res p{margin:0} .bn-spectrum{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-spectrum h3{margin:.1em 0 .3em} .bn-spectrum>p{font-size:.95em; color:var(--bn-muted); margin:0 0 20px} .bn-spec-track{margin:26px 4px 4px} .bn-spec-range{-webkit-appearance:none; appearance:none; width:100%; height:8px; border-radius:999px; background:var(--bn-sand); outline:none; cursor:pointer; margin:0} .bn-spec-range::-webkit-slider-thumb{-webkit-appearance:none; appearance:none; width:26px; height:26px; border-radius:50%; background:var(--bn-coral); border:3px solid #fff; box-shadow:var(--bn-sh-sm); cursor:pointer} .bn-spec-range::-moz-range-thumb{width:26px; height:26px; border-radius:50%; background:var(--bn-coral); border:3px solid #fff; box-shadow:var(--bn-sh-sm); cursor:pointer} .bn-spec-stops{display:flex; justify-content:space-between; margin-top:13px; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.07em; color:var(--bn-muted); gap:8px} .bn-spec-stops span{flex:1; cursor:pointer; transition:.15s; text-align:center} .bn-spec-stops span:first-child{text-align:left} .bn-spec-stops span:last-child{text-align:right} .bn-spec-stops span.on{color:var(--bn-coral); font-weight:700} .bns-pane{display:none; margin-top:22px; border-radius:var(--bn-r-sm); padding:20px 22px; background:var(--bn-sand-2); border:1px solid var(--bn-sand)} .bns-pane.on{display:block} .bns-pane h4{margin:0 0 3px; color:var(--bn-ink); font-size:1.14em} .bns-tag{font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.1em; color:var(--bn-coral); display:block; margin-bottom:11px} .bns-pane>p{margin:0; font-size:.96em; color:var(--bn-text)} .bns-grid{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:15px} .bns-grid div{background:#fff; border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); padding:11px 14px; font-size:.9em; color:var(--bn-text)} .bns-grid b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.07em; color:var(--bn-muted); margin-bottom:3px} .bn-roi{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-roi h3{margin:.1em 0 .3em} .bn-roi>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-roi-fields{display:grid; grid-template-columns:1fr 1fr; gap:20px 28px; margin:18px 0 24px} .bn-roi-field:last-child{grid-column:1\/-1} .bn-roi-field label{display:block; font-size:.9em; color:var(--bn-text); font-weight:600; margin-bottom:11px} .bn-roi-field output{font-family:var(--bn-mono); font-weight:700; color:var(--bn-coral)} .bn-roi-out{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:4px} .bn-roi-stat{background:var(--bn-sand-2); border:1px solid var(--bn-sand); border-radius:var(--bn-r); padding:20px 16px; text-align:center} .bn-roi-stat b{display:block; font-size:1.85em; line-height:1.05; color:var(--bn-coral); font-weight:800; letter-spacing:-.02em; font-family:var(--bn-mono)} .bn-roi-stat:nth-child(2) b{color:var(--bn-blue)} .bn-roi-stat:nth-child(3) b{color:var(--bn-ink)} .bn-roi-stat span{display:block; margin-top:7px; font-size:.82em; color:var(--bn-muted); line-height:1.4} .bn-roi-note{font-size:16px; color:var(--bn-muted); margin:16px 0 0; font-style:italic} .bn-bot{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:22px 24px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-bot h3{margin:.1em 0 .3em} .bn-bot>p{font-size:.95em; color:var(--bn-muted); margin:0 0 16px} .bn-bot-win{border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); background:#fff; overflow:hidden} .bn-bot-bar{display:flex; align-items:center; gap:11px; padding:12px 16px; background:var(--bn-sand-2); border-bottom:1px solid var(--bn-border)} .bn-bot-ava{flex:none; width:32px; height:32px; border-radius:50%; background:var(--bn-coral-soft); display:flex; align-items:center; justify-content:center} .bn-bot-ava svg{width:19px; height:19px; color:var(--bn-coral)} .bn-bot-id b{display:block; color:var(--bn-ink); font-size:.95em; line-height:1.2} .bn-bot-id span{font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-green); display:inline-flex; align-items:center; gap:5px} .bn-bot-id span::before{content:\"\"; width:7px; height:7px; border-radius:50%; background:var(--bn-green)} .bn-bot-log{padding:16px; min-height:130px; max-height:320px; overflow-y:auto; display:flex; flex-direction:column; gap:10px} .bn-bot-msg{max-width:82%; padding:10px 14px; border-radius:15px; font-size:.95em; line-height:1.5} .bn-bot-msg.bot{align-self:flex-start; background:var(--bn-sand-2); color:var(--bn-text); border-bottom-left-radius:4px} .bn-bot-msg.user{align-self:flex-end; background:var(--bn-coral); color:#332c19; border-bottom-right-radius:4px} .bn-bot-quick{display:flex; flex-wrap:wrap; gap:8px; padding:2px 16px 14px} .bn-art .bn-bot-qbtn{font-family:inherit; font-size:16px; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:7px 14px; cursor:pointer; transition:.15s} .bn-art .bn-bot-qbtn:hover{background:var(--bn-coral-soft); border-color:var(--bn-coral)} .bn-bot-form{display:flex; gap:8px; padding:12px 16px; border-top:1px solid var(--bn-border); background:var(--bn-sand-2)} .bn-bot-input{flex:1; min-width:0; font-family:inherit; font-size:.95em; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-border); border-radius:999px; padding:10px 16px; outline:none} .bn-bot-input:focus{border-color:var(--bn-coral)} .bn-art .bn-bot-send{flex:none; font-family:inherit; font-weight:700; font-size:16px; color:#fff; background:var(--bn-coral); border:none; border-radius:999px; padding:10px 20px; cursor:pointer; transition:.15s} .bn-art .bn-bot-send:hover{background:#ff8782} .bn-art .bn-bot-note{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic} .bbot-kb,.bbot-fallback{display:none} .bn-shot{margin:16px 0 2px; border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); background:#fff; overflow:hidden} .bn-shot-bar{display:flex; align-items:center; gap:8px; padding:9px 13px; background:var(--bn-sand-2); border-bottom:1px solid var(--bn-border)} .bn-shot-dot{width:8px;height:8px;border-radius:50%;background:var(--bn-green);flex:none} .bn-shot-bar b{color:var(--bn-ink); font-size:.9em} .bn-shot-bar span{margin-left:auto; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.06em; color:var(--bn-muted)} .bn-shot-log{padding:13px 14px; display:flex; flex-direction:column; gap:8px} .bn-shot .bn-bot-msg{max-width:86%; font-size:.9em} .bn-shot-quick{display:flex; flex-wrap:wrap; gap:6px; margin-top:2px} .bn-shot-quick span{font-size:14px; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:4px 11px} .bn-exlink{margin:13px 0 0; font-weight:700; display:flex; align-items:center; gap:6px} .bn-exlink svg{width:16px;height:16px;flex:none;color:var(--bn-coral)} .bn-lb{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-lb h3{margin:.1em 0 .3em} .bn-lb>p{font-size:.95em; color:var(--bn-muted); margin:0 0 16px} .bn-lb-ctrl{display:flex; flex-wrap:wrap; gap:11px; align-items:center; margin:0 0 16px} .bn-lb-ctrl br{display:none} .bn-lb-search{flex:1; min-width:200px; font-family:inherit; font-size:16px; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-border); border-radius:999px; padding:11px 18px; outline:none} .bn-lb-search:focus{border-color:var(--bn-coral)} .bn-lb-filters{display:flex; flex-wrap:wrap; gap:8px} .bn-art .bn-lb-fbtn{font-family:inherit; font-size:16px; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:9px 16px; cursor:pointer; transition:.15s} .bn-art .bn-lb-fbtn:hover{background:var(--bn-coral-soft)} .bn-art .bn-lb-fbtn.on{background:var(--bn-coral); color:#fff; border-color:var(--bn-coral)} .bn-lb .bn-lb-th{cursor:pointer; user-select:none; white-space:nowrap} .bn-lb .bn-lb-th:hover{color:#fbf7ec; opacity:.85} .bn-lb-rank{font-family:var(--bn-mono); font-weight:700; color:var(--bn-coral); text-align:center} .bn-lb-score{font-family:var(--bn-mono); font-weight:700; color:var(--bn-ink); text-align:right; white-space:nowrap} .lb-empty{padding:16px; text-align:center; color:var(--bn-muted); font-size:.95em} .bn-lb-foot{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic} @media(max-width:680px){ .bn-art{font-size:17px} .bn-stats,.bn-grid,.bn-cols,.bn-ex .bn-ba,.bns-grid,.bn-roi-fields,.bn-roi-out{grid-template-columns:1fr} .bn-roi-field:last-child{grid-column:auto} .bn-toc ol{columns:1} .bn-art h2{font-size:1.5em} .bn-bot-msg{max-width:90%} } .bn-art sup,.bn-art sub{font-size:14px;line-height:0} .bn-klabel.hc{color:var(--bn-coral-txt)} .bn-cdc{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-cdc h3{margin:.1em 0 .3em} .bn-cdc>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-cdc br{display:none} .bn-cdc p:empty{display:none; margin:0} .cdc-q{padding:15px 0; border-top:1px solid var(--bn-border)} .cdc-q:first-of-type{border-top:none; padding-top:2px} .bn-art .cdc-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .cdc-chips{display:flex; flex-wrap:wrap; gap:8px} .cdc-chips p:not([class]){display:contents} .bn-art .cdc-chip{display:inline-flex; align-items:center; font-size:16px; line-height:1.35; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:9px 16px; cursor:pointer; transition:.15s} .bn-art .cdc-chip:hover{background:var(--bn-coral-soft)} .bn-art .cdc-chip:has(input:checked){background:var(--bn-coral); color:#332c19; border-color:var(--bn-coral); font-weight:700} .cdc-chip input{position:absolute; opacity:0; width:1px; height:1px; pointer-events:none} .cdc-out{margin:22px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .cdc-line{padding:14px 0; border-top:1px solid var(--bn-sand)} .cdc-line:first-of-type{border-top:none; padding-top:2px} .cdc-line p:not([class]){margin:0} .bn-art .cdc-line b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-coral-txt); margin-bottom:6px} .bn-art .cdc-line span{display:block; font-size:16px; line-height:1.62; color:var(--bn-text)} .bn-art .cdc-copy{margin-top:18px; display:inline-block; background:var(--bn-coral); color:#332c19; border:none; font-family:inherit; font-weight:800; font-size:16px; padding:13px 28px; border-radius:999px; cursor:pointer; box-shadow:0 6px 16px rgba(254,113,107,.28); transition:.15s} .bn-art .cdc-copy:hover{background:#ff8782} .bn-art .cdc-note{font-size:16px; color:var(--bn-muted); margin:12px 0 0; font-style:italic; min-height:1.5em} @media(max-width:680px){ .cdc-chips{flex-direction:column; align-items:stretch} .bn-art .cdc-chip{justify-content:flex-start} } .bn-niv{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-niv h3{margin:.1em 0 .3em} .bn-niv>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-niv br{display:none} .bn-niv p:empty{display:none; margin:0} .niv-q{padding:15px 0; border-top:1px solid var(--bn-border)} .niv-q:first-of-type{border-top:none; padding-top:2px} .bn-art .niv-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .niv-out{margin:24px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .bn-art .niv-score{display:flex; align-items:baseline; gap:10px; margin:0 0 13px} .bn-art .niv-score b{font-family:var(--bn-mono); font-size:2.1em; line-height:1; color:var(--bn-coral-txt); font-weight:800; letter-spacing:-.02em} .bn-art .niv-score span{font-size:16px; color:var(--bn-muted)} .niv-gauge{height:10px; border-radius:999px; background:var(--bn-sand); overflow:hidden; margin:0 0 18px} .niv-gauge p:not([class]){display:contents} .niv-gauge i{display:block; height:10px; background:var(--bn-coral); border-radius:999px; width:0} .nivv{display:none; border-radius:var(--bn-r-sm); padding:17px 19px; background:#fff; border:1px solid var(--bn-border)} .nivv.on{display:block} .bn-art .nivv b{display:block; font-size:1.08em; color:var(--bn-ink); margin-bottom:5px} .bn-art .nivv p{margin:0; font-size:16px; line-height:1.62} .bn-art .niv-weak{margin:15px 0 0; font-size:16px; color:var(--bn-text)} .bn-art .niv-weak b{font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-coral-txt); display:block; margin-bottom:4px} .bn-art blockquote{margin:26px 0; padding:18px 22px; background:var(--bn-card); border:1px solid var(--bn-border); border-left:4px solid var(--bn-blue); border-radius:var(--bn-r); box-shadow:var(--bn-sh-sm)} .bn-art blockquote p{margin:0; font-size:17px; line-height:1.65; color:var(--bn-text)} .bn-chk{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-chk h3{margin:.1em 0 .3em} .bn-chk>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-chk br{display:none} .bn-chk p:empty{display:none; margin:0} .chk-doc{border-radius:var(--bn-r-sm); background:#fff; border:1px solid var(--bn-border); padding:16px 18px; margin:0 0 6px} .bn-art .chk-doc b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-coral-txt); margin-bottom:6px} .bn-art .chk-doc span{display:block; font-size:16px; line-height:1.62; color:var(--bn-text)} .chk-q{padding:15px 0; border-top:1px solid var(--bn-border)} .bn-art .chk-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .chk-out{margin:22px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .chk-pieces{display:grid; gap:10px; margin:0 0 16px} .chk-piece{border-radius:var(--bn-r-sm); background:#fff; border:1px solid var(--bn-border); padding:12px 14px} .chk-piece.hit{border-color:var(--bn-green); background:var(--bn-green-soft)} .bn-art .chk-piece b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-muted); margin-bottom:5px} .bn-art .chk-piece.hit b{color:var(--bn-green)} .bn-art .chk-piece span{display:block; font-size:16px; line-height:1.6; color:var(--bn-text)} .bn-art .chk-verdict{border-radius:var(--bn-r-sm); padding:14px 16px; font-size:16px; line-height:1.55; background:var(--bn-green-soft); border:1px solid #cfe6c4; color:var(--bn-text); margin:0 0 12px} .bn-art .chk-verdict.ko{background:var(--bn-coral-soft); border-color:var(--bn-coral-line)} .bn-art .chk-stats{margin:0; font-size:16px; line-height:1.6; color:var(--bn-text)} .bn-art .chk-stats b{font-family:var(--bn-mono); color:var(--bn-coral-txt); font-weight:700} .bn-dev{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-dev h3{margin:.1em 0 .3em} .bn-dev>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-dev br{display:none} .bn-dev p:empty{display:none; margin:0} .dev-q{padding:15px 0; border-top:1px solid var(--bn-border)} .dev-q:first-of-type{border-top:none; padding-top:2px} .bn-art .dev-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .dev-out{margin:24px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .dev-tiles{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:0 0 16px} .dev-stat{background:#fff; border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); padding:16px 12px; text-align:center} .bn-art .dev-stat b{display:block; font-family:var(--bn-mono); font-size:1.5em; line-height:1.12; font-weight:800; letter-spacing:-.02em; color:var(--bn-coral-txt)} .bn-art .dev-stat:nth-child(2) b{color:var(--bn-blue)} .bn-art .dev-stat:nth-child(3) b{color:var(--bn-green)} .bn-art .dev-stat:nth-child(4) b{color:var(--bn-ink)} .bn-art .dev-stat span{display:block; margin-top:7px; font-size:14px; color:var(--bn-muted); line-height:1.4} .bn-art .dev-line{margin:0 0 14px; font-size:16px; line-height:1.6; color:var(--bn-text)} .bn-art .dev-line b{font-family:var(--bn-mono); color:var(--bn-coral-txt); font-weight:700} .dvv{display:none; border-radius:var(--bn-r-sm); padding:16px 18px; background:#fff; border:1px solid var(--bn-border)} .dvv.on{display:block} .bn-art .dvv b{display:block; font-size:1.06em; color:var(--bn-ink); margin-bottom:5px} .bn-art .dvv p{margin:0; font-size:16px; line-height:1.62} @media(max-width:680px){ .dev-tiles{grid-template-columns:1fr 1fr} } .bn-fig.doc img{max-width:520px; margin:0 auto} .bn-nlu{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-nlu h3{margin:.1em 0 .3em} .bn-nlu>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-nlu br{display:none} .bn-nlu p:empty{display:none; margin:0} .nlu-q{padding:15px 0; border-top:1px solid var(--bn-border)} .nlu-q:first-of-type{border-top:none; padding-top:2px} .bn-art .nlu-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .bn-art .nlu-in{width:100%; font-family:inherit; font-size:16px; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-border); border-radius:999px; padding:12px 18px; outline:none} .bn-art .nlu-in:focus{border-color:var(--bn-coral)} .nlu-ex{display:flex; flex-wrap:wrap; gap:8px; margin-top:12px} .nlu-ex p:not([class]){display:contents} .bn-art .nlu-exb{font-family:inherit; font-size:16px; line-height:1.35; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:9px 16px; cursor:pointer; transition:.15s; text-align:left} .bn-art .nlu-exb:hover{background:var(--bn-coral-soft)} .nlu-out{margin:24px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .bn-art .nlu-toks{margin:0 0 14px; font-size:16px; line-height:1.7; color:var(--bn-text)} .bn-art .nlu-toks b{font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-coral-txt); display:block; margin-bottom:8px} .bn-art .nlu-tk{display:inline-block; font-family:var(--bn-mono); font-size:14px; background:#fff; border:1px solid var(--bn-border); border-radius:999px; padding:3px 11px; margin:0 6px 6px 0; color:var(--bn-ink)} .nlu-row{display:grid; grid-template-columns:1fr 130px 54px; gap:12px; align-items:center; padding:10px 0; border-top:1px solid var(--bn-sand)} .nlu-row:first-child{border-top:none} .bn-art .nlu-lab{font-size:16px; line-height:1.4; color:var(--bn-ink); font-weight:700} .nlu-bar{height:10px; border-radius:999px; background:var(--bn-sand); overflow:hidden} .nlu-bar i{display:block; height:10px; background:var(--bn-coral); border-radius:999px; width:0} .nlu-row.win .nlu-bar i{background:var(--bn-green)} .bn-art .nlu-sc{font-family:var(--bn-mono); font-size:16px; font-weight:700; color:var(--bn-coral-txt); text-align:right} .nlu-verdict{margin:16px 0 0; border-radius:var(--bn-r-sm); padding:16px 18px; background:#fff; border:1px solid var(--bn-border); border-left:4px solid var(--bn-green)} .nlu-verdict.ko{border-left-color:var(--bn-coral)} .bn-art .nlu-verdict b{display:block; font-size:1.06em; color:var(--bn-ink); margin-bottom:5px} .bn-art .nlu-verdict p{margin:0; font-size:16px; line-height:1.62} .bn-art .nlu-note{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic} @media(max-width:680px){ .nlu-row{grid-template-columns:minmax(0,1fr) 64px 48px; gap:9px} .bn-art .nlu-lab{font-size:16px} } @media(max-width:560px){ .nlu-row{grid-template-columns:minmax(0,1fr) auto; gap:7px 10px; padding:12px 0} .bn-art .nlu-lab{grid-column:1; grid-row:1} .bn-art .nlu-sc{grid-column:2; grid-row:1; text-align:right} .nlu-bar{grid-column:1\/3; grid-row:2} } .bn-art code{font-family:var(--bn-mono); font-size:16px; line-height:1.5; background:var(--bn-sand-2); border:1px solid var(--bn-sand); border-radius:6px; padding:1px 7px; color:var(--bn-ink); word-break:break-word} .bn-art pre{background:var(--bn-sand-2); border:1px solid var(--bn-sand); border-radius:var(--bn-r-sm); padding:16px 18px; overflow-x:auto; margin:22px 0} .bn-art pre code{background:none; border:none; padding:0; font-size:16px} .bn-hd{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-hd h3{margin:.1em 0 .3em} .bn-hd>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-hd br{display:none} .bn-hd p:empty{display:none; margin:0} .hd-q{padding:15px 0; border-top:1px solid var(--bn-border)} .hd-q:first-of-type{border-top:none; padding-top:2px} .bn-art .hd-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .hd-out{margin:22px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .hd-head{display:grid; grid-template-columns:minmax(0,auto) minmax(0,1fr); gap:18px; align-items:center} .hd-n{font-family:var(--bn-mono); font-weight:800; line-height:1; color:var(--bn-ink); white-space:nowrap} .bn-art .hd-n span{font-size:34px} .bn-art .hd-n i{font-style:normal; font-size:16px; color:var(--bn-muted); font-weight:600} .hd-track{position:relative; height:14px; border-radius:999px; background:#fff; border:1px solid var(--bn-sand); overflow:hidden} .hd-fill{position:absolute; left:0; top:0; bottom:0; width:0; background:var(--bn-coral); transition:width .18s} .hd-parts{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:16px} .hd-part{background:#fff; border:1px solid var(--bn-sand); border-radius:var(--bn-r-sm); padding:11px 8px; text-align:center} .bn-art .hd-part span{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.05em; color:var(--bn-muted); line-height:1.3} .bn-art .hd-part b{display:block; font-family:var(--bn-mono); font-size:20px; font-weight:800; color:var(--bn-coral-txt); margin-top:4px} .hdv{display:none; margin-top:18px; border-radius:var(--bn-r-sm); background:#fff; border:1px solid var(--bn-sand); padding:17px 19px} .hdv-1{display:block; border-left:4px solid var(--bn-green)} .hdv-2{border-left:4px solid var(--bn-blue)} .hdv-3{border-left:4px solid var(--bn-coral)} .hdv-4{border-left:4px solid var(--bn-ink)} .bn-art .hdv b{display:block; font-size:18px; line-height:1.4; color:var(--bn-ink); margin-bottom:7px} .bn-art .hdv p{margin:0; font-size:16px; line-height:1.62; color:var(--bn-text)} .bn-art .hd-note{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic; line-height:1.55} @media(max-width:680px){ .bn-hd{padding:20px 17px} .hd-out{padding:17px 15px} .hd-head{grid-template-columns:minmax(0,1fr); gap:12px} .hd-parts{grid-template-columns:repeat(2,minmax(0,1fr))} } .bn-tri{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-tri h3{margin:.1em 0 .3em} .bn-tri>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-tri br{display:none} .bn-tri p:empty{display:none; margin:0} .tri-q{padding:15px 0; border-top:1px solid var(--bn-border)} .tri-q:first-of-type{border-top:none; padding-top:2px} .bn-art .tri-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .tri-out{margin:22px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .triv{display:none; border-radius:var(--bn-r-sm); background:#fff; border:1px solid var(--bn-sand); padding:17px 19px} .triv-1{border-left:4px solid var(--bn-ink)} .triv-2{border-left:4px solid var(--bn-coral)} .triv-3{border-left:4px solid var(--bn-blue)} .triv-4{border-left:4px solid var(--bn-muted)} .triv-5{display:block; border-left:4px solid var(--bn-green)} .bn-art .triv em{display:block; font-style:normal; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.06em; color:var(--bn-coral-txt); margin-bottom:7px; line-height:1.4} .bn-art .triv b{display:block; font-size:18px; line-height:1.4; color:var(--bn-ink); margin-bottom:8px} .bn-art .triv p{margin:0 0 .7em; font-size:16px; line-height:1.62; color:var(--bn-text)} .bn-art .triv p:last-child{margin-bottom:0} .tri-lines{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:16px} .tri-line{background:#fff; border:1px solid var(--bn-sand); border-radius:var(--bn-r-sm); padding:13px 15px} .bn-art .tri-line span{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.05em; color:var(--bn-muted); line-height:1.3; margin-bottom:6px} .bn-art .tri-line b{display:block; font-size:16px; line-height:1.55; color:var(--bn-ink); font-weight:600} .bn-art .tri-note{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic; line-height:1.55} .bn-tri .bn-tablewrap{margin-top:22px} .bn-art .tri-load{font-family:var(--bn-mono); font-size:16px; line-height:1.2; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:8px 15px; cursor:pointer; white-space:nowrap; transition:.15s} .bn-art .tri-load:hover{background:var(--bn-coral-soft)} @media(max-width:680px){ .bn-tri{padding:20px 17px} .tri-out{padding:17px 15px} .tri-lines{grid-template-columns:minmax(0,1fr)} } .bn-art .bn-steps ol{list-style:none;padding:0;margin:0} .bn-art .bn-tip,.bn-art .bn-warn,.bn-art .bn-info{background:var(--bn-card);border:1px solid var(--bn-border);border-radius:var(--bn-r);padding:18px 20px;margin:24px 0;box-shadow:var(--bn-sh-sm)} .bn-art .bn-tip{border-left:4px solid var(--bn-green)} .bn-art .bn-warn{border-left:4px solid var(--bn-coral)} .bn-art .bn-info{border-left:4px solid var(--bn-blue)} .bn-art .bn-tip .bn-klabel,.bn-art .bn-warn .bn-klabel,.bn-art .bn-info .bn-klabel{margin-bottom:6px} .bn-art .bn-tip p,.bn-art .bn-warn p,.bn-art .bn-info p{margin:0} .bn-art .bn-tri table{table-layout:fixed;min-width:640px} .bn-art .bn-tri th:nth-child(1),.bn-art .bn-tri td:nth-child(1){width:22%} .bn-art .bn-tri th:nth-child(2),.bn-art .bn-tri td:nth-child(2){width:14%} .bn-art .bn-tri th:nth-child(3),.bn-art .bn-tri td:nth-child(3){width:14%} .bn-art .bn-tri th:nth-child(4),.bn-art .bn-tri td:nth-child(4){width:13%} .bn-art .bn-tri th:nth-child(5),.bn-art .bn-tri td:nth-child(5){width:22%} .bn-art .bn-tri th:nth-child(6),.bn-art .bn-tri td:nth-child(6){width:15%} .bn-art .bn-tri thead th,.bn-art .bn-tri tbody td{padding:11px 8px} .bn-art .tri-load{padding:4px 10px} .bn-art .bn-cta-in{text-align:center;margin:26px 0} .bn-lng{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-lng h3{margin:.1em 0 .3em} .bn-lng>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-lng br{display:none} .bn-lng p:empty{display:none; margin:0} .lng-q{padding:15px 0; border-top:1px solid var(--bn-border)} .lng-q:first-of-type{border-top:none; padding-top:2px} .bn-art .lng-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .lng-out{margin:22px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .lng-lines{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px} .lng-line{background:#fff; border:1px solid var(--bn-sand); border-radius:var(--bn-r-sm); padding:13px 15px} .bn-art .lng-line b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.05em; color:var(--bn-muted); line-height:1.3; margin-bottom:6px} .bn-art .lng-line span{display:block; font-size:16px; line-height:1.55; color:var(--bn-ink); font-weight:600} .lngv{display:none; margin-top:16px; border-radius:var(--bn-r-sm); background:#fff; border:1px solid var(--bn-sand); padding:17px 19px} .lngv-1{display:block; border-left:4px solid var(--bn-blue)} .lngv-2{border-left:4px solid var(--bn-coral)} .lngv-3{border-left:4px solid var(--bn-green)} .lngv-4{border-left:4px solid var(--bn-ink)} .bn-art .lngv em{display:block; font-style:normal; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.06em; color:var(--bn-coral-txt); margin-bottom:7px; line-height:1.4} .bn-art .lngv b{display:block; font-size:18px; line-height:1.4; color:var(--bn-ink); margin-bottom:8px} .bn-art .lngv p{margin:0 0 .7em; font-size:16px; line-height:1.62; color:var(--bn-text)} .bn-art .lngv p:last-child{margin-bottom:0} .bn-art .lng-note{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic; line-height:1.55} .bn-lng .bn-tablewrap{margin-top:22px} .bn-art .bn-lng table{table-layout:fixed; min-width:620px} .bn-art .bn-lng th:nth-child(1),.bn-art .bn-lng td:nth-child(1){width:26%} .bn-art .bn-lng th:nth-child(2),.bn-art .bn-lng td:nth-child(2){width:28%} .bn-art .bn-lng th:nth-child(3),.bn-art .bn-lng td:nth-child(3){width:32%} .bn-art .bn-lng th:nth-child(4),.bn-art .bn-lng td:nth-child(4){width:14%} .bn-art .bn-lng thead th,.bn-art .bn-lng tbody td{padding:11px 10px} @media(max-width:680px){ .bn-lng{padding:20px 17px} .lng-out{padding:17px 15px} .lng-lines{grid-template-columns:minmax(0,1fr)} } .bn-gem{background:var(--bn-card);border:1px solid var(--bn-border);border-radius:var(--bn-r);padding:24px 26px;margin:28px 0;box-shadow:var(--bn-sh)} .bn-gem h3{margin:.1em 0 .3em} .bn-gem>p{font-size:16px;color:var(--bn-muted);margin:0 0 18px} .bn-gem br{display:none} .bn-gem p:empty{display:none;margin:0} .gem-q{padding:15px 0;border-top:1px solid var(--bn-border)} .gem-q:first-of-type{border-top:none;padding-top:2px} .bn-art .gem-qt{font-weight:700;color:var(--bn-ink);margin:0 0 11px;font-size:16px;line-height:1.45} .gem-out{margin:22px 0 0;border-radius:var(--bn-r-sm);background:var(--bn-sand-2);border:1px solid var(--bn-sand);padding:20px 22px} .giv{display:none;border-radius:var(--bn-r-sm);background:#fff;border:1px solid var(--bn-sand);padding:17px 19px;border-left:4px solid var(--bn-coral)} .giv.on{display:block} .giv0{border-left-color:var(--bn-green)} .giv4{border-left-color:var(--bn-blue)} .bn-art .giv em{display:block;font-style:normal;font-family:var(--bn-mono);font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--bn-coral-txt);margin-bottom:7px;line-height:1.4} .bn-art .giv b{display:block;font-size:18px;line-height:1.4;color:var(--bn-ink);margin-bottom:8px} .bn-art .giv p{margin:0;font-size:16px;line-height:1.62;color:var(--bn-text)} .bn-gem .bn-tablewrap{margin-top:22px} @media(max-width:680px){.bn-gem{padding:20px 17px}.gem-out{padding:17px 15px}} .bn-gene{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-gene h3{margin:.1em 0 .3em} .bn-gene>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-gene br{display:none} .bn-gene p:empty{display:none; margin:0} .gene-q{padding:15px 0; border-top:1px solid var(--bn-border)} .gene-q:first-of-type{border-top:none; padding-top:2px} .bn-art .gene-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .gene-out{margin:24px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .gene-tiles{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:0 0 16px} .gene-stat{background:#fff; border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); padding:16px 12px; text-align:center} .bn-art .gene-stat b{display:block; font-family:var(--bn-mono); font-size:1.5em; line-height:1.12; font-weight:800; letter-spacing:-.02em; color:var(--bn-coral-txt)} .bn-art .gene-stat:nth-child(2) b{color:var(--bn-blue)} .bn-art .gene-stat:nth-child(3) b{color:var(--bn-green)} .bn-art .gene-stat span{display:block; margin-top:7px; font-size:14px; color:var(--bn-muted); line-height:1.4} .bn-art .gene-line{margin:0 0 14px; font-size:16px; line-height:1.6; color:var(--bn-text)} .bn-art .gene-line b{font-family:var(--bn-mono); color:var(--bn-coral-txt); font-weight:700} .gene-v{display:none; border-radius:var(--bn-r-sm); padding:16px 18px; background:#fff; border:1px solid var(--bn-border)} .gene-v.on{display:block} .bn-art .gene-v b{display:block; font-size:1.06em; color:var(--bn-ink); margin-bottom:5px} .bn-art .gene-v p{margin:0; font-size:16px; line-height:1.62} .bn-art .gene-note{margin:14px 0 0; font-size:16px; line-height:1.55; color:var(--bn-muted)} .bn-gene table.gene-data{margin:0 0 4px} .bn-art table.gene-data tbody tr.gene-hit td{background:var(--bn-green-soft)} @media(max-width:680px){ .gene-tiles{grid-template-columns:minmax(0,1fr)} } .bn-art .bn-dsc{background:var(--bn-card);border:1px solid var(--bn-border);border-radius:var(--bn-r);padding:24px 26px;margin:28px 0;box-shadow:var(--bn-sh)}.bn-art .bn-dsc h3{margin:.1em 0 .3em}.bn-art .bn-dsc>p{font-size:.95em;color:var(--bn-muted);margin:0 0 18px}.bn-art .bn-dsc p:empty{display:none;margin:0}.bn-art .dsc-q{padding:15px 0;border-top:1px solid var(--bn-border)}.bn-art .dsc-q:first-of-type{border-top:none;padding-top:2px}.bn-art .dsc-qt{font-weight:700;color:var(--bn-ink);margin:0 0 11px;font-size:16px;line-height:1.45}.bn-art .dsc-out{margin:24px 0 0;border-radius:var(--bn-r-sm);background:var(--bn-sand-2);border:1px solid var(--bn-sand);padding:20px 22px}.bn-art .dsc-line{margin:0 0 14px;font-size:16px;line-height:1.6;color:var(--bn-text)}.bn-art .dsc-line b{font-family:var(--bn-mono);font-weight:700;color:var(--bn-coral-txt)}.bn-art .dscv{display:none;border-radius:var(--bn-r-sm);padding:16px 18px;background:#fff;border:1px solid var(--bn-border)}.bn-art .dscv.on{display:block}.bn-art .dscv b{display:block;font-size:1.06em;color:var(--bn-ink);margin-bottom:5px}.bn-art .dscv p{margin:0;font-size:16px;line-height:1.62}.bn-art .dscv em{display:block;font-style:normal;font-family:var(--bn-mono);font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--bn-coral-txt);margin-bottom:7px;line-height:1.4}.bn-art .dscv0{border-left:3px solid var(--bn-green)}.bn-art .dscv1{border-left:3px solid var(--bn-coral)}.bn-art .dscv2{border-left:3px solid var(--bn-coral)}.bn-art .dscv3{border-left:3px solid var(--bn-blue)}.bn-art .dscv4{border-left:3px solid var(--bn-ink)}.bn-art .dscv5{border-left:3px solid var(--bn-coral)}.bn-art .bn-dsc table.dsc-data{margin-top:22px}@media(max-width:680px){.bn-art .bn-dsc{padding:20px 17px}.bn-art .dsc-out{padding:17px 15px}}`));document.head.appendChild(s);<\/script><\/p>\n<div class=\"bn-art\">\n<div class=\"bn-tldr\">\n<p><strong>TL;DR:<\/strong> a \u00ab Discord chatbot \u00bb is a third-party application added to a Discord server to moderate, entertain, answer or converse. The platform reports more than 90 million daily active users (internal data, fourth quarter of 2025) and its API has been open since 2016: the mechanics are well documented (application in the developer portal, secret token, permissions, \u00ab intents \u00bb, some of which are privileged). The real question is not \u00ab how to build one \u00bb, but \u00ab is it the right channel \u00bb: Discord is a community space, not a purchasing channel. This article explains how it really works, the hidden costs, offers an interactive arbiter between a Discord bot and a multichannel chatbot, and states our position honestly: Botnation does not deploy on Discord.<\/p>\n<\/div>\n<p>Type \u00ab discord chatbot \u00bb into a search engine and you get a queue of look-alike tutorials: they all explain how to create the bot, and none asks whether you actually need one. We took a snapshot of the results page on September 1, 2026: eight organic results, all devoted to the \u00ab how \u00bb (ready-made tools, bot directories, setup guides), and not a single one that prices maintenance or discusses the choice of channel. This guide does the opposite: first the real mechanics (token, permissions, privileged intents), then the costs tutorials forget, then an interactive arbiter to decide between a native Discord bot, a chatbot on your customer channels, or both. Every figure is sourced and dated, and when we talk about Botnation, we also say what the platform does not do.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_87 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Summary<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #3d351f;color:#3d351f\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #3d351f;color:#3d351f\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/botnation.ai\/en\/chatbot-discord\/#What_exactly_is_a_%C2%AB_Discord_chatbot_%C2%BB\" >What exactly is a \u00ab Discord chatbot \u00bb?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/botnation.ai\/en\/chatbot-discord\/#How_a_Discord_bot_works_under_the_hood\" >How a Discord bot works under the hood<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/botnation.ai\/en\/chatbot-discord\/#Where_it_gets_complicated_privileged_intents\" >Where it gets complicated: privileged intents<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/botnation.ai\/en\/chatbot-discord\/#What_a_Discord_bot_really_costs\" >What a Discord bot really costs<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/botnation.ai\/en\/chatbot-discord\/#Discord_bot_or_chatbot_on_your_own_channels_the_arbiter\" >Discord bot or chatbot on your own channels: the arbiter<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/botnation.ai\/en\/chatbot-discord\/#Native_Discord_bot_multichannel_chatbot_or_both\" >Native Discord bot, multichannel chatbot, or both?<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/botnation.ai\/en\/chatbot-discord\/#When_Discord_is_the_right_channel_the_5_real_steps\" >When Discord is the right channel: the 5 real steps<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/botnation.ai\/en\/chatbot-discord\/#And_if_your_customers_are_not_on_Discord\" >And if your customers are not on Discord?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/botnation.ai\/en\/chatbot-discord\/#The_bottom_line\" >The bottom line<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/botnation.ai\/en\/chatbot-discord\/#Your_customers_are_on_the_web_WhatsApp_or_Messenger\" >Your customers are on the web, WhatsApp or Messenger?<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/botnation.ai\/en\/chatbot-discord\/#FAQ_the_questions_everyone_asks_about_Discord_chatbots\" >FAQ: the questions everyone asks about Discord chatbots<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"What_exactly_is_a_%C2%AB_Discord_chatbot_%C2%BB\"><\/span>What exactly is a \u00ab Discord chatbot \u00bb?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Discord is a text, voice and video chat platform launched in May 2015 as a chat application for gamers, according to the timeline published on the company\u2019s official page (consulted on September 1, 2026). It today claims more than 90 million active users every day (Discord internal data, fourth quarter of 2025) and an API open to third-party applications since 2016, with \u00ab hundreds of thousands of apps \u00bb claimed to be built on it. A Discord \u00ab bot \u00bb is one of those applications: an automated account invited into a server (a community\u2019s chat space), which reacts to messages, commands or events. When that bot carries language understanding, it becomes a chatbot in the true sense, and can then be told apart from a simple automation, as we detail in our article on the <a href=\"https:\/\/botnation.ai\/en\/type-of-chatbot\/\">types of chatbots<\/a>.<\/p>\n<figure class=\"bn-fig\"><img src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/09\/botnation-ai-chatbot-discord-corps1.jpg\" alt=\"Person seen from behind in front of a screen showing a blank community interface with channels and messages\" decoding=\"async\"><figcaption>Running a server is first and foremost human moderation and community work; the bot does not do that job, it supports it (illustration, 2026).<\/figcaption><\/figure>\n<p>Behind the single phrase \u00ab Discord chatbot \u00bb hide in fact four very different families of projects, with neither the same cost nor the same requirements. Confusing them is the first source of unpleasant surprises: a music bot and an assistant that answers your community\u2019s questions have literally nothing in common, neither in development nor in maintenance.<\/p>\n<div class=\"bn-tablewrap\">\n<table>\n<thead>\n<tr>\n<th>Bot family<\/th>\n<th>What it actually does<\/th>\n<th>What it really requires<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Moderation<\/strong><\/td>\n<td>Filters banned language, applies sanctions, assigns roles on entry.<\/td>\n<td>Rules written in advance, regular human monitoring, and the right to read messages (hence a privileged \u00ab intent \u00bb, see below).<\/td>\n<\/tr>\n<tr>\n<td><strong>Community and engagement<\/strong><\/td>\n<td>Polls, events, games, welcome messages, interest-based roles.<\/td>\n<td>A team that genuinely runs the server every day: technically the simplest bot, the most demanding on humans.<\/td>\n<\/tr>\n<tr>\n<td><strong>Utility<\/strong><\/td>\n<td>Support tickets, scheduled announcements, connections to external tools.<\/td>\n<td>A developer comfortable with an API, hosting that runs 24\/7, and maintained documentation.<\/td>\n<\/tr>\n<tr>\n<td><strong>Conversational (AI)<\/strong><\/td>\n<td>Answers questions in natural language, from a knowledge base or a language model.<\/td>\n<td>All the utility bot\u2019s technique, plus a clean answer base: we detail that project in our guide to <a href=\"https:\/\/botnation.ai\/en\/create-a-chatbot-with-chatgpt\/\">creating a chatbot with ChatGPT<\/a>.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"How_a_Discord_bot_works_under_the_hood\"><\/span>How a Discord bot works under the hood<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Tutorials summarize everything in three clicks; the official developer documentation (consulted on September 1, 2026) describes a more honest mechanics, in four steps. Everything starts in the developer portal: you create an application, and the application carries a \u00ab bot \u00bb user. This bot is authorized by a <strong>token<\/strong>, a secret key that the documentation literally says is used \u00ab to authorize API requests and carry your app\u2019s permissions \u00bb, that it is \u00ab highly sensitive \u00bb, that you should \u00ab never share your token or check it into any kind of version control \u00bb, and that becomes invisible once created unless regenerated. Concretely: whoever holds the token owns your bot.<\/p>\n<p>Next come permissions and the invitation. You choose the OAuth2 scopes (the <strong>bot<\/strong> scope to act in the server, the <strong>applications.commands<\/strong> scope for slash commands), then fine-grained permissions (send messages, manage roles, kick members). The application is added to a server through an install link, by whoever holds the \u00ab manage server \u00bb right. Finally, the bot stays connected: it listens to server events over a persistent connection (the \u00ab gateway \u00bb), and it is that connection which triggers its real-time reactions.<\/p>\n<p>Even before permissions, a design choice looms: will your bot answer slash commands or free text? Commands (\u00ab \/help \u00bb, \u00ab \/status \u00bb) offer a structured entry: no ambiguity to resolve, a list visible to the user, and a scope you control. Free text, on the other hand, converses, but it assumes understanding whole sentences, with all the edge cases that implies. The two approaches combine very well: commands for clear actions, conversation for everything else. That choice drives the volume of work, and it frames the intents question below.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Where_it_gets_complicated_privileged_intents\"><\/span>Where it gets complicated: privileged intents<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>For several years now, Discord no longer grants every application the right to see everything. \u00ab Intents \u00bb are declarations of intent: they state which events the bot wants to receive. Three of them are <strong>privileged<\/strong>, including the \u00ab message content intent \u00bb: without it, the bot receives empty fields where message text should be. The developer documentation (\u00ab Gateway \u00bb page, consulted on September 1, 2026) frames its use with three precise rules: an application with fewer than 10,000 users simply enables it in the developer portal; an application present in more than 100 servers must go through a verification process and have the intent approved; and approved applications are \u00ab notified annually to reapply for continued access \u00bb. In other words, a chatbot that must read conversations is an audited bot, not a throwaway script.<\/p>\n<div class=\"bn-tablewrap\">\n<table>\n<thead>\n<tr>\n<th>Step<\/th>\n<th>What you handle<\/th>\n<th>The typical pitfall<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>1. Create the application<\/td>\n<td>The developer portal, the application name<\/td>\n<td>Confusing application and bot: the bot is a tab of the application, enabled by default on new apps<\/td>\n<\/tr>\n<tr>\n<td>2. Handle the token<\/td>\n<td>The secret token on the \u00ab Bot \u00bb tab<\/td>\n<td>Pasting it into shared code or a repository: the documentation explicitly forbids versioning it<\/td>\n<\/tr>\n<tr>\n<td>3. Invite the bot<\/td>\n<td>The OAuth2 scopes and permissions, the install link<\/td>\n<td>Asking for too many permissions \u00ab just in case \u00bb: every granted right must be justified<\/td>\n<\/tr>\n<tr>\n<td>4. Listen and reply<\/td>\n<td>The \u00ab gateway \u00bb connection, intents, commands<\/td>\n<td>Enabling the message content intent without planning for verification: beyond 100 servers, the connection is refused<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"What_a_Discord_bot_really_costs\"><\/span>What a Discord bot really costs<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>This is the point tutorials gloss over, because it does not fit in a subscription price. Discord publishes no price list for bots: the cost lives elsewhere, in four line items you should size up before starting.<\/p>\n<ul>\n<li><strong>Development<\/strong>: the main item. Writing the scenarios, wiring language understanding, handling edge cases; that is developer time, in-house or contracted, and there is no public \u00ab standard \u00bb price to quote without checking.<\/li>\n<li><strong>Hosting<\/strong>: the bot must run continuously to listen to the server. Always-on hosting, sized to your traffic, is paid monthly; it is one more subscription to manage, with its security updates.<\/li>\n<li><strong>Maintenance<\/strong>: an API lives. Formats, permissions, intents: what works today will be re-tested after every platform change, and applications approved beyond 10,000 users must in addition pass an access review every year (developer documentation, consulted on September 1, 2026).<\/li>\n<li><strong>Human community work and moderation<\/strong>: invisible in any technical cost calculation, yet decisive. A server without a regular human presence dies, with or without a bot.<\/li>\n<\/ul>\n<p>Those four items explain a phenomenon every server owner knows: \u00ab weekend project \u00bb bots vanish within months. The subject is not the creation price, it is the cost of ownership over time.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Discord_bot_or_chatbot_on_your_own_channels_the_arbiter\"><\/span>Discord bot or chatbot on your own channels: the arbiter<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>All that remains is the question that should precede any line of code: does your project belong on Discord, elsewhere, or on both? The arbiter below rules with rules written in plain text, from four answers: your goal, your audience, your resources and the human time you can devote to community work. There are 72 possible combinations; each verdict is triggered by a precise rule, named in the result panel, and the table under the tool documents the six verdicts.<\/p>\n<div class=\"bn-dsc\">\n<span class=\"bn-klabel\">Interactive arbiter<\/span>\n<h3><span class=\"ez-toc-section\" id=\"Native_Discord_bot_multichannel_chatbot_or_both\"><\/span>Native Discord bot, multichannel chatbot, or both?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Answer the four questions: the arbiter applies hard rules and names the one that decides (method detailed under the tool).<\/p>\n<div class=\"dsc-q\">\n<p class=\"dsc-qt\">1. Your primary goal?<\/p>\n<div class=\"dsc-g1 cdc-chips\">\n<label class=\"cdc-chip\" for=\"dsc-a1\"><input type=\"radio\" name=\"dsc-a\" id=\"dsc-a1\" value=\"support\" data-l=\"customer support\" checked> Customer support<\/label><br>\n<label class=\"cdc-chip\" for=\"dsc-a2\"><input type=\"radio\" name=\"dsc-a\" id=\"dsc-a2\" value=\"leads\" data-l=\"lead generation\"> Leads and sales<\/label><br>\n<label class=\"cdc-chip\" for=\"dsc-a3\"><input type=\"radio\" name=\"dsc-a\" id=\"dsc-a3\" value=\"commu\" data-l=\"community engagement\"> Run a community<\/label><br>\n<label class=\"cdc-chip\" for=\"dsc-a4\"><input type=\"radio\" name=\"dsc-a\" id=\"dsc-a4\" value=\"info\" data-l=\"broadcasting information\"> Broadcast news<\/label>\n<\/div>\n<\/div>\n<div class=\"dsc-q\">\n<p class=\"dsc-qt\">2. Where is your audience?<\/p>\n<div class=\"dsc-g2 cdc-chips\">\n<label class=\"cdc-chip\" for=\"dsc-b1\"><input type=\"radio\" name=\"dsc-b\" id=\"dsc-b1\" value=\"clients\" data-l=\"multichannel customers and prospects\" checked> Customers and prospects<\/label><br>\n<label class=\"cdc-chip\" for=\"dsc-b2\"><input type=\"radio\" name=\"dsc-b\" id=\"dsc-b2\" value=\"commu\" data-l=\"a community already on Discord\"> Already on Discord<\/label><br>\n<label class=\"cdc-chip\" for=\"dsc-b3\"><input type=\"radio\" name=\"dsc-b\" id=\"dsc-b3\" value=\"inconnu\" data-l=\"audience yet to be confirmed\"> I don\u2019t know yet<\/label>\n<\/div>\n<\/div>\n<div class=\"dsc-q\">\n<p class=\"dsc-qt\">3. Your technical resources?<\/p>\n<div class=\"dsc-g3 cdc-chips\">\n<label class=\"cdc-chip\" for=\"dsc-c1\"><input type=\"radio\" name=\"dsc-c\" id=\"dsc-c1\" value=\"dev\" data-l=\"a developer comfortable with APIs\" checked> An API developer<\/label><br>\n<label class=\"cdc-chip\" for=\"dsc-c2\"><input type=\"radio\" name=\"dsc-c\" id=\"dsc-c2\" value=\"noc\" data-l=\"a no-code team or a service provider\"> No-code or a provider<\/label><br>\n<label class=\"cdc-chip\" for=\"dsc-c3\"><input type=\"radio\" name=\"dsc-c\" id=\"dsc-c3\" value=\"aucun\" data-l=\"no technical resource today\"> Neither one nor the other<\/label>\n<\/div>\n<\/div>\n<div class=\"dsc-q\">\n<p class=\"dsc-qt\">4. Human time for community work and moderation?<\/p>\n<div class=\"dsc-g4 cdc-chips\">\n<label class=\"cdc-chip\" for=\"dsc-d1\"><input type=\"radio\" name=\"dsc-d\" id=\"dsc-d1\" value=\"oui\" data-l=\"near-daily community time\" checked> Almost every day<\/label><br>\n<label class=\"cdc-chip\" for=\"dsc-d2\"><input type=\"radio\" name=\"dsc-d\" id=\"dsc-d2\" value=\"non\" data-l=\"no regular community time\"> A bot that runs alone<\/label>\n<\/div>\n<\/div>\n<div class=\"dsc-out\">\n<p class=\"dsc-line\">Your profile: <b id=\"dsc-la\">customer support<\/b>, <b id=\"dsc-lb\">multichannel customers and prospects<\/b>, <b id=\"dsc-lc\">a developer comfortable with APIs<\/b>, <b id=\"dsc-ld\">near-daily community time<\/b>.<\/p>\n<div class=\"dscv\" id=\"dsc-p0\"><em>Rule 1: a community that already lives on Discord<\/em><b>The native Discord bot is justified<\/b>\n<p>Your audience already lives on Discord and your goal is to engage it: this is the only case where the native bot is the right first choice. First step: create the application in the developer portal, keep the token secret, and test on a private server before any public opening.<\/p>\n<\/div>\n<div class=\"dscv\" id=\"dsc-p1\"><em>Rule 2: unknown audience<\/em><b>Measure the audience before writing a line of code<\/b>\n<p>Without proof that your world is on Discord, every bot is a bet. First step: two weeks of evidence, search for existing servers on your topic, Discord links in your analytics, the question asked to your customers; then run the arbiter again.<\/p>\n<\/div>\n<div class=\"dscv on\" id=\"dsc-p2\"><em>Rule 3: your customers buy elsewhere<\/em><b>Your customers are elsewhere: web, WhatsApp, Messenger<\/b>\n<p>Support, sales and lead generation happen on the channels where your customers already are; Discord is a community space, not a purchasing channel. First step: list the channels people already use to reach you, and run your chatbot there; on the web, a no-code platform is enough.<\/p>\n<\/div>\n<div class=\"dscv\" id=\"dsc-p3\"><em>Rule 4: two worlds to serve<\/em><b>Hybrid: one brain, two doors<\/b>\n<p>Your community is on Discord and your customers are elsewhere: the answer base is designed once, then declined on every touchpoint. First step: write the shared knowledge base before choosing the technology; it is the base, and its maintenance, that costs money.<\/p>\n<\/div>\n<div class=\"dscv\" id=\"dsc-p4\"><em>Rule 5: neither developer nor provider<\/em><b>Start with an FAQ, not a bot<\/b>\n<p>A native bot with nobody to build and maintain it stops at the first bug or the first API change. First step: publish a clear FAQ and a simple contact path; when the need is proven, a no-code platform or a provider will take over.<\/p>\n<\/div>\n<div class=\"dscv\" id=\"dsc-p5\"><em>Rule 6: engagement cannot be delegated to a robot<\/em><b>Without daily community time, your bot will fall asleep<\/b>\n<p>A living server requires a regular human presence; the bot supports the engagement, it does not replace it. First step: first secure the near-daily human time required, then come back and tick \u00ab Almost every day \u00bb.<\/p>\n<\/div>\n<\/div>\n<div class=\"bn-tablewrap\">\n<table class=\"dsc-data\">\n<thead>\n<tr>\n<th>Verdict<\/th>\n<th>The rule that triggers it<\/th>\n<th>The first step it proposes<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>The native Discord bot is justified<\/td>\n<td>A community already on Discord, an engagement goal, near-daily community time<\/td>\n<td>Application in the portal, secret token, private server first<\/td>\n<\/tr>\n<tr>\n<td>Measure the audience before coding<\/td>\n<td>Audience to be confirmed<\/td>\n<td>Two weeks of evidence, then run the arbiter again<\/td>\n<\/tr>\n<tr>\n<td>Your customers are elsewhere<\/td>\n<td>Customer and prospect audience, resources present<\/td>\n<td>Survey the real contact channels, deploy the chatbot there<\/td>\n<\/tr>\n<tr>\n<td>Hybrid: one brain, two doors<\/td>\n<td>Community on Discord, another engagement goal, resources present<\/td>\n<td>Write the shared knowledge base first<\/td>\n<\/tr>\n<tr>\n<td>Start with an FAQ, not a bot<\/td>\n<td>No technical resource available<\/td>\n<td>Clear FAQ and simple contact path<\/td>\n<\/tr>\n<tr>\n<td>Without daily engagement, the bot falls asleep<\/td>\n<td>Community on Discord, engagement goal, but no regular human time<\/td>\n<td>Secure the human time, then run the arbiter again<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"When_Discord_is_the_right_channel_the_5_real_steps\"><\/span>When Discord is the right channel: the 5 real steps<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>If the arbiter returned the \u00ab native bot justified \u00bb verdict, here is the honest path, as described by the official developer guides (consulted on September 1, 2026). Five steps, with no fictional shortcut.<\/p>\n<ol>\n<li><strong>Create the application in the developer portal.<\/strong> A name, a click, and the application exists; the \u00ab bot \u00bb user is enabled by default on new applications.<\/li>\n<li><strong>Generate the token, and treat it like a password.<\/strong> It is what authorizes every request and carries the permissions. The documentation asks you to never share it or check it into version control: plan for an environment variable from day one.<\/li>\n<li><strong>Choose the installation and the permissions.<\/strong> \u00ab Server \u00bb install (and possibly \u00ab user \u00bb install), <strong>bot<\/strong> and <strong>applications.commands<\/strong> scopes, minimal permissions: start with sending messages, add the rest when the need is real.<\/li>\n<li><strong>Invite the bot to a private server.<\/strong> The install link provided by the portal does the job; test commands and reactions in a small circle before opening to the public.<\/li>\n<li><strong>Enable message reading only knowingly.<\/strong> Without the message content intent, the bot answers commands but sees empty fields in ordinary messages; with it, you enter the privileged intents regime, with verification beyond 100 servers and an annual review beyond 10,000 users. For a business project, that decision is made in the light of your privacy policy, not casually.<\/li>\n<\/ol>\n<p>One last field tip: write the bot\u2019s \u00ab contract \u00bb before coding, meaning the exact list of what it does, what it refuses to do, and what stays human. A moderation bot that sanctions without written rules does more damage than it prevents.<\/p>\n<p>And name an owner. A bot with nobody in charge of listening to it drifts: no one remembers why it answers that way, or who is allowed to change a rule. A one-hour monthly review, with screenshots of the contentious answers, is enough to stay in control; it is the same reflex as for any tool that talks to your audiences.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"And_if_your_customers_are_not_on_Discord\"><\/span>And if your customers are not on Discord?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>For a brand that sells and supports, the decisive criterion is not fashion, it is where your customers are. Discord\u2019s profile is clear: more than 90 % of its users say they play video games (2025 Discord user survey, quoted on the company\u2019s official page, consulted on September 1, 2026). It is a remarkable community space, not a purchasing channel: nobody sends their order number there by reflex. Support, sales and lead generation happen on the website, WhatsApp, Messenger, Instagram or SMS, depending on your audiences.<\/p>\n<p>The verification method takes three moves, with no expensive tool. First, survey one month of inbound contacts and sort them by channel: form, email, WhatsApp, social networks. Then weigh that volume by intent: a shipping question on WhatsApp does not \u00ab weigh \u00bb the same as a compliment on Instagram. Finally, ask about ten customers: \u00ab where would you have reached out to us spontaneously? \u00bb. If Discord shows up in none of the three surveys, you have your answer, and it is free.<\/p>\n<p>Our own position must also be stated bluntly, since we are asked about channels: <strong>Botnation does not deploy on Discord<\/strong>. The platform\u2019s channels page lists the website, WhatsApp, Instagram, Messenger, SMS, Meta, live chat, Facebook, the voicebot, the web widget and WordPress; Discord is not on the list (screenshot taken on September 1, 2026, below). We prefer to write it rather than let people believe a \u00ab Discord chatbot \u00bb could be built no-code with us: that would be false, and the reader would discover it at the worst possible moment.<\/p>\n<figure class=\"bn-fig\"><img src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/09\/botnation-ai-chatbot-discord-cap-canaux-en.jpg\" alt=\"Screenshot of Botnation's channel cards: website, WhatsApp, Instagram, Messenger, SMS, Meta, live chat, Facebook and voicebot, with no Discord\" decoding=\"async\"><figcaption>Botnation\u2019s deployment channel list, taken on September 1, 2026: no Discord, and it is written here in black and white.<\/figcaption><\/figure>\n<p>That choice draws the real complementarity. A native Discord bot is a technical product: token, hosting, intents, maintenance, everything rests on you. A support or sales chatbot on customer channels is built differently: scenarios and the answer base are designed in an editor, connections to your tools go through ready-made mechanisms, such as the webhook we detail in our article on the <a href=\"https:\/\/botnation.ai\/en\/chatbot-webhook\/\">chatbot webhook<\/a>, and hosting no longer concerns you. On the budget side, Botnation\u2019s public price list (taken on August 26, 2026, prices excluding tax) runs from the free 0 \u20ac plan to the BASIC plan at 39 \u20ac per month and PRO at 59 \u20ac per month, with credit packs for traffic peaks; the Enterprise offer is quoted on demand, and our chatbot creation experts build the bot with you, then leave you in control in the editor. Prices change: take a fresh reading of the list before any decision.<\/p>\n<figure class=\"bn-fig\"><img src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/09\/botnation-ai-chatbot-discord-corps2.jpg\" alt=\"3D clay illustration: a channel-card server tower connected by a bridge to islands carrying chat bubbles of different colors\" decoding=\"async\"><figcaption>One conversational brain, several touchpoints: the bridge is built after the answer base, not before (illustration, 2026).<\/figcaption><\/figure>\n<p>And if your world genuinely straddles the two, meaning a community on Discord and customers on classic channels, then the arbiter\u2019s \u00ab hybrid \u00bb rule applies: a single knowledge base, two doors. The native Discord bot will serve the community; the multichannel chatbot will serve the customers; and both will gain from sharing the same FAQ, the same tone and the same rules for handing over to a human.<\/p>\n<p>That shared base, by the way, should be run like a product: one clearly owned master file, identified update triggers (a new offer, a price change, a recurring support incident), and a periodic review of the most-served answers. Bots do not age out because of technology; they age out through their base: that is what people let grow old, and it is in its name that the bot answers wrongly wi<\/p>\n<h2><span class=\"ez-toc-section\" id=\"The_bottom_line\"><\/span>The bottom line<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u00ab Discord chatbot \u00bb is a builder\u2019s query, but it is a channel decision. The mechanics are accessible (application, token, permissions, intents), privileged intents make it a serious project as soon as the bot reads messages, and the real costs are those of ownership: development, hosting, maintenance, human community work. If your community lives on Discord, the native bot is justified and the five steps are enough to start cleanly. If your goal is support, sales or leads, your customers are elsewhere, and that is where your chatbot will pay off: on the web, WhatsApp, Messenger or Instagram. And if doubt remains, measure the audience before coding: it is the cheapest bet of all.<\/p>\n<div class=\"bn-cta\">\n<h3><span class=\"ez-toc-section\" id=\"Your_customers_are_on_the_web_WhatsApp_or_Messenger\"><\/span>Your customers are on the web, WhatsApp or Messenger?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Tell us your volumes and your channels: our chatbot creation experts will answer, or start for free on the platform, and deploy your chatbot where your customers already are.<\/p>\n<p><a class=\"bn-cta-btn\" href=\"https:\/\/botnation.ai\/en\/channels\/\">Explore Botnation\u2019s channels<\/a><br>\n<a class=\"bn-cta-btn ghost\" href=\"https:\/\/botnation.ai\/en\/contact\/\">Talk to our experts<\/a>\n<\/p><\/div>\n<p style=\"font-size:16px;color:#6d6653;line-height:1.6;margin-top:26px;\">Sources and readings: Discord\u2019s official company page consulted on September 1, 2026 (timeline, \u00ab 90M+ Daily Active Users \u00bb internal data for the fourth quarter of 2025, \u00ab 90 %+ play video games \u00bb 2025 user survey, API opened in 2016); official Discord developer documentation consulted on September 1, 2026 (quick-start guide: application creation, token, OAuth2 scopes, install link; \u00ab Gateway \u00bb page: privileged intents, 100-server and 10,000-user thresholds, annual review); the \u00ab discord chatbot \u00bb results page taken on September 1, 2026; Botnation\u2019s \u00ab channels \u00bb, \u00ab integrations \u00bb pages and webhook support documentation consulted on September 1, 2026; Botnation\u2019s price list taken on August 26, 2026 (prices excluding tax, shown in euros). Third-party platform names are quoted in plain text, without links, per this article\u2019s policy. Third-party figures change: take fresh readings before any decision.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"FAQ_the_questions_everyone_asks_about_Discord_chatbots\"><\/span>FAQ: the questions everyone asks about Discord chatbots<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<details class=\"bn-faq\">\n<summary>Is creating a Discord chatbot free?<\/summary>\n<div class=\"bn-faq-b\">\n<p>Discord publishes no price list for bots: the real cost lives in development, always-on hosting, maintenance and human community work (see the section \u00ab What a Discord bot really costs \u00bb). A zero budget does not really exist: at the very least, it is your time and that of hosting that runs continuously.<\/p>\n<\/div>\n<\/details>\n<details class=\"bn-faq\">\n<summary>Can you build a Discord bot without coding?<\/summary>\n<div class=\"bn-faq-b\">\n<p>There are third-party no-code tools for configuration bots (basic moderation, roles, welcome messages): they are named in plain text but we do not link to them here. For a conversational chatbot in your own image, those templates quickly reach their limits: the value lies in your answer base, and that is what a no-code platform lets you edit on your own channels.<\/p>\n<\/div>\n<\/details>\n<details class=\"bn-faq\">\n<summary>Can a Discord bot read all messages?<\/summary>\n<div class=\"bn-faq-b\">\n<p>No, not by default. Without the \u00ab message content intent \u00bb, a privileged intent, the bot receives empty fields for the text of ordinary messages. Enabling it is done from the developer portal for small applications, but requires verification with approval beyond 100 servers, and an annual review beyond 10,000 users (developer documentation, consulted on September 1, 2026).<\/p>\n<\/div>\n<\/details>\n<details class=\"bn-faq\">\n<summary>Can Botnation deploy a chatbot on Discord?<\/summary>\n<div class=\"bn-faq-b\">\n<p>No, and the article owns it: Botnation\u2019s channel list covers the website, WhatsApp, Instagram, Messenger, SMS, Meta, live chat, Facebook, the voicebot, the web widget and WordPress, with no Discord (screenshot taken on September 1, 2026 in the article). For a Discord project, the native mechanics described here are the way; for a support or sales chatbot, our channels cover most customer contacts.<\/p>\n<\/div>\n<\/details>\n<details class=\"bn-faq\">\n<summary>What is the difference between a Discord bot and an AI chatbot?<\/summary>\n<div class=\"bn-faq-b\">\n<p>The bot is the technical shell: an automated account invited into a server, which reacts to events. The AI chatbot is what you put inside it: the ability to understand a question in natural language and answer from a knowledge base. The same bot can therefore be a simple role automation or a true conversational assistant.<\/p>\n<\/div>\n<\/details>\n<details class=\"bn-faq\">\n<summary>How long does it take to build a Discord bot?<\/summary>\n<div class=\"bn-faq-b\">\n<p>It depends on the scope, and no serious public figure answers it in days. The five official steps are quick to walk through for a minimal bot that reacts to commands; real time is consumed by the answer base, edge cases, hosting and maintenance, exactly the items this article\u2019s arbiter makes you consider before starting.<\/p>\n<\/div>\n<\/details>\n<\/div>\n<p><script>(function(){ var w=document.querySelector('.bn-dsc'); if(!w){return;} if(w.getAttribute('data-bound')){return;} w.setAttribute('data-bound','1'); var g1=w.querySelectorAll('.dsc-g1 input'); var g2=w.querySelectorAll('.dsc-g2 input'); var g3=w.querySelectorAll('.dsc-g3 input'); var g4=w.querySelectorAll('.dsc-g4 input'); var panes=w.querySelectorAll('.dscv'); var la=document.getElementById('dsc-la'); var lb=document.getElementById('dsc-lb'); var lc=document.getElementById('dsc-lc'); var ld=document.getElementById('dsc-ld'); function sel(g){ var v=null; for(var i=0;g.length>i;i++){ if(g[i].checked){v=g[i];break;} } return v; } function show(idx){ for(var i=0;panes.length>i;i++){ if(i==idx){panes[i].className='dscv on';} else{panes[i].className='dscv';} } } function calc(){ var a=sel(g1); var b=sel(g2); var c=sel(g3); var d=sel(g4); if(!a){return;} if(!b){return;} if(!c){return;} if(!d){return;} la.textContent=a.getAttribute('data-l'); lb.textContent=b.getAttribute('data-l'); lc.textContent=c.getAttribute('data-l'); ld.textContent=d.getAttribute('data-l'); var idx=2; var av=a.value; var bv=b.value; var cv=c.value; var dv=d.value; if(bv=='commu'){ if(av=='commu'){ if(dv=='non'){idx=5;} else{idx=0;} } else{ if(cv=='aucun'){idx=4;} else{idx=3;} } } else{ if(bv=='inconnu'){idx=1;} else{ if(cv=='aucun'){idx=4;} else{idx=2;} } } show(idx); } for(var k=0;g1.length>k;k++){g1[k].addEventListener('change',calc);} for(var k=0;g2.length>k;k++){g2[k].addEventListener('change',calc);} for(var k=0;g3.length>k;k++){g3[k].addEventListener('change',calc);} for(var k=0;g4.length>k;k++){g4[k].addEventListener('change',calc);} calc(); })();<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>TL;DR: a \u00ab Discord chatbot \u00bb is a third-party application added to a Discord server to moderate, entertain, answer or converse. The platform reports more than 90 million daily active users (internal data, fourth quarter of 2025) and its API has been open since 2016: the mechanics are well documented (application in the developer portal, [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":31498,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[362],"tags":[],"class_list":["post-31504","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-chatbot-en"],"acf":[],"_links":{"self":[{"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/posts\/31504","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/comments?post=31504"}],"version-history":[{"count":2,"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/posts\/31504\/revisions"}],"predecessor-version":[{"id":31508,"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/posts\/31504\/revisions\/31508"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/media\/31498"}],"wp:attachment":[{"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/media?parent=31504"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/categories?post=31504"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/tags?post=31504"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}