openai-chatgpt-telegram-bot/chatgpt-telegram-bot/en/v.0.1.0/index.html

816 lines
46 KiB
HTML
Raw Normal View History

<!doctype html>
<html lang="en" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="description" content="The project uses your ChatGPT token to access the ChatGPT API and let you chat with ChatGPT directly in Telegram.">
<link rel="canonical" href="https://docs.struchkov.dev/chatgpt-telegram-bot/en/v.0.1.0/">
<link rel="icon" href="assets/favicon.ico">
<meta name="generator" content="mkdocs-1.4.2, mkdocs-material-9.1.3+insiders-4.32.3">
<title>Personal ChatGPT Telegram Bot - ChatGPT Telegram Bot</title>
<link rel="stylesheet" href="assets/stylesheets/main.d132363d.min.css">
<link rel="stylesheet" href="assets/stylesheets/palette.6932e648.min.css">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<link rel="stylesheet" href="stylesheets/extra.css">
<script>__md_scope=new URL(".",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
<!-- Yandex.Metrika counter -->
<script type="text/javascript" >
(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
m[i].l=1*new Date();
for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }}
k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
ym(92825096, "init", {
clickmap:true,
trackLinks:true,
accurateTrackBounce:true
});
</script>
<noscript><div><img src="https://mc.yandex.ru/watch/92825096" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->
<script>"undefined"!=typeof __md_analytics&&__md_analytics()</script>
<meta property="og:type" content="website" >
<meta property="og:title" content="Personal ChatGPT Telegram Bot - ChatGPT Telegram Bot" >
<meta property="og:description" content="The project uses your ChatGPT token to access the ChatGPT API and let you chat with ChatGPT directly in Telegram." >
<meta property="og:image" content="https://docs.struchkov.dev/chatgpt-telegram-bot/en/v.0.1.0/assets/images/social/index.png" >
<meta property="og:image:type" content="image/png" >
<meta property="og:image:width" content="1200" >
<meta property="og:image:height" content="630" >
<meta property="og:url" content="https://docs.struchkov.dev/chatgpt-telegram-bot/en/v.0.1.0/" >
<meta name="twitter:card" content="summary_large_image" >
<meta name="twitter:title" content="Personal ChatGPT Telegram Bot - ChatGPT Telegram Bot" >
<meta name="twitter:description" content="The project uses your ChatGPT token to access the ChatGPT API and let you chat with ChatGPT directly in Telegram." >
<meta name="twitter:image" content="https://docs.struchkov.dev/chatgpt-telegram-bot/en/v.0.1.0/assets/images/social/index.png" >
</head>
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="teal" data-md-color-accent="green">
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="#personal-chatgpt-telegram-bot" class="md-skip">
Skip to content
</a>
</div>
<div data-md-component="announce">
</div>
<div data-md-color-scheme="default" data-md-component="outdated" hidden>
</div>
<header class="md-header md-header--shadow md-header--lifted" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href="." title="ChatGPT Telegram Bot" class="md-header__button md-logo" aria-label="ChatGPT Telegram Bot" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M22.282 9.821a5.985 5.985 0 0 0-.516-4.91 6.046 6.046 0 0 0-6.51-2.9A6.065 6.065 0 0 0 4.981 4.18a5.985 5.985 0 0 0-3.998 2.9 6.046 6.046 0 0 0 .743 7.097 5.98 5.98 0 0 0 .51 4.911 6.051 6.051 0 0 0 6.515 2.9A5.985 5.985 0 0 0 13.26 24a6.056 6.056 0 0 0 5.772-4.206 5.99 5.99 0 0 0 3.997-2.9 6.056 6.056 0 0 0-.747-7.073zM13.26 22.43a4.476 4.476 0 0 1-2.876-1.04l.141-.081 4.779-2.758a.795.795 0 0 0 .392-.681v-6.737l2.02 1.168a.071.071 0 0 1 .038.052v5.583a4.504 4.504 0 0 1-4.494 4.494zM3.6 18.304a4.47 4.47 0 0 1-.535-3.014l.142.085 4.783 2.759a.771.771 0 0 0 .78 0l5.843-3.369v2.332a.08.08 0 0 1-.033.062L9.74 19.95a4.5 4.5 0 0 1-6.14-1.646zM2.34 7.896a4.485 4.485 0 0 1 2.366-1.973V11.6a.766.766 0 0 0 .388.676l5.815 3.355-2.02 1.168a.076.076 0 0 1-.071 0l-4.83-2.786A4.504 4.504 0 0 1 2.34 7.872zm16.597 3.855-5.833-3.387L15.119 7.2a.076.076 0 0 1 .071 0l4.83 2.791a4.494 4.494 0 0 1-.676 8.105v-5.678a.79.79 0 0 0-.407-.667zm2.01-3.023-.141-.085-4.774-2.782a.776.776 0 0 0-.785 0L9.409 9.23V6.897a.066.066 0 0 1 .028-.061l4.83-2.787a4.5 4.5 0 0 1 6.68 4.66zm-12.64 4.135-2.02-1.164a.08.08 0 0 1-.038-.057V6.075a4.5 4.5 0 0 1 7.375-3.453l-.142.08-4.778 2.758a.795.795 0 0 0-.393.681zm1.097-2.365 2.602-1.5 2.607 1.5v2.999l-2.597 1.5-2.607-1.5Z"/></svg>
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
ChatGPT Telegram Bot
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
Personal ChatGPT Telegram Bot
</span>
</div>
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input class="md-option" data-md-color-media="(prefers-color-scheme)" data-md-color-scheme="default" data-md-color-primary="teal" data-md-color-accent="green" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_0">
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg>
</label>
<input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="teal" data-md-color-accent="indigo" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_1">
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_2" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"/></svg>
</label>
<input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="teal" data-md-color-accent="" aria-label="Switch to system preference" type="radio" name="__palette" id="__palette_2">
<label class="md-header__button md-icon" title="Switch to system preference" for="__palette_0" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12c0-2.42-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"/></svg>
</label>
</form>
<script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
<div class="md-header__source">
<a href="https://github.com/uPagge/openai-chatgpt-telegram-bot" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>
</div>
<div class="md-source__repository">
uPagge/openai-chatgpt-telegram-bot
</div>
</a>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" hidden>
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href="." title="ChatGPT Telegram Bot" class="md-nav__button md-logo" aria-label="ChatGPT Telegram Bot" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M22.282 9.821a5.985 5.985 0 0 0-.516-4.91 6.046 6.046 0 0 0-6.51-2.9A6.065 6.065 0 0 0 4.981 4.18a5.985 5.985 0 0 0-3.998 2.9 6.046 6.046 0 0 0 .743 7.097 5.98 5.98 0 0 0 .51 4.911 6.051 6.051 0 0 0 6.515 2.9A5.985 5.985 0 0 0 13.26 24a6.056 6.056 0 0 0 5.772-4.206 5.99 5.99 0 0 0 3.997-2.9 6.056 6.056 0 0 0-.747-7.073zM13.26 22.43a4.476 4.476 0 0 1-2.876-1.04l.141-.081 4.779-2.758a.795.795 0 0 0 .392-.681v-6.737l2.02 1.168a.071.071 0 0 1 .038.052v5.583a4.504 4.504 0 0 1-4.494 4.494zM3.6 18.304a4.47 4.47 0 0 1-.535-3.014l.142.085 4.783 2.759a.771.771 0 0 0 .78 0l5.843-3.369v2.332a.08.08 0 0 1-.033.062L9.74 19.95a4.5 4.5 0 0 1-6.14-1.646zM2.34 7.896a4.485 4.485 0 0 1 2.366-1.973V11.6a.766.766 0 0 0 .388.676l5.815 3.355-2.02 1.168a.076.076 0 0 1-.071 0l-4.83-2.786A4.504 4.504 0 0 1 2.34 7.872zm16.597 3.855-5.833-3.387L15.119 7.2a.076.076 0 0 1 .071 0l4.83 2.791a4.494 4.494 0 0 1-.676 8.105v-5.678a.79.79 0 0 0-.407-.667zm2.01-3.023-.141-.085-4.774-2.782a.776.776 0 0 0-.785 0L9.409 9.23V6.897a.066.066 0 0 1 .028-.061l4.83-2.787a4.5 4.5 0 0 1 6.68 4.66zm-12.64 4.135-2.02-1.164a.08.08 0 0 1-.038-.057V6.075a4.5 4.5 0 0 1 7.375-3.453l-.142.08-4.778 2.758a.795.795 0 0 0-.393.681zm1.097-2.365 2.602-1.5 2.607 1.5v2.999l-2.597 1.5-2.607-1.5Z"/></svg>
</a>
ChatGPT Telegram Bot
</label>
<div class="md-nav__source">
<a href="https://github.com/uPagge/openai-chatgpt-telegram-bot" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>
</div>
<div class="md-source__repository">
uPagge/openai-chatgpt-telegram-bot
</div>
</a>
</div>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_1" checked>
<div class="md-nav__link md-nav__container">
<a href="." class="md-nav__link md-nav__link--active">
<span class="md-ellipsis">
Home
</span>
</a>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_1_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_1">
<span class="md-nav__icon md-icon"></span>
Home
</label>
<ul class="md-nav__list" data-md-scrollfix>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="Table of content">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of content
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#demo" class="md-nav__link">
<span class="md-ellipsis">
<span class="md-typeset">
Demo
</span>
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#features" class="md-nav__link">
<span class="md-ellipsis">
<span class="md-typeset">
Features
</span>
</span>
</a>
<nav class="md-nav" aria-label="Features">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#commands" class="md-nav__link">
<span class="md-ellipsis">
<span class="md-typeset">
Commands
</span>
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#inline-mode" class="md-nav__link">
<span class="md-ellipsis">
<span class="md-typeset">
Inline Mode
</span>
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#privacy" class="md-nav__link">
<span class="md-ellipsis">
<span class="md-typeset">
Privacy
</span>
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#lets-get-started" class="md-nav__link">
<span class="md-ellipsis">
<span class="md-typeset">
Let's get started
</span>
</span>
</a>
<nav class="md-nav" aria-label="Let's get started">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#preparing" class="md-nav__link">
<span class="md-ellipsis">
<span class="md-typeset">
Preparing
</span>
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#environment-variables" class="md-nav__link">
<span class="md-ellipsis">
<span class="md-typeset">
Environment variables
</span>
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#docker-run" class="md-nav__link">
<span class="md-ellipsis">
<span class="md-typeset">
Docker Run
</span>
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#dockercompose" class="md-nav__link">
<span class="md-ellipsis">
<span class="md-typeset">
DockerCompose
</span>
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#support-develop" class="md-nav__link">
<span class="md-ellipsis">
<span class="md-typeset">
<img alt="❤" class="twemoji heart" src="https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/svg/2764.svg" title=":heart:" /> Support Develop
</span>
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#faq" class="md-nav__link">
<span class="md-ellipsis">
<span class="md-typeset">
FAQ
</span>
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#other-questions" class="md-nav__link">
<span class="md-ellipsis">
<span class="md-typeset">
Other Questions
</span>
</span>
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<h1 id="personal-chatgpt-telegram-bot">Personal ChatGPT Telegram Bot<a class="headerlink" href="#personal-chatgpt-telegram-bot" title="Permanent link">⚓︎</a></h1>
<blockquote>
<p>Introducing the ultimate AI-powered chatbot for Telegram - the perfect companion for anyone looking for quick, accurate answers to their questions. Our bot uses state-of-the-art machine learning technology powered by the ChatGPT model, allowing it to understand natural language inputs and respond with human-like precision.</p>
<p>With our bot, you can ask anything you want, from simple queries to complex questions. Whether you're looking for information on the latest news, need help with a math problem, or just want to chat with a virtual friend, our bot has you covered.</p>
<p>What's more, our bot is designed to be easy to use and user-friendly. Simply type in your question or query, and the bot will do the rest, providing you with a quick and accurate response in seconds. No more scrolling through endless search results or struggling to find the information you need - our bot does all the hard work for you.</p>
<p>So why wait? Try out our ChatGPT-powered Telegram bot today and experience the future of AI-powered chatbots for yourself!</p>
<p>(с) Generated by ChatGPT</p>
</blockquote>
<p>But seriously, the project uses your ChatGPT token to access the ChatGPT API and let you chat with ChatGPT directly in Telegram.</p>
<div class="admonition danger">
<p class="admonition-title">Disclaimer</p>
<p>This is a personal project and is not affiliated with OpenAI in any way.</p>
</div>
<h2 id="demo">Demo<a class="headerlink" href="#demo" title="Permanent link">⚓︎</a></h2>
<p>See for yourself how easy and convenient it is to use ChatGPT in Telegram. It is better to see once than to hear 100 times.</p>
<video controls width="450">
<source id="mp4" src="demo.mp4" type="video/mp4">
</video>
<h2 id="features">Features<a class="headerlink" href="#features" title="Permanent link">⚓︎</a></h2>
<p>Key Features:</p>
<ul>
<li>Saving the context of a conversation</li>
<li><img alt="🆕" class="twemoji" src="https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/svg/1f195.svg" title=":new:" /> Access can be restricted by specifying a list of allowed users.</li>
<li><img alt="🆕" class="twemoji" src="https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/svg/1f195.svg" title=":new:" /> Support for multiple chats for one user</li>
<li>Support markdown in answers</li>
<li><img alt="🆕" class="twemoji" src="https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/svg/1f195.svg" title=":new:" /> Ability to set behavior for the conversation, which will be preserved even when the context is cleared</li>
<li>Docker and Proxy support</li>
<li><img alt="🆕" class="twemoji" src="https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/svg/1f195.svg" title=":new:" /> Possibility to check expenses for the current month</li>
<li><img alt="🆕" class="twemoji" src="https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/svg/1f195.svg" title=":new:" /> Tells you how many tokens you spent to generate a response</li>
<li><img alt="🆕" class="twemoji" src="https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/svg/1f195.svg" title=":new:" /> Support Telegram Inline Mode</li>
</ul>
<h3 id="commands">Commands<a class="headerlink" href="#commands" title="Permanent link">⚓︎</a></h3>
<p>List of available commands to control the bot.</p>
<h4 id="chat-commands">Chat commands<a class="headerlink" href="#chat-commands" title="Permanent link">⚓︎</a></h4>
<p><code>/chat chat_name</code> - allows you to create a new chat or switch to an existing one.</p>
<p><code>/chat</code> - allows you to return to normal chat. Also displays a list of created chats.</p>
<p><code>/close_chat</code> - closes the chat room. You get to the default chat room.</p>
<p><code>/clear_context</code> - clears the chat context. In fact, it deletes the chat and creates a new one. The behavior is maintained, as opposed to closing the chat room.</p>
<p><code>/prompt your_question</code> - Allows you to ask a question outside the context of the main conversation.</p>
<p><code>/current_chat</code> - returns the name of the current chat.</p>
<h4 id="behavior-commands">Behavior commands<a class="headerlink" href="#behavior-commands" title="Permanent link">⚓︎</a></h4>
<p>In fact, the first message at the beginning of the chat, which tells how the AI should react. It is saved when the context is cleared, but is not saved when the chat is closed.</p>
<div class="admonition note">
<p>These commands work within the current chat, and do not affect other chats.</p>
</div>
<p><code>/behavior behavior_description</code> - sets the bot's behavior for the current chat. </p>
<p><code>/current_behavior</code> - get the current behavior setting for the current chat.</p>
<p><code>/clear_behavior</code> - removes the behavior settings for the current chat.</p>
<h4 id="other-commands">Other commands<a class="headerlink" href="#other-commands" title="Permanent link">⚓︎</a></h4>
<p><code>/balance</code> - Allows you to see the amount of money spent this month. Works only when you specify bot admins.</p>
<h3 id="inline-mode">Inline Mode<a class="headerlink" href="#inline-mode" title="Permanent link">⚓︎</a></h3>
<p>Inline mode allows you to use the bot in group chat, private chat, or in comments. Here's how it works:</p>
<video controls width="300">
<source id="mp4" src="inline.mp4" type="video/mp4">
</video>
<p>But for this mode to work it needs to be set up:</p>
<video controls width="450">
<source id="mp4" src="inline-setting.mp4" type="video/mp4">
</video>
<div class="admonition warning">
<p class="admonition-title">setinlinefeedback</p>
<p>Be sure to activate <code>/setinlinefeedback</code>, otherwise nothing will work.</p>
</div>
<h2 id="privacy">Privacy<a class="headerlink" href="#privacy" title="Permanent link">⚓︎</a></h2>
<p>See my last name in the domain? <a href="https://mark.struchkov.dev">I'm a developer</a>, <a href="https://struchkov.dev/blog/ru/">blogger</a>, and publicly active. I don't have the benefit of getting dirty under my own name. I assure you that your data is not transferred to third parties, even I do not know about your requests to ChatGPT. You can see for yourself by examining the code, it's opensource.</p>
<h2 id="lets-get-started">Let's get started<a class="headerlink" href="#lets-get-started" title="Permanent link">⚓︎</a></h2>
<p>Enough words, let's launch your personal ChatGPT Telegram bot. 🚀</p>
<h3 id="preparing">Preparing<a class="headerlink" href="#preparing" title="Permanent link">⚓︎</a></h3>
<ul>
<li>You must have <a href="https://docs.docker.com/engine/install/">Docker installed</a>. You can run the project both on the PC and on the server.</li>
<li>You must <a href="https://t.me/BotFather">register a bot in Telegram</a> and get an access token.</li>
<li>You also need <a href="https://platform.openai.com/account/api-keys">ChatGPT access token</a>.</li>
<li>You must know your telegramId. <a href="https://t.me/myidbot">You can find it out here.</a>.</li>
</ul>
<h3 id="environment-variables">Environment variables<a class="headerlink" href="#environment-variables" title="Permanent link">⚓︎</a></h3>
<ul>
<li><code>TELEGRAM_BOT_TOKEN</code> - The bot access token you got from GodFather. Example: 1234567890:XXX_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</li>
<li><code>TELEGRAM_BOT_USERNAME</code> - Specify a name with the ending bot here, not a public name. Example: Undusted_bot</li>
<li><code>TELEGRAM_PERSON_ID</code> - The IDs of the users on Telegram who are allowed access. Example: 1234567, 56789045</li>
<li><code>ADMIN_TELEGRAM_PERSON_ID</code> - The IDs of the users on Telegram who are allowed admin access. Example: 1234567</li>
<li><code>CHAT_GPT_TOKEN</code> - OpenAI API access token.</li>
</ul>
<h3 id="docker-run">Docker Run<a class="headerlink" href="#docker-run" title="Permanent link">⚓︎</a></h3>
<div class="admonition note">
<p class="admonition-title">Support</p>
<p>The following platforms are supported: linux/amd64, linux/arm64/v8</p>
</div>
<div class="language-bash highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>docker<span class="w"> </span>run<span class="w"> </span>-it<span class="w"> </span>--name<span class="w"> </span>chatgpt-telegram-bot<span class="w"> </span><span class="se">\</span>
</span><span id="__span-0-2"><a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="w"> </span>--env<span class="w"> </span><span class="nv">TELEGRAM_BOT_TOKEN</span><span class="o">=</span><span class="w"> </span><span class="se">\</span>
</span><span id="__span-0-3"><a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a><span class="w"> </span>--env<span class="w"> </span><span class="nv">TELEGRAM_BOT_USERNAME</span><span class="o">=</span><span class="w"> </span><span class="se">\</span>
</span><span id="__span-0-4"><a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a><span class="w"> </span>--env<span class="w"> </span><span class="nv">TELEGRAM_PERSON_ID</span><span class="o">=</span><span class="w"> </span><span class="se">\</span>
</span><span id="__span-0-5"><a id="__codelineno-0-5" name="__codelineno-0-5" href="#__codelineno-0-5"></a><span class="w"> </span>--env<span class="w"> </span><span class="nv">ADMIN_TELEGRAM_PERSON_ID</span><span class="o">=</span><span class="w"> </span><span class="se">\</span>
</span><span id="__span-0-6"><a id="__codelineno-0-6" name="__codelineno-0-6" href="#__codelineno-0-6"></a><span class="w"> </span>--env<span class="w"> </span><span class="nv">CHAT_GPT_TOKEN</span><span class="o">=</span><span class="w"> </span><span class="se">\</span>
</span><span id="__span-0-7"><a id="__codelineno-0-7" name="__codelineno-0-7" href="#__codelineno-0-7"></a><span class="w"> </span>upagge/chatgpt-telegram-bot:develop
</span></code></pre></div>
<h4 id="telegram-proxy">Telegram Proxy<a class="headerlink" href="#telegram-proxy" title="Permanent link">⚓︎</a></h4>
<p>If you have Telegram blocked, you can specify proxy settings to connect.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Requests to OpenAI will not be made through a proxy</p>
</div>
<div class="language-bash highlight"><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>docker<span class="w"> </span>run<span class="w"> </span>-it<span class="w"> </span>--name<span class="w"> </span>chatgpt-telegram-bot<span class="w"> </span><span class="se">\</span>
</span><span id="__span-1-2"><a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a><span class="w"> </span>--env<span class="w"> </span><span class="nv">TELEGRAM_BOT_TOKEN</span><span class="o">=</span><span class="w"> </span><span class="se">\</span>
</span><span id="__span-1-3"><a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a><span class="w"> </span>--env<span class="w"> </span><span class="nv">TELEGRAM_BOT_USERNAME</span><span class="o">=</span><span class="w"> </span><span class="se">\</span>
</span><span id="__span-1-4"><a id="__codelineno-1-4" name="__codelineno-1-4" href="#__codelineno-1-4"></a><span class="w"> </span>--env<span class="w"> </span><span class="nv">TELEGRAM_PERSON_ID</span><span class="o">=</span><span class="w"> </span><span class="se">\</span>
</span><span id="__span-1-5"><a id="__codelineno-1-5" name="__codelineno-1-5" href="#__codelineno-1-5"></a><span class="w"> </span>--env<span class="w"> </span><span class="nv">ADMIN_TELEGRAM_PERSON_ID</span><span class="o">=</span><span class="w"> </span><span class="se">\</span>
</span><span id="__span-1-6"><a id="__codelineno-1-6" name="__codelineno-1-6" href="#__codelineno-1-6"></a><span class="w"> </span>--env<span class="w"> </span><span class="nv">CHAT_GPT_TOKEN</span><span class="o">=</span><span class="w"> </span><span class="se">\</span>
</span><span id="__span-1-7"><a id="__codelineno-1-7" name="__codelineno-1-7" href="#__codelineno-1-7"></a><span class="w"> </span>--env<span class="w"> </span><span class="nv">TELEGRAM_PROXY_ENABLE</span><span class="o">=</span><span class="nb">true</span><span class="w"> </span><span class="se">\</span>
</span><span id="__span-1-8"><a id="__codelineno-1-8" name="__codelineno-1-8" href="#__codelineno-1-8"></a><span class="w"> </span>--env<span class="w"> </span><span class="nv">TELEGRAM_PROXY_HOST</span><span class="o">=</span><span class="w"> </span><span class="se">\</span>
</span><span id="__span-1-9"><a id="__codelineno-1-9" name="__codelineno-1-9" href="#__codelineno-1-9"></a><span class="w"> </span>--env<span class="w"> </span><span class="nv">TELEGRAM_PROXY_PORT</span><span class="o">=</span><span class="w"> </span><span class="se">\</span>
</span><span id="__span-1-10"><a id="__codelineno-1-10" name="__codelineno-1-10" href="#__codelineno-1-10"></a><span class="w"> </span>--env<span class="w"> </span><span class="nv">TELEGRAM_PROXY_TYPE</span><span class="o">=</span>SOCKS5<span class="w"> </span><span class="se">\</span>
</span><span id="__span-1-11"><a id="__codelineno-1-11" name="__codelineno-1-11" href="#__codelineno-1-11"></a><span class="w"> </span>--env<span class="w"> </span><span class="nv">TELEGRAM_PROXY_USERNAME</span><span class="o">=</span><span class="w"> </span><span class="se">\</span>
</span><span id="__span-1-12"><a id="__codelineno-1-12" name="__codelineno-1-12" href="#__codelineno-1-12"></a><span class="w"> </span>--env<span class="w"> </span><span class="nv">TELEGRAM_PROXY_PASSWORD</span><span class="o">=</span><span class="w"> </span><span class="se">\</span>
</span><span id="__span-1-13"><a id="__codelineno-1-13" name="__codelineno-1-13" href="#__codelineno-1-13"></a><span class="w"> </span>upagge/chatgpt-telegram-bot:latest
</span></code></pre></div>
<div class="admonition note">
<ul>
<li>Available options <code>SOCKS5</code>, <code>SOCKS4</code>, <code>HTTP</code>.</li>
<li>Optional. If there is no authorization, you can leave it blank.</li>
</ul>
</div>
<h3 id="dockercompose">DockerCompose<a class="headerlink" href="#dockercompose" title="Permanent link">⚓︎</a></h3>
<div class="admonition warning">
<p>Don't forget to create a file with the variable <code>.env</code>.</p>
</div>
<div class="tabbed-set tabbed-alternate" data-tabs="1:2"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1"><span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13.983 11.078h2.119a.186.186 0 0 0 .186-.185V9.006a.186.186 0 0 0-.186-.186h-2.119a.185.185 0 0 0-.185.185v1.888c0 .102.083.185.185.185m-2.954-5.43h2.118a.186.186 0 0 0 .186-.186V3.574a.186.186 0 0 0-.186-.185h-2.118a.185.185 0 0 0-.185.185v1.888c0 .102.082.185.185.185m0 2.716h2.118a.187.187 0 0 0 .186-.186V6.29a.186.186 0 0 0-.186-.185h-2.118a.185.185 0 0 0-.185.185v1.887c0 .102.082.185.185.186m-2.93 0h2.12a.186.186 0 0 0 .184-.186V6.29a.185.185 0 0 0-.185-.185H8.1a.185.185 0 0 0-.185.185v1.887c0 .102.083.185.185.186m-2.964 0h2.119a.186.186 0 0 0 .185-.186V6.29a.185.185 0 0 0-.185-.185H5.136a.186.186 0 0 0-.186.185v1.887c0 .102.084.185.186.186m5.893 2.715h2.118a.186.186 0 0 0 .186-.185V9.006a.186.186 0 0 0-.186-.186h-2.118a.185.185 0 0 0-.185.185v1.888c0 .102.082.185.185.185m-2.93 0h2.12a.185.185 0 0 0 .184-.185V9.006a.185.185 0 0 0-.184-.186h-2.12a.185.185 0 0 0-.184.185v1.888c0 .102.083.185.185.185m-2.964 0h2.119a.185.185 0 0 0 .185-.185V9.006a.185.185 0 0 0-.184-.186h-2.12a.186.186 0 0 0-.186.186v1.887c0 .102.084.185.186.185m-2.92 0h2.12a.185.185 0 0 0 .184-.185V9.006a.185.185 0 0 0-.184-.186h-2.12a.185.185 0 0 0-.184.185v1.888c0 .102.082.185.185.185M23.763 9.89c-.065-.051-.672-.51-1.954-.51-.338.001-.676.03-1.01.087-.248-1.7-1.653-2.53-1.716-2.566l-.344-.199-.226.327c-.284.438-.49.922-.612 1.43-.23.97-.09 1.882.403 2.661-.595.332-1.55.413-1.744.42H.751a.751.751 0 0 0-.75.748 11.376 11.376 0 0 0 .692 4.062c.545 1.428 1.355 2.48 2.41 3.124 1.18.723 3.1 1.137 5.275 1.137a15.74 15.74 0 0 0 2.93-.266 12.248 12.248 0 0 0 3.823-1.389 10.51 10.51 0 0 0 2.61-2.136c1.252-1.418 1.998-2.997 2.553-4.4h.221c1.372 0 2.215-.549 2.68-1.009.309-.293.55-.65.707-1.046l.098-.288Z"/></svg></span> docker-compose.yml</label><label for="__tabbed_1_2"><span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.41 3c1.39 2.71 1.94 5.84 1.59 9-.2 3.16-1.3 6.29-3.17 9l-1.53-1c1.61-2.43 2.55-5.2 2.7-8 .34-2.8-.11-5.57-1.3-8l1.71-1M5.17 3 6.7 4C5.09 6.43 4.15 9.2 4 12c-.34 2.8.12 5.57 1.3 8l-1.69 1c-1.4-2.71-1.96-5.83-1.61-9 .2-3.16 1.3-6.29 3.17-9m6.91 7.68 2.32-3.23h2.53l-3.78 5 2.2 4.92h-2.26L11.71 14l-2.43 3.33H6.76l3.9-5.12-2.13-4.76h2.27l1.28 3.23Z"/></svg></span> .env</label></div>
<div class="tabbed-content">
<div class="tabbed-block">
<div class="language-yaml highlight"><pre><span></span><code><span id="__span-2-1"><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a><span class="nt">version</span><span class="p">:</span><span class="w"> </span><span class="s">&#39;3.8&#39;</span>
</span><span id="__span-2-2"><a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a><span class="nt">services</span><span class="p">:</span>
</span><span id="__span-2-3"><a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a>
</span><span id="__span-2-4"><a id="__codelineno-2-4" name="__codelineno-2-4" href="#__codelineno-2-4"></a><span class="w"> </span><span class="nt">chat-gpt</span><span class="p">:</span>
</span><span id="__span-2-5"><a id="__codelineno-2-5" name="__codelineno-2-5" href="#__codelineno-2-5"></a><span class="w"> </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">upagge/chatgpt-telegram-bot:latest</span>
</span><span id="__span-2-6"><a id="__codelineno-2-6" name="__codelineno-2-6" href="#__codelineno-2-6"></a><span class="w"> </span><span class="nt">container_name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">chatgpt-bot</span>
</span><span id="__span-2-7"><a id="__codelineno-2-7" name="__codelineno-2-7" href="#__codelineno-2-7"></a><span class="w"> </span><span class="nt">restart</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">always</span>
</span><span id="__span-2-8"><a id="__codelineno-2-8" name="__codelineno-2-8" href="#__codelineno-2-8"></a><span class="w"> </span><span class="nt">environment</span><span class="p">:</span>
</span><span id="__span-2-9"><a id="__codelineno-2-9" name="__codelineno-2-9" href="#__codelineno-2-9"></a><span class="w"> </span><span class="nt">TELEGRAM_BOT_TOKEN</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">${TELEGRAM_BOT_TOKEN}</span>
</span><span id="__span-2-10"><a id="__codelineno-2-10" name="__codelineno-2-10" href="#__codelineno-2-10"></a><span class="w"> </span><span class="nt">TELEGRAM_BOT_USERNAME</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">${TELEGRAM_BOT_USERNAME}</span>
</span><span id="__span-2-11"><a id="__codelineno-2-11" name="__codelineno-2-11" href="#__codelineno-2-11"></a><span class="w"> </span><span class="nt">TELEGRAM_PERSON_ID</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">${TELEGRAM_PERSON_ID}</span>
</span><span id="__span-2-12"><a id="__codelineno-2-12" name="__codelineno-2-12" href="#__codelineno-2-12"></a><span class="w"> </span><span class="nt">ADMIN_TELEGRAM_PERSON_ID</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">${ADMIN_TELEGRAM_PERSON_ID}</span>
</span><span id="__span-2-13"><a id="__codelineno-2-13" name="__codelineno-2-13" href="#__codelineno-2-13"></a><span class="w"> </span><span class="nt">CHAT_GPT_TOKEN</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">${CHAT_GPT_TOKEN}</span>
</span></code></pre></div>
</div>
<div class="tabbed-block">
<div class="language-text highlight"><pre><span></span><code><span id="__span-3-1"><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a>TELEGRAM_BOT_TOKEN=
</span><span id="__span-3-2"><a id="__codelineno-3-2" name="__codelineno-3-2" href="#__codelineno-3-2"></a>TELEGRAM_BOT_USERNAME=
</span><span id="__span-3-3"><a id="__codelineno-3-3" name="__codelineno-3-3" href="#__codelineno-3-3"></a>TELEGRAM_PERSON_ID=
</span><span id="__span-3-4"><a id="__codelineno-3-4" name="__codelineno-3-4" href="#__codelineno-3-4"></a>ADMIN_TELEGRAM_PERSON_ID=
</span><span id="__span-3-5"><a id="__codelineno-3-5" name="__codelineno-3-5" href="#__codelineno-3-5"></a>CHAT_GPT_TOKEN=
</span></code></pre></div>
</div>
</div>
</div>
<h2 id="support-develop"><img alt="❤" class="twemoji heart" src="https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/svg/2764.svg" title=":heart:" /> Support Develop<a class="headerlink" href="#support-develop" title="Permanent link">⚓︎</a></h2>
<p>Sponsorship makes a project sustainable because it pays for the time of the maintainers of that project, a very scarce resource that is spent on developing new features, fixing bugs, improving stability, solving problems, and general support. The biggest bottleneck in Open Source is time.</p>
<ul>
<li>Bank card for residents of the Russian Federation: <a href="https://www.tinkoff.ru/cf/4iU6NB3uzqx">https://www.tinkoff.ru/cf/4iU6NB3uzqx</a></li>
<li>Crypto:<ul>
<li>TON: <code>struchkov-mark.ton</code></li>
<li>BTC (Taproot): <code>bc1pt49vnp43c4mktk6309zlq3020dzd0p89gc8d90zzn4sgjvck56xs0t86vy</code></li>
<li>ETH: <code>0x7668C802Bd71Be965671D4Bbb1AD90C7f7f32921</code><ul>
<li>USDT (ERC-20): <code>0x7668C802Bd71Be965671D4Bbb1AD90C7f7f32921</code></li>
<li>DAI (ERC-20): <code>0x7668C802Bd71Be965671D4Bbb1AD90C7f7f32921</code></li>
</ul>
</li>
<li>BNB: <code>0xDa41aC95f606850f2E01ba775e521Cd385AA7D03</code><ul>
<li>USD: <code>0xDa41aC95f606850f2E01ba775e521Cd385AA7D03</code></li>
<li>DAI: <code>0xDa41aC95f606850f2E01ba775e521Cd385AA7D03</code></li>
</ul>
</li>
</ul>
</li>
</ul>
<h2 id="faq">FAQ<a class="headerlink" href="#faq" title="Permanent link">⚓︎</a></h2>
<details class="question">
<summary>What model is used?</summary>
<p>For now the <code>gpt-3.5-turbo</code> model is used. In future versions you will be able to choose the model.</p>
</details>
<details class="question">
<summary>What happens if my reply is longer than the allowed number of characters in one Telegram message?</summary>
<p>That's okay, the answer will be broken up into several posts.</p>
</details>
<h2 id="other-questions">Other Questions<a class="headerlink" href="#other-questions" title="Permanent link">⚓︎</a></h2>
<p>If you don't understand something, you can ask a question here <img alt="👇" class="twemoji" src="https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/svg/1f447.svg" title=":point_down:" /> or in a <a href="https://github.com/uPagge/openai-chatgpt-telegram-bot/discussions">discussion on GitHub.</a></p>
<h2 id="__comments" >Comments</h2>
<div id="remark42"></div>
<script>
var remark_config = {
host: "https://comments.struchkov.dev",
site_id: 'docs',
components: ['embed'],
locale: 'en',
theme: localStorage.theme,
show_email_subscription: true,
simple_view: false
};
</script>
<script>!function(e,n){for(var o=0;o<e.length;o++){var r=n.createElement("script"),c=".js",d=n.head||n.body;"noModule"in r?(r.type="module",c=".mjs"):r.async=!0,r.defer=!0,r.src=remark_config.host+"/web/"+e[o]+c,d.appendChild(r)}}(remark_config.components||["embed"],document);</script>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
</main>
<footer class="md-footer">
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": ".", "features": ["navigation.instant", "navigation.indexes", "navigation.sections", "navigation.tracking", "navigation.footer", "navigation.tabs.sticky", "navigation.prune", "content.code.copy", "content.code.annotate", "content.tooltips", "toc.follow"], "search": "assets/javascripts/workers/search.6c7302c4.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="assets/javascripts/bundle.7de9f34d.min.js"></script>
</body>
</html>