<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xmlns:tt="http://teletype.in/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>Территория СВПиД</title><generator>teletype.in</generator><description><![CDATA[Начинающий программист, писатель и просто хороший человек)]]></description><image><url>https://img2.teletype.in/files/9a/dd/9addaed8-0fca-48a2-979d-b010928b7ed1.png</url><title>Территория СВПиД</title><link>https://teletype.in/@t_csv</link></image><link>https://teletype.in/@t_csv?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=t_csv</link><atom:link rel="self" type="application/rss+xml" href="https://teletype.in/rss/t_csv?offset=0"></atom:link><atom:link rel="next" type="application/rss+xml" href="https://teletype.in/rss/t_csv?offset=10"></atom:link><atom:link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></atom:link><pubDate>Thu, 14 May 2026 10:19:18 GMT</pubDate><lastBuildDate>Thu, 14 May 2026 10:19:18 GMT</lastBuildDate><item><guid isPermaLink="true">https://teletype.in/@t_csv/PY_TG_BOT_3.1_S</guid><link>https://teletype.in/@t_csv/PY_TG_BOT_3.1_S?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=t_csv</link><comments>https://teletype.in/@t_csv/PY_TG_BOT_3.1_S?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=t_csv#comments</comments><dc:creator>t_csv</dc:creator><title>&quot;Ботоделание&quot;. Искусство написания ботов. Часть 3.1. Первый бот. Простейшие команды со знаком /. Вывод сообщений ботом</title><pubDate>Sat, 29 Nov 2025 20:18:18 GMT</pubDate><media:content medium="image" url="https://img1.teletype.in/files/89/f4/89f4986c-9603-459d-b843-f1c7a850145f.png"></media:content><category>Программирование</category><tt:hashtag>программирование</tt:hashtag><tt:hashtag>programming</tt:hashtag><tt:hashtag>tg</tt:hashtag><tt:hashtag>python</tt:hashtag><tt:hashtag>курс</tt:hashtag><tt:hashtag>bot</tt:hashtag><description><![CDATA[<img src="https://img4.teletype.in/files/f8/98/f8981c81-ae20-42b5-86af-a938e73aa3bc.png"></img>Получаем первый опыт в создании ботов]]></description><content:encoded><![CDATA[
  <p id="bGy0">Приветствую всех, вы попали на <a href="http://t.me/CVPiDterritory" target="_blank">территорию СВПиД</a>. Сегодня ваш ведущий я, S.</p>
  <figure id="iJAD" class="m_column">
    <img src="https://img4.teletype.in/files/f8/98/f8981c81-ae20-42b5-86af-a938e73aa3bc.png" width="2000" />
  </figure>
  <p id="GhTJ">Итак, могу поздравить вас с крещением. В этой статье мы начнём осваивать ботов &quot;под капотом&quot;, то есть, учиться писать их с нуля. Начнём мы, как вы уже могли понять, с простейших команд со знаком /. Например, самым распространённым представителем является команда /start, которая используется почти в каждом боте. </p>
  <p id="28y4">Давайте же приступим, но перед этим ознакомимся с содержанием статьи:</p>
  <section style="background-color:hsl(hsl(236, 74%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="0gXm" data-align="center">1. Необходимые программы и библиотеки</h2>
  </section>
  <p id="4BJV">Прежде, чем приступить к работе, нам понадобится установить некоторые приложения и библиотеки. Для начала скачиваем язык программирования <a href="https://www.python.org/downloads/" target="_blank">Python</a>. Версии 3.13 вам будет достаточно. Кто хочет, может поставить и повыше. Его установите самостоятельно и не забывайте обратить внимание на вашу операционную систему и её разрядность.</p>
  <p id="XF9e">Затем нам понадобится компилятор. Советую поставить <a href="https://www.jetbrains.com/pycharm/download/?ysclid=miklgetjom264520875&section=windows" target="_blank">PyCharm</a> или можете поставить <a href="https://visualstudio.microsoft.com/ru/downloads/" target="_blank">VSCode</a>. Тоже попрошу установить самостоятельно. </p>
  <p id="7ptI">Курс будет вестись на PYCharm. Если есть желание, то можете работать на любом другом компиляторе. </p>
  <p id="IXXS">Итак, скачали, открыли. Что делаем? Создаём проект, а дальше у нас будет несколько вариантов, как установить пакет необходимых библиотек. Либо вы через (верхний левый угол) File -&gt; Settings -&gt;Python Interpreter -&gt; + и в строку поиска вбиваем python-telegram-bot -&gt; Install Package. </p>
  <figure id="YXe8" class="m_column">
    <img src="https://img4.teletype.in/files/7c/9a/7c9a8b77-1f97-4732-8d72-8411d2a0d496.png" width="1918" />
  </figure>
  <p id="ByeK">Либо можете скачать через терминал. Для этого воспользуйтесь командой:</p>
  <pre id="Bbeh" data-lang="css">pip install python-telegram-bot --upgrade</pre>
  <figure id="hGTE" class="m_column">
    <img src="https://img4.teletype.in/files/f1/43/f143904d-a64a-4bd2-a0bc-8272062272f5.png" width="1031" />
  </figure>
  <p id="P7wY">Готово. Этого пока что достаточно. Другие библиотеки, которые мы будем использовать, в основном являются встроенными  в язык.</p>
  <section style="background-color:hsl(hsl(236, 74%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <hr />
    <h2 id="7inY" data-align="center">2. Необходимое в программе</h2>
  </section>
  <p id="NKSw">Давайте рассмотрим базовые понятия в написании ботов. Для этого нам просто необходимо создать самого простейшего бота, который будет иметь всего три команды: /start, /help, /hello. </p>
  <p id="LiEW">Процесс создания (чтобы не было проблем с понятностью кода) следует делить на составляющие:</p>
  <p id="qPLf"><strong><u>P.S.: Я не хочу призывать вас делать, как я. Если вам удобнее писать иначе, пишите иначе. Я только за!</u></strong></p>
  <section style="background-color:hsl(hsl(236, 74%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h3 id="aTRD" data-align="center">2.1. Import</h3>
  </section>
  <p id="EL6O">Вначале программы прописываются import-ы. Для первого бота нам понадобится рассмотреть несколько основных import-ов из библиотек. По большей части на них держится всё создание ботов. Давайте же их импортируем:</p>
  <pre id="eGKS" data-lang="python">from telegram import Update
from telegram.ext import Application, CommandHandler, MessageHandler, filters, ContextTypes</pre>
  <p id="kQVM">А теперь по порядку. Что есть что? </p>
  <ol id="DMLT">
    <li id="BlWc"><strong>Update</strong> - специальная функция, которая будет принимать все действия от пользователя: нажатые кнопки, отправленные сообщения, картинки и подобное. Содержится в библиотеке telegram.</li>
    <li id="Lz1Y"><strong>Application</strong> - можно сказать, что это &quot;мозг&quot; бота. Через этот объект бота мы и будем управлять всеми процессами. Даже запуск бота происходит через него. Далее все объекты будут из библиотеки telegram.ext. </li>
    <li id="xAl4"><strong>CommandHandler</strong> - обработчик команд типа /start, а также то, с чем мы в основном и будем работать. </li>
    <li id="9v9d"><strong>MessageHandler</strong> - обработчик обычных сообщений.</li>
    <li id="Sfzv"><strong>filters </strong>- набор фильтров, которые определяют, какие сообщения будут обрабатываться. Например, только картинки. В этот раз он нам не понадобится, но мы к нему подойдём вплотную.</li>
    <li id="GrVm"><strong>ContextTypes</strong> - используется для настройки возвращаемых данных.</li>
  </ol>
  <section style="background-color:hsl(hsl(236, 74%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h3 id="TBqX" data-align="center">2.2. API</h3>
  </section>
  <p id="IrO6">Далее пропишем наш API в виде переменно (так как использоваться он может несколько раз и это просто удобнее)</p>
  <pre id="hxnP" data-lang="python">TOKEN = &quot;Ваш API-токен, копируем из BotFather&quot;</pre>
  <section style="background-color:hsl(hsl(236, 74%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h3 id="Kk1p" data-align="center">2.3. Команды /start, /help, /hello</h3>
  </section>
  <p id="RhIY">Некоторой небольшой традицией у программистов стало вывод строки &quot;Hello, World!&quot; в консоль. Давайте сделаем это в ботах, а заодно заложим шаблон для дальнейшей работы с ботом.</p>
  <p id="tSiY"><strong>Начнём с функции /start</strong>. Обычно в ней выводят либо приветствие, либо основные сведения о боте. Так как мы уже сделали оформление нашего бота в прошлом эпизоде, то заставим нашего бота выводить просто приветствие. Для этого пропишем следующий код:</p>
  <pre id="vljy" data-lang="python">async def start(update: Update, context:ContextTypes.DEFAULT_TYPE):    
      await update.message.reply_text(&quot;Привет! Я твой первый бот 🤖\nНапиши /help, чтобы узнать команды.&quot;)</pre>
  <p id="6kiW">Теперь немного остановимся на коде. <em><u>async def</u></em> - это асинхронная функция, которая вызывается сама по себе, чтобы исполнить определённое действие. То есть, её не нужно дополнительно вызывать. В данном случае она ожидает сообщения /start от пользователя. </p>
  <p id="7c2I"><em><u>update: Update, context:ContextTypes.DEFAULT_TYPE</u></em> - указывается у любых команд, которые будут работать напрямую с пользователем. Это, можно сказать, основа функций бота. Update будет принимать всё от пользователя, context же наоборот будет хранить особые функции, чтобы обработать эти сообщения.</p>
  <p id="BxM0"><em><u>await</u></em> - это способ дождаться выполнения асинхронной операции (update.message.reply_text(&quot;Привет! Я твой первый бот 🤖\nНапиши /help, чтобы узнать команды.&quot;) </p>
  <p id="SQoZ"><em><u>message.reply_text</u></em> - функция, чтобы сообщением отправить ответ пользователю (именно сообщения в качестве ответа, а ни как-то иначе, что в данном контексте будет правильнее). </p>
  <p id="aomd">Теперь пропишем оставшиеся функции. Их код очень похож на функцию \start</p>
  <p id="wiOo"><strong>Функция /help.</strong> Обычно она отвечает за показ всех команд, которые используются в боте. Её код будет следующим:</p>
  <pre id="rFmF" data-lang="python">async def help(update: Update, context:ContextTypes.DEFAULT_TYPE):
    await update.message.reply_text(&quot;Список команд бота:\n/start - перезапуск бота\n/help - выводит &quot;
                                        &quot;список команд\n/hello - выводит самый простейши код бота&quot;)</pre>
  <p id="kWLN"><strong>Функция /hello.</strong> Её цель просто вывести пользователю сообщение &quot;Hello, World!&quot;. Рассмотрим и её код:</p>
  <pre id="LYJR" data-lang="python">async def hello(update: Update, context:ContextTypes.DEFAULT_TYPE):
    await update.message.reply_text(&quot;HELLO, WORLD!!!!!!!!!!!!!!!!&quot;)</pre>
  <section style="background-color:hsl(hsl(236, 74%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h3 id="Z4nW" data-align="center">2.4. Функция обработки сообщений</h3>
  </section>
  <p id="VUtm">Далее нам понадобится где-то указать, что именно после команды /start у нас будет срабатывать функция start. Для этого нам понадобится базовая функция языка программирования main. Код почти полной функции будет следующим:</p>
  <pre id="Qn6f" data-lang="python">def main():
    app = Application.builder().token(TOKEN).build()
    
    app.add_handler(CommandHandler(&quot;start&quot;, start))    
    app.add_handler(CommandHandler(&quot;help&quot;, help))    
    app.add_handler(CommandHandler(&quot;hello&quot;, hello))</pre>
  <p id="bcKr">Тут уже дам следующий комментарий. </p>
  <p id="RBOE"><em><u>app = Application.builder().token(TOKEN).build()</u></em>, г<u>де происходит вот что:</u></p>
  <p id="hNxk"><em><u>Application.builder()</u></em> - создаёт “строитель” бота (builder)</p>
  <p id="EpKp"><em><u>.token(TOKEN)</u></em> - передаёт токен твоего бота (мы его писали ранее)</p>
  <p id="8NqT"><em><u>.build()</u></em> - собирает готовое приложение (объект бота)</p>
  <p id="xyVD">По сути, это команда: &quot;Создай бота и подключи его к Telegram API&quot;.</p>
  <p id="EDG3">Затем происходит регистрация команд. Бот выстраивает среду команд: /start, /help и /hello. Мы даём ему понять через <u><em>CommandHandler</em></u>, что это будет команда (со знаком /), а также название команды, а затем передаём функцию, к которой мы обратимся после принятия этой команды.</p>
  <section style="background-color:hsl(hsl(236, 74%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h3 id="TQq3" data-align="center">2.5. Запуск бота</h3>
  </section>
  <p id="kPd4">Мы продолжаем находиться во всё той же функции main. Остался последний штрих: запустить бота. Но перед этим укажу ещё одну фишку.</p>
  <p id="9p2G">Как себя контролировать? Вы точно уверены, что ваш код работает корректно? Тогда перед запуском либо функции, либо всего бота пропишите строчку:</p>
  <pre id="MweC" data-lang="python">print(&quot;Бот запущен...&quot;)</pre>
  <p id="ej2y">Эта строчка выведет вам в консоль, что всё хорошо. Это лёгкий способ, далее мы посмотрим более точный.</p>
  <p id="Ro7E">Теперь давайте же запустим бота:</p>
  <pre id="eLgI" data-lang="python">app.run_polling()</pre>
  <p id="R50m">Но, если мы попробуем запустить, будет не совсем корректно. Далее, уже после функции main() нам нужно прописать следующую команду:</p>
  <pre id="xIji" data-lang="python">if __name__ == &quot;__main__&quot;:
    main()</pre>
  <p id="5Tv3">Зачем она нужна? По сути она сигнализирует о запуске бота напрямую. А если точнее, то у неё следующие функции:</p>
  <ol id="SAtz">
    <li id="S3W0">предотвращает автозапуск кода при импорте;</li>
    <li id="UIgB">позволяет запускать бота только намеренно;</li>
    <li id="4x8M">делает код чище, правильнее и модульнее.</li>
  </ol>
  <section style="background-color:hsl(hsl(236, 74%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="Wcw8" data-align="center">3. Запуск бота и полный код</h2>
  </section>
  <p id="wrjy">Теперь публикую полный код, который мы написали с комментариями, чтобы вам было легче разобраться и запомнить:</p>
  <pre id="feKS" data-lang="python">from telegram import Update
from telegram.ext import Application, CommandHandler, MessageHandler, filters, ContextTypes #импорт необходимых библиотек
TOKEN = &quot;ВАШ ТОКЕН&quot; #ваш токен
async def start(update: Update, context:ContextTypes.DEFAULT_TYPE): #функция для команды /start    
    await update.message.reply_text(&quot;Привет! Я твой первый бот 🤖\nНапиши /help, чтобы узнать команды.&quot;)
async def help(update: Update, context:ContextTypes.DEFAULT_TYPE): #функция для команды /help
    await update.message.reply_text(&quot;Список команд бота:\n/start - перезапуск бота\n/help - выводит &quot;
                                          &quot;список команд\n/hello - выводит самый простейши код бота&quot;)
async def hello(update: Update, context:ContextTypes.DEFAULT_TYPE): #функция для команды /hello
    await update.message.reply_text(&quot;HELLO, WORLD!!!!!!!!!!!!!!!!&quot;)
def main(): #функция для общей обработки и сборки бота
     app = Application.builder().token(TOKEN).build() #основная переменная сбрки (основа - ваш API)    
     app.add_handler(CommandHandler(&quot;start&quot;, start))  #обработка каждой  команды    
     app.add_handler(CommandHandler(&quot;help&quot;, help))    
     app.add_handler(CommandHandler(&quot;hello&quot;, hello))    
     
     print(&quot;Бот запущен...&quot;) #сигнал, что бот запущен    
     app.run_polling() #запуск бота 
if __name__ == &quot;__main__&quot;: #проверка, что запущен напрямую
     main()</pre>
  <p id="Y0Bt">Теперь полюбуемся нашим результатом:</p>
  <figure id="cV4D" class="m_column">
    <img src="https://img2.teletype.in/files/96/bb/96bba5e2-34cd-42b0-a95c-d70ae8678a6a.png" width="918" />
  </figure>
  <p id="ASPR">Также посмотрим, что наш сигнал сработал:</p>
  <figure id="hVOb" class="m_column">
    <img src="https://img4.teletype.in/files/fc/30/fc30e41c-ad45-478b-93ec-aaf0d2b4d508.png" width="877" />
  </figure>
  <section style="background-color:hsl(hsl(236, 74%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="YdFx" data-align="center">4. Итог</h2>
  </section>
  <p id="L6tK">Итог будет разделяться на несколько этапов. Вначале намекну на следующее занятие.</p>
  <section style="background-color:hsl(hsl(236, 74%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h3 id="hekz" data-align="center">4.1. А что там с фильтрами?</h3>
  </section>
  <p id="xnGd">Итак, мы подошли вплотную к моменту, а что если пользователь будет отправлять не то, что мы задумывали? Например, вместо команд скинет картинку или скинет  неизвестную команду. Это может вызвать ошибку и экстренно завершить работу бота. </p>
  <p id="vjBp">Что же с этим делать? Узнаете на следующем занятии, но советую прочитать про фильтры. Всю официальную информацию по библиотеке можно найти в их руководстве: <a href="https://docs.python-telegram-bot.org/en/stable/index.html" target="_blank">https://docs.python-telegram-bot.org/en/stable/index.html</a>.</p>
  <section style="background-color:hsl(hsl(236, 74%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h3 id="i9xn" data-align="center">4.2. Домашнее задание</h3>
  </section>
  <p id="y7El">Да, теперь с этого момента у нас будет дз, так как, чтобы научиться программировать, необходимо получать опыт. Дз мы будем разбирать в спец выпуске, который будет выходить тут же, так что, не переживайте.</p>
  <p id="x5hw">Сегодня вам следующие задания:</p>
  <section style="background-color:hsl(hsl(24,  24%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <ol id="PZLD">
      <li id="Oct7">Повторить код, который писали в этой статье (не просто копировать, а писать вручную; необходимо научиться вначале работать руками);</li>
      <li id="MEoB">Напишите две дополнительные команды: <strong>/rand_number</strong> - выводит любую цифру от 0 до 9; <strong>/какое-то название</strong> - эта команда должна выводить какую-нибудь строку в ответ пользователю (подобно /hello);</li>
      <li id="VMDR">Для преуспевающих доп задание: с помощью команды <strong>/name</strong> - вывести имя пользователя.</li>
    </ol>
  </section>
  <p id="noNX">На сегодня достаточно.</p>
  <section style="background-color:hsl(hsl(236, 74%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h3 id="vSwA" data-align="center">4.3. Постскриптум </h3>
  </section>
  <p id="A8e4">Итак, начинающий программист, поздравляю тебя с первыми успехами в написании ботов. Дальше будет интереснее, главное продолжать работать)</p>
  <p id="m37s">В целом, это довольно просто. Библиотека включает в себя в районе 100 самых часто используемых программ. Всё остальное используется редко. </p>
  <p id="uv3d">Ботов можно отлично монетизировать, так что, дерзайте)</p>
  <p id="8Cyo">А с вами была Территория СВПиД и её ведущий, S. Успехов вам и всем до встречи, не прощаюсь)</p>
  <tt-tags id="FVjQ">
    <tt-tag name="программирование">#программирование</tt-tag>
    <tt-tag name="programming">#programming</tt-tag>
    <tt-tag name="tg">#tg</tt-tag>
    <tt-tag name="python">#python</tt-tag>
    <tt-tag name="курс">#курс</tt-tag>
    <tt-tag name="bot">#bot</tt-tag>
  </tt-tags>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@t_csv/PY_TG_BOT_2.2_S</guid><link>https://teletype.in/@t_csv/PY_TG_BOT_2.2_S?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=t_csv</link><comments>https://teletype.in/@t_csv/PY_TG_BOT_2.2_S?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=t_csv#comments</comments><dc:creator>t_csv</dc:creator><title>&quot;Ботоделание&quot;. Искусство написания ботов. Часть 2.2. BotFather, подробно о командах и понятиях. Как сделать дизайн бота?</title><pubDate>Sat, 22 Nov 2025 17:42:50 GMT</pubDate><media:content medium="image" url="https://img1.teletype.in/files/8b/2b/8b2b6065-e5ee-4ca1-b500-a821f6479519.png"></media:content><category>Программирование</category><tt:hashtag>программирование</tt:hashtag><tt:hashtag>programming</tt:hashtag><tt:hashtag>tg</tt:hashtag><tt:hashtag>python</tt:hashtag><tt:hashtag>курс</tt:hashtag><tt:hashtag>начало</tt:hashtag><tt:hashtag>bot</tt:hashtag><tt:hashtag>api</tt:hashtag><tt:hashtag>botfather</tt:hashtag><description><![CDATA[<img src="https://img4.teletype.in/files/b0/57/b057f46b-830d-4bbb-82ac-246f1ab059b0.webp"></img>]]></description><content:encoded><![CDATA[
  <p id="u6pd">Приветствую всех, вы попали на <a href="http://t.me/CVPiDterritory" target="_blank">территорию СВПиД</a>. Сегодня ваш ведущий я, S.</p>
  <figure id="CEre" class="m_column">
    <img src="https://img4.teletype.in/files/b0/57/b057f46b-830d-4bbb-82ac-246f1ab059b0.webp" width="1600" />
  </figure>
  <p id="gUWa">Сегодня разговор поёдет об основных функциях BotFather помимо получения API токена. А теперь перейдем к конкретике. Сегодня вы научитесь:</p>
  <ol id="cb6g">
    <li id="3AFW">Делать дизайн (оформление для своего бота);</li>
    <li id="W4Fh">Настраивать бота.</li>
  </ol>
  <p id="TfhH">Соответственно, на основе этих целей мы и строим содержание этой статьи.</p>
  <hr />
  <section style="background-color:hsl(hsl(236, 74%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="pCkC">1. Для чего нужно создавать дизайн бота?</h2>
  </section>
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <blockquote id="5jIE" data-align="right">“The role of the designer is that of a good, thoughtful host anticipating the needs of his guests.”</blockquote>
  </section>
  <p id="qUar" data-align="right"><strong>Charles Eames</strong>, Designer</p>
  <p id="CP40">Зачем нам вообще необходим дизайн? </p>
  <p id="ZRMS">Дизайн в Telegram-боте - это не «красота ради красоты». Он влияет на <strong>удобство</strong>, <strong>понимание</strong>, <strong>скорость действий пользователя</strong> и <strong>эффективность бота</strong>. Вот зачем он нужен:</p>
  <ul id="qQtZ">
    <li id="yMYL"><strong><em>Удобство и скорость взаимодействия</em></strong> (хорошо продуманные кнопки, меню и структура позволяют пользователю быстро находить нужные функции.<br /> Без дизайна человек может запутаться, нажать не туда или вообще подумать, что бот “сломан”);</li>
    <li id="qDH3"><em><strong>Повышение доверия </strong></em>(Аккуратные кнопки, иконки, внятные тексты и логичная навигация создают ощущение, что бот сделан профессионально - это повышает доверие к продукту или бренду);</li>
    <li id="iAVJ"><strong><em>Снижение нагрузки на поддержку</em></strong> (если человек всё понимает с первого раза, он меньше задаёт вопросов);</li>
    <li id="nxa2"><strong><em>Увеличение вовлечённости</em></strong> (красивые карточки, удобные формы, продуманная механика → пользователь дольше остаётся в боте, чаще возвращается, быстрее выполняет нужные действия);</li>
    <li id="kxI0"><strong><em>Понятные сценарии для пользователя</em></strong> (дизайн - это не только кнопки, но и: структура диалогов, названия пунктов меню, последовательность вопросов, подача информации. Хороший сценарий экономит десятки лишних шагов);</li>
    <li id="XHJ6"><strong><em>Унификация</em></strong> (если у бота есть единый стиль (картинки, формулировки, структура), пользователь интуитивно понимает, как с ним работать - даже если функционал расширяется);</li>
    <li id="DuwD"><strong><em>Конверсия</em></strong> (для коммерческих ботов (заказы, бронь, продажи) дизайн влияет на число завершённых действий. Удобный, прозрачный интерфейс = больше заказов/лидов).</li>
  </ul>
  <p id="Ft9O">В общем, <u>в хорошем дизайне сплошные плюсы</u>, но и сделать для этого нужно много. К сожалению, это не курс дизайна. Я не смогу показать вам так подробно, как сделать более привлекательное лого или описание (некоторые особенности я укажу, но как внедрить в бота дизайн я покажу.</p>
  <section style="background-color:hsl(hsl(236, 74%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="XMF5">2. Как создавать дизайн  и настраивать бота?</h2>
    <h3 id="cUHy">2.1. Создание дизайна бота</h3>
  </section>
  <p id="5TDh">Для этого вновь открываем BotFather и пишем /start:</p>
  <figure id="bhou" class="m_column">
    <img src="https://img3.teletype.in/files/65/24/65240135-746c-4d87-8db8-f34ecaf0a3b9.png" width="807" />
  </figure>
  <p id="rzEP">Далее выбираем команду /mybots, а затем выбираем нужного бота:</p>
  <figure id="PKSa" class="m_column">
    <img src="https://img1.teletype.in/files/05/51/0551522e-7b0e-4e45-a3ba-a8ab9c2a84f2.png" width="783" />
  </figure>
  <p id="qphx">После всех выборов перед вами появится окно с Inline-кнопками (да, их тоже мы научимся делать):</p>
  <p id="h1Cl">Теперь поговорим о каждой кнопке:</p>
  <figure id="kYgh" class="m_original">
    <img src="https://img4.teletype.in/files/39/27/39276c51-323f-4f0a-a446-76092597b919.png" width="444" />
  </figure>
  <p id="Ff7k">1. <strong>API Token</strong> - позволяет увидеть токен вашего бота и в случае необходимости изменить его:</p>
  <figure id="3hWm" class="m_original">
    <img src="https://img3.teletype.in/files/e6/e5/e6e582b5-c9cb-4802-b9c1-98de4981e5ce.png" width="517" />
    <figcaption>Напоминание: API не распространять!!!!</figcaption>
  </figure>
  <p id="lnFt">Если нажать Revoke current token, то BotFather создаст вам новый токен:</p>
  <figure id="KG9L" class="m_original">
    <img src="https://img2.teletype.in/files/15/41/15419602-dd2e-424e-abf6-100927d734de.png" width="550" />
  </figure>
  <p id="6Dgg">Далее вернёмся в другим кнопкам (с помощью кнопки Back to Bot).</p>
  <figure id="9Dwu" class="m_original">
    <img src="https://img4.teletype.in/files/b2/75/b275586d-5918-4865-9ef2-3ed27092bc51.png" width="437" />
  </figure>
  <p id="VEeQ">2. <strong>EditBot</strong> - здесь мы в основном и будем работать над дизайном ботов:</p>
  <figure id="BZ9J" class="m_original">
    <img src="https://img1.teletype.in/files/c6/66/c6667151-a8c9-4e05-8b16-c3bf3997760d.png" width="487" />
  </figure>
  <p id="OFBN">Перед вами появилось следующее окно. Давайте разберёмся, что делает каждая из кнопок:</p>
  <p id="rJR6">1) <strong>Edit Name</strong> - позволяет поменять имя бота:</p>
  <figure id="2Flr" class="m_column">
    <img src="https://img2.teletype.in/files/9f/1d/9f1d4fb3-0af3-4a59-a967-6ad48c18bea4.png" width="790" />
  </figure>
  <p id="doNq">Также оно поменяться и здесь (это касается всех кнопок: по мере оформления это окно будет заполняться):</p>
  <figure id="7awA" class="m_original">
    <img src="https://img1.teletype.in/files/c8/14/c814251e-d2ab-48dd-a584-b0ff0e72374c.png" width="496" />
  </figure>
  <p id="5jYi">2) <strong>Edit About</strong> - позволяет задать описание бота. Обычно сюда указывают предназначение бота и способы обратиться к создателю бота. Я укажу только первое:</p>
  <figure id="10pf" class="m_column">
    <img src="https://img2.teletype.in/files/dc/ac/dcac2cf9-1c50-426e-ac4c-41d724a1890b.png" width="797" />
  </figure>
  <p id="uDbC">Этот текст будет виден здесь:</p>
  <figure id="FF2s" class="m_column">
    <img src="https://img3.teletype.in/files/ac/a8/aca8ae17-fb3e-4cb0-858b-d668fea74192.png" width="1121" />
  </figure>
  <p id="9Isv">3) <strong>Bot Description</strong> - добавляет на задний фон в момент открытия бота табличку, где будут написаны основные функции бота (что он может делать?). Можно указать и что-то другое, но обычно указывают следующее:</p>
  <figure id="rGJH" class="m_column">
    <img src="https://img4.teletype.in/files/fd/46/fd46eb13-c197-4f4b-ae05-b434bea5805e.png" width="902" />
  </figure>
  <p id="2lYj">Увидеть его можно здесь:</p>
  <figure id="2gIy" class="m_column">
    <img src="https://img2.teletype.in/files/51/72/5172c143-506f-4693-98a9-a0729e908bcc.png" width="933" />
  </figure>
  <p id="mmS4">4) <strong>Edit Description Picture</strong> поможет вам прикрепить картинку к табличке описания из прошлой кнопки. Оптимальные размеры  640 на 360. Вот как это будет выглядеть:</p>
  <figure id="QmPa" class="m_column">
    <img src="https://img4.teletype.in/files/79/74/797428c3-e65c-47f4-9beb-19d2f3447f7f.png" width="906" />
  </figure>
  <p id="trmY">Про остальные ограничения мы поговорим позже в статье. А сейчас посмотрим на результат: </p>
  <figure id="vBKH" class="m_original">
    <img src="https://img2.teletype.in/files/1e/b9/1eb9dc3b-25e5-4481-9e58-7bd1b5d51c16.png" width="642" />
  </figure>
  <p id="kSVW">5) <strong>Edit Botpic</strong> - кнопка для создания Botpic. Что это? Так называется лого бота. Оно должно быть размером 150 на 150 пикселей. Загрузим его:</p>
  <figure id="M2ly" class="m_column">
    <img src="https://img2.teletype.in/files/1e/8c/1e8ca5c2-0fde-4beb-9d24-f0045f127608.png" width="917" />
  </figure>
  <p id="4KqR">И посмотрим на результат:</p>
  <figure id="glm8" class="m_original">
    <img src="https://img1.teletype.in/files/88/56/88562bc4-fd7a-4509-a9e6-ea22d1512c32.png" width="483" />
  </figure>
  <p id="0Cj6">6) <strong>Edit Commands</strong>. Эта кнопка позволит создать меню со списком команд, которые будут особыми. Например, \star - запуск бота, \register - пройти регистрацию, а также другие. Ввод происходит следующим образом: </p>
  <figure id="EST9" class="m_column">
    <img src="https://img4.teletype.in/files/3b/e2/3be2572f-dbd9-4327-9284-c391d2219c89.png" width="911" />
  </figure>
  <p id="oJ0i">команда 1 - описание 1</p>
  <p id="A0my">команда 2 - описание 2</p>
  <p id="PH7K">Команды будут появляется здесь:</p>
  <figure id="UHye" class="m_column">
    <img src="https://img3.teletype.in/files/e9/33/e9338a50-a2e4-410a-822d-bad23ca776b0.png" width="938" />
  </figure>
  <p id="hGWt">Чтобы такое окно появилось, нужно будет нажать кнопочку Меню в левом нижнем углу:</p>
  <figure id="GHGS" class="m_column">
    <img src="https://img1.teletype.in/files/0f/02/0f021394-a024-4e7c-b6a2-6513d67c20db.png" width="915" />
  </figure>
  <p id="TVuq">7) <strong>Edit Privacy Policy</strong>. Эта кнопка поможет вам поставить свою политику конфиденциальности для бота. Обычно она используется для установления определённых правил использования бота, например, Телеграмм может посмотреть данные бота в случае необходимости. Через эту кнопку вы можете поставить свою политику конфиденциальности:</p>
  <figure id="jRa8" class="m_original">
    <img src="https://img4.teletype.in/files/fa/bf/fabfd7df-8fdc-456c-99f4-c14e980cb612.png" width="564" />
  </figure>
  <p id="z5AH">Я этого делать не буду, оставлю <a href="https://telegram.org/privacy-tpa" target="_blank">стандартную</a>. Пойдём далее. </p>
  <section style="background-color:hsl(hsl(236, 74%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h3 id="b2rv">2.2. Настройки бота</h3>
  </section>
  <p id="jkYg">Вернёмся в основное меню (Back to Bot). Следующей кнопкой, которую мы посмотрим будет Bot Settings:</p>
  <figure id="fw5e" class="m_original">
    <img src="https://img3.teletype.in/files/a2/5f/a25fa214-1338-4ee9-b996-61c587ab3b29.png" width="456" />
  </figure>
  <p id="CICR">Здесь есть:</p>
  <p id="Giag">1)<strong> Inline Mode</strong> - особый режим, который позволит работать вашему боту в любом чате. Почитать можно <a href="https://core.telegram.org/bots/inline" target="_blank">здесь</a>. В своём курсе (по крайней мере пока что) я не планирую рассматривать эту функцию.</p>
  <p id="SaII">2)<strong> Business Mode </strong>- особый режим, который позволит вам давать разрешение на подключение вашего бота другими пользователями. То есть, вашего бота смогут использовать в группе (изменив), например, за определённую плату. Почитать об этом режиме подробнее можно <a href="https://core.telegram.org/bots/features#bots-for-business" target="_blank">здесь</a>. </p>
  <p id="bz0D">3) <strong>Allow groups? </strong>- тоже режим, позволяющий подключать вашего бота куда-либо. Например, в каналы или группы. Также, здесь будут высвечиваться все группы, куда будет подключён ваш бот.</p>
  <p id="KXY2">4) <strong>Group Privacy</strong> - режим конфиденциальности групп для бота. О нём можете почитать <a href="https://core.telegram.org/bots/features#privacy-mode" target="_blank">здесь</a>. </p>
  <p id="UMFZ">5) <strong>Group Admin Rights</strong> - здесь сможете настроить доступные права для людей, которые будут добавлять вашего бота в группы (например, запретить отправлять боту картинки и так далее).</p>
  <figure id="FrQe" class="m_original">
    <img src="https://img1.teletype.in/files/81/2f/812f5586-e126-4352-be64-aa11c0c3d988.png" width="561" />
  </figure>
  <p id="Zee9">6) <strong>Channel Admin Rights</strong> - то же, что и с группами, но для каналов.</p>
  <p id="IILZ">7) <strong>Payments</strong> - кнопка, которая позволит вам подключить способы оплаты за использование услуг бота. Выглядит это следующим образом:</p>
  <figure id="UiEd" class="m_original">
    <img src="https://img1.teletype.in/files/8b/f3/8bf34ffc-d366-4b4e-9e06-aad4ef9646a2.png" width="549" />
  </figure>
  <p id="cX1n">8) <strong>Menu Button</strong> - кнопка, позволяющая сделать меню бота в виде сайта. Значительно расширяет возможности создания меню. </p>
  <p id="Uh12">9) <strong>Configure Mini App</strong> - эта кнопка позволит вам подключить мини приложение к боту. </p>
  <p id="vWzX">10) <strong>Paid Broadcast</strong> - кнопка, позволяющая настраивать вещание. Например, если вам необходимо скинуть всем пользователям вашего тгк какую-нибудь информацию. Подробнее можете почитать <a href="https://core.telegram.org/bots/faq#how-can-i-message-all-of-my-bot-39s-subscribers-at-once" target="_blank">здесь</a>. </p>
  <p id="eUaR">Мы идём далее. Остались ещё несколько аспектов, которые мы рассмотрим в этой статье. </p>
  <section style="background-color:hsl(hsl(236, 74%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h3 id="TUW0">2.3. Оставшиеся детали</h3>
  </section>
  <figure id="LOb6" class="m_original">
    <img src="https://img3.teletype.in/files/e1/ce/e1ced560-b667-45dc-86d9-a263d26f8286.png" width="435" />
  </figure>
  <p id="xWTz">Вернёмся в меню и посмотрим на последние три кнопки. </p>
  <p id="gSpS"><strong>Payments</strong>  - ранее уже встречалось. Здесь вы можете подключить оплату для вашего бота. Кто-то захотел использовать вашего бота? Вы получили деньги. Всё просто. Выглядит это так: </p>
  <figure id="su2D" class="m_original">
    <img src="https://img2.teletype.in/files/54/59/54599c84-7d39-4931-8514-13fe72e9266d.png" width="548" />
  </figure>
  <p id="kLtR">Следующие две кнопки являются особа опасными, поэтому будьте с ними предельно осторожны.</p>
  <p id="hkb7"><strong>Transfer Ownership</strong> - кнопка, которая позволит вам передать права владения вашим ботом другому пользователю. </p>
  <figure id="9DIb" class="m_original">
    <img src="https://img2.teletype.in/files/58/6a/586a0aa5-2fa8-48fa-9249-add873bb459e.png" width="527" />
  </figure>
  <p id="RPEX"><strong>Delete Bot</strong> - удалит вашего бота <strong>НАВСЕГДА</strong>. Будьте аккуратны с этими кнопками. </p>
  <section style="background-color:hsl(hsl(236, 74%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="Pjku">3. Об ограничениях</h2>
  </section>
  <p id="AmHu">Основные ограничения (лимиты) следующие:</p>
  <figure id="LnOD" class="m_column">
    <img src="https://img2.teletype.in/files/1a/6a/1a6aed88-0eff-4e9a-aeba-3687dab378f5.png" width="1186" />
    <figcaption>взято отсюда: https://salebot.wiki/page/Telegram</figcaption>
  </figure>
  <p id="A0iv">Некоторые лимиты можно расширить с помощью платных подписок. Также об ограничениях можете почитать <a href="https://martrending.ru/smm/limity-v-telegram" target="_blank">тут</a>. </p>
  <p id="JBZk">Также оставлю вам один неплохой сайт, где вы сможете найти бесплатные статьи о работе с телеграмм ботами (именно настройке). Ссылочка: <a href="https://zabotov.ru/blog" target="_blank">https://zabotov.ru/blog</a>.</p>
  <p id="SQ9R">Всем спасибо за прочтения данной статьи, и прошу прощения за задержку. Были личные обстоятельства, по которым я не смог успеть дописать статью. </p>
  <p id="IizW">С вами был S, вы находились на территории СВПиД. Подписывайтесь, до встречи)</p>
  <tt-tags id="SQo3">
    <tt-tag name="программирование">#программирование</tt-tag>
    <tt-tag name="programming">#programming</tt-tag>
    <tt-tag name="tg">#tg</tt-tag>
    <tt-tag name="python">#python</tt-tag>
    <tt-tag name="курс">#курс</tt-tag>
    <tt-tag name="начало">#начало</tt-tag>
    <tt-tag name="bot">#bot</tt-tag>
  </tt-tags>
  <tt-tags id="JFus">
    <tt-tag name="api">#api</tt-tag>
    <tt-tag name="botfather">#botfather</tt-tag>
  </tt-tags>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@t_csv/PY_TG_BOT_2.1_S</guid><link>https://teletype.in/@t_csv/PY_TG_BOT_2.1_S?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=t_csv</link><comments>https://teletype.in/@t_csv/PY_TG_BOT_2.1_S?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=t_csv#comments</comments><dc:creator>t_csv</dc:creator><title>&quot;Ботоделание&quot;. Искусство написания ботов в Python. Часть 2.1. BotFather, базовые команды и понятие. Создание первого бота и API. Получение первого API-токена</title><pubDate>Wed, 05 Nov 2025 14:56:42 GMT</pubDate><media:content medium="image" url="https://img1.teletype.in/files/8b/2b/8b2b6065-e5ee-4ca1-b500-a821f6479519.png"></media:content><category>Программирование</category><tt:hashtag>программирование</tt:hashtag><tt:hashtag>programming</tt:hashtag><tt:hashtag>tg</tt:hashtag><tt:hashtag>python</tt:hashtag><tt:hashtag>курс</tt:hashtag><tt:hashtag>bot</tt:hashtag><tt:hashtag>api</tt:hashtag><description><![CDATA[<img src="https://img4.teletype.in/files/b0/57/b057f46b-830d-4bbb-82ac-246f1ab059b0.webp"></img>Аудио-подкаст к статье здесь.]]></description><content:encoded><![CDATA[
  <p id="u6pd">Аудио-подкаст к статье <a href="https://drive.google.com/file/d/1gVespqkCveh7OLI7bq521UUolZdAuDDP/view?usp=drive_link" target="_blank">здесь</a>.</p>
  <p id="zRTu">Приветствую всех, вы попали на <a href="http://t.me/CVPiDterritory" target="_blank">территорию СВПиД</a>. Сегодня ваш ведущий S. </p>
  <figure id="CEre" class="m_column">
    <img src="https://img4.teletype.in/files/b0/57/b057f46b-830d-4bbb-82ac-246f1ab059b0.webp" width="1600" />
  </figure>
  <p id="w4an">Сегодня поговорим о работе с BotFather, боте, с помощью которого вы сможете создать своих ботов и получить свой собственный API. Для начала пробежимся по содержанию статьи и рассмотрим самые важные вопросы.</p>
  <hr />
  <section style="background-color:hsl(hsl(236, 74%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="8IcV">1. Что такое API и какова его цель?</h2>
  </section>
  <p id="K3cW">Русифицируем термин <strong>API (Application Programming Interface) — интерфейс прикладного программирования</strong>.</p>
  <p id="tWMJ"><strong>API (Application Programming Interface) в контексте Telegram-бота</strong> — это набор методов, с помощью которых бот получает и отправляет данные, выполняет команды и взаимодействует с пользователями.Telegram для разработки ботов используется <strong>Telegram Bot API</strong> — HTTP-интерфейс, созданный для управления ботами.</p>
  <p id="a6Zy">Таким образом, API необходим для автоматизации различных задач: обработки сообщений, авто-ответа на сообщения и других. <strong>API — это переводчик с человеческого языка на язык, понятный боту.</strong></p>
  <p id="12O8">Всё об API можете почитать <a href="https://core.telegram.org/bots/api" target="_blank">здесь</a>. Мы же пойдём дальше.</p>
  <section style="background-color:hsl(hsl(236, 74%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="DzDW">2. Откуда взять API и что такое BotFather? </h2>
  </section>
  <p id="Hoko">Ответ на первый вопрос лежит в вопросе заголовка. Откуда же взять API? Конечно же из BotFather. Чтобы получить API, переходим по ссылочке: <a href="https://t.me/BotFather" target="_blank">https://t.me/BotFather</a>. </p>
  <figure id="1fre" class="m_column">
    <img src="https://img4.teletype.in/files/b3/95/b395a0f4-65e9-4613-944c-64ff834b26bc.png" width="594" />
  </figure>
  <p id="aKMP">Этот телеграмм-бот и называется BotFather (&quot;Отец ботов&quot; - на русский лад). Но, как мы увидим в дальнейшем, с помощью этого бота можно создавать не только ботов, но и интерактивные веб-приложения и игры. Эти функции в данном курсе мы рассматривать не будем, но, если вы проявите желание в познании этой области, то я сделаю курс на эту тематику. </p>
  <section style="background-color:hsl(hsl(236, 74%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="FiED">3. Как создать бота и получить API?</h2>
  </section>
  <p id="oqwY">Переходим по ссылке в этого телеграмм-бота. Затем пишем /start (начало) (обычно это происходит автоматически). Вам &quot;вылезет&quot; следующий ответ:</p>
  <figure id="FWzL" class="m_column">
    <img src="https://img4.teletype.in/files/f8/84/f88460a8-a936-4715-9747-e27277fdd000.png" width="807" />
  </figure>
  <p id="eaJW">Затем нам понадобится создать нового бота, так что, пишем команду /newbot (новый бот). Придумайте ему любое название. Я введу для примера MyNewBot (мой новый бот):</p>
  <figure id="Ck5P" class="m_column">
    <img src="https://img2.teletype.in/files/90/3f/903ffff0-2f78-44d9-9bd4-784e1b1c3405.png" width="787" />
  </figure>
  <p id="kJKb">Теперь вам предстоит создать username. Что это? Имя, которое будет отображаться в строке при поиске. Подобное есть и у самого BotFather (@BotFather). Я их называю &quot;ака&quot;. </p>
  <p id="UeZA"><strong>&quot;Ака&quot; подчиняется одному правилу: она обязательно должна заканчиваться на bot (бот). </strong></p>
  <p id="8C4m">Создадим и для нашего бота:</p>
  <figure id="F07J" class="m_column">
    <img src="https://img1.teletype.in/files/03/58/0358006d-9354-4dbd-8348-eea4e8f62143.png" width="797" />
  </figure>
  <p id="kx3s">После указания &quot;аки&quot; вы сможете найти бота в поиске (можете найти в том числе моего), ведь ваш новый бот создан:</p>
  <figure id="ca3S" class="m_column">
    <img src="https://img2.teletype.in/files/19/e1/19e175b4-e440-412c-b30c-0da940f27915.png" width="648" />
  </figure>
  <p id="PPCD">А теперь вернёмся к картинке выше. Когда мы создали бота, BotFather отправил нам новое сообщение, где есть такая строка: &quot;Use this token to access the HTTP API:&quot;. После этого сообщения идет код, который связан с API. Это его токен (номер, код). Это означает, что вы создали свой собственный API. </p>
  <p id="VuZj"><strong>Введём ещё одно правило: API ни в коем случае нельзя распространять.</strong></p>
  <p id="ByND">Поздравляю! Это уже второй ваш шаг к получению умения создания ботов. </p>
  <section style="background-color:hsl(hsl(236, 74%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="CFsA">4. О следующей статье</h2>
  </section>
  <p id="cW4r">В BotFather есть ещё множество функций, о которых мы поговорим в следующей статье. Например, я научу вас создавать описание вашего бота, лого и другому. Также мы посмотрим на иные функции, которые предложит нам &quot;Отец ботов&quot;. </p>
  <p id="8zxE">Всем спасибо за прочтение данной статьи. Желаю вам дальнейших успехов в изучении ботов! </p>
  <p id="zayo">А я не прощаюсь, ваш S.</p>
  <tt-tags id="klcw">
    <tt-tag name="программирование">#программирование</tt-tag>
    <tt-tag name="programming">#programming</tt-tag>
    <tt-tag name="tg">#tg</tt-tag>
    <tt-tag name="python">#python</tt-tag>
    <tt-tag name="курс">#курс</tt-tag>
    <tt-tag name="bot">#bot</tt-tag>
    <tt-tag name="api">#api</tt-tag>
  </tt-tags>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@t_csv/PY_TG_BOT_1_S</guid><link>https://teletype.in/@t_csv/PY_TG_BOT_1_S?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=t_csv</link><comments>https://teletype.in/@t_csv/PY_TG_BOT_1_S?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=t_csv#comments</comments><dc:creator>t_csv</dc:creator><title>&quot;Ботоделание&quot;. Искусство написания ботов в Python. Часть 1. О ботах в общих чертах</title><pubDate>Thu, 30 Oct 2025 05:11:15 GMT</pubDate><media:content medium="image" url="https://img4.teletype.in/files/f9/47/f9474e22-8203-4d5e-a683-5af8c6c930bf.png"></media:content><category>Программирование</category><tt:hashtag>программирование</tt:hashtag><tt:hashtag>programming</tt:hashtag><tt:hashtag>tg</tt:hashtag><tt:hashtag>python</tt:hashtag><tt:hashtag>курс</tt:hashtag><tt:hashtag>начало</tt:hashtag><tt:hashtag>bot</tt:hashtag><description><![CDATA[<img src="https://img4.teletype.in/files/72/d2/72d22577-89c6-4a6c-9575-187132471572.png"></img>Цикл статей, посвященный созданию ботов для Телеграмма на языке Python.]]></description><content:encoded><![CDATA[
  <section style="background-color:hsl(hsl(34,  84%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <blockquote id="2f3s" data-align="right"><em>Thinking about the bot as a frontend representative of your product or service can make a lot of sense, and having a delightful bot that provides a useful service can generate strong attachment to your brand.</em></blockquote>
    <p id="iEFn" data-align="right"><em><strong>Amir Shevat. </strong>Designing Bots: Creating Conversational Experiences</em></p>
  </section>
  <p id="KWSj">Аудио-подкаст к статье <a href="https://drive.google.com/file/d/1inxHXkBnwLtwLpTl8Akv2Bq5Ma6mMDYE/view?usp=sharing" target="_blank">здесь</a>.</p>
  <p id="BygC">Приветствую всех. Вы попали на <strong><a href="http://t.me/CVPiDterritory" target="_blank">территорию СВПиД</a></strong>. Что это? Это &quot;<strong>территория свободного взаимодействия программистов и дизайнеров&quot;</strong>.  Сегодня ваш ведущий: S. </p>
  <figure id="jyas" class="m_original" data-caption-align="center">
    <img src="https://img2.teletype.in/files/9c/83/9c83c3b2-0033-44b2-b50d-fecbf7d8429a.jpeg" width="640" />
    <figcaption>Символика канал Территория СВПиД</figcaption>
  </figure>
  <p id="waid">Продолжая тему ботов, которую я старался популяризировать в своём тг-канале последний месяц, я решил создать для вас серию статей. Но для начала нужно понимать, зачем эти знания вообще нужны и где их можно использовать. Какая база понадобится нам для этого курса статей. Наконец, что мы вообще будем делать.</p>
  <p id="BABs">Итак, пробежимся по содержанию статьи. Сегодня мы поговорим о:</p>
  <hr />
  <section style="background-color:hsl(hsl(236, 74%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="BltX">1. Что это за курс статей? Чему он будет посвящён? Какие его цели и задачи?</h2>
  </section>
  <p id="h4LH"><strong>Что за курс статей?</strong></p>
  <p id="ZdUM">Данный курс статей, как и сказано ранее, будет посещён телеграмм ботам, но это широкое определение. Перейдём к более узкому. Пройдя этот курс вы:</p>
  <ul id="6AIF">
    <li id="KcXj">Получите понимание о телеграмм-ботах</li>
    <li id="IGa4">Научитесь их создавать</li>
    <li id="0uUi">Получите много практики по написанию телеграмм-ботов</li>
    <li id="lb1T">Получите несколько реальных проектов для своего портфолио </li>
  </ul>
  <p id="o0uP">Курс будет основан на языке Python с использованием библиотеки <a href="https://docs.python-telegram-bot.org/en/stable/index.html" target="_blank">python-telegram-bot</a>.</p>
  <p id="VbcU">Особое внимание обратим на то, что этот курс рассчитан на то, что читатель уже будет знать язы программирования на этом языке. Если же нет, поговорим об этом в статье далее.</p>
  <hr />
  <section style="background-color:hsl(hsl(236, 74%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="codF">2. Зачем нужны телеграмм-боты? </h2>
  </section>
  <p id="UTwb">Перед тем, как ознакомиться с этой серией статей задайтесь вопросом: &quot;А зачем мне нужно уметь делать ботов?&quot; </p>
  <p id="a1tg">Существует несколько ответов на данный вопрос в зависимости от того, откуда растут руки? Рассмотрим несколько примеров:</p>
  <ol id="pbKl">
    <li id="Ynz7">Если вы бизнесмен или маркетолог, вам скорее всего необходимо постоянно общаться с клиентами. Но клиенты очень часто любят задавать похожие вопросы. Например, какая цена вашей услуги? В чём вы можете помочь? Какой у вас опыт? А также множество других вопросов. Всё это можно автоматизировать с помощью ботов;</li>
    <li id="M209">Если вы занимаетесь сбором каких-то данных, то очень часто этот процесс организуется с помощью тестов. С помощью тг-ботов очень просто сделать тест и организовать базу данных с его результатами;</li>
    <li id="CiVv">Распространение своего продукта. Представим, что вы занимаетесь продажей курсов для подготовки к тому же ЕГЭ. Неплохо бы было сделать какой-нибудь сервис, который мог бы за несколько минут дать возможность любому человеку записаться на ваш курс перед этим заплатив &quot;денежку&quot;. Поздравляю, тг-бот для этого отлично подойдёт. Многие люди так делают, и это действительно показывает высокую эффективность;</li>
  </ol>
  <figure id="ehgL" class="m_custom">
    <img src="https://img3.teletype.in/files/21/5a/215a5c8d-78f5-436a-97fd-89e0925b4ad8.webp" width="320" />
  </figure>
  <p id="S1jA">Таких примеров ещё очень много, но основной смысл понятен: тг-боты могут облегчить многие процессы. </p>
  <hr />
  <section style="background-color:hsl(hsl(236, 74%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="X3tD">3. Что нам понадобится?</h2>
  </section>
  <p id="Fd37"><strong>Во-первых</strong>, вы, дорогой читатель! Настройте себя на увлекательное путешествие, в течении которого вы получите множество полезных знаний и навыков. Не забывайте, что вы получите несколько действительно классных проектов в своё портфолио будущего программиста, бизнесмена, маркетолога или кого-то другого. Всё в ваших руках) </p>
  <p id="82IV">Я же, в свою очередь, постараюсь поддерживать и сопровождать вас в течении всего пути обучения. Поэтому заранее оставлю свои контакты. Основной контакты - это наш <a href="http://t.me/CVPiDterritory" target="_blank">телеграмм-канал</a>. Также можете писать мне <a href="http://t.me/S_E_M_H_I" target="_blank">лично</a>. </p>
  <p id="csY8"><strong>Во-вторых</strong>, для освоения курса вам понадобятся некоторые знания языка Python. Этот цикл статей имеет немного другую цель, поэтому, если вы не знаете основ языка Python, советую ознакомиться с ним. Разумеется, дорогой читатель, я подготовил для тебя несколько ссылок, которые смогут облегчить самостоятельное изучение:</p>
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="iB8R">1. Моя книга: там есть и теория, и практика по основам программирования. Смотрите первую часть: основы Python;</p>
    <figure id="MGeQ">
      <iframe src="https://t.me/CVPiDterritory/53?embed=1&userpic=1"></iframe>
    </figure>
    <p id="yBw4">2. Сайт <a href="https://metanit.com/" target="_blank">Metanit</a>: неплохой сайт, где есть вся теория по Python, а также немного практики;</p>
    <p id="QBmb">3. Сайт <a href="https://code.mu/ru/" target="_blank">Code.mu</a>: сайт, где в основном вы найдёте практику. </p>
  </section>
  <p id="XWbJ"><strong>В третьих</strong>, свободный botAPI. Я покажу, где его достать в дальнейшем. </p>
  <p id="JkNb">Вот, собственно, всё, что нам понадобится.</p>
  <figure id="sO0W" class="m_custom">
    <img src="https://img1.teletype.in/files/8e/d9/8ed9024c-f5d5-4590-9dcd-2044b7e91bc2.jpeg" width="435" />
  </figure>
  <hr />
  <section style="background-color:hsl(hsl(236, 74%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="IUjH">4. Как будем двигаться?</h2>
  </section>
  <p id="W4jd">На данный момент сложно сказать о точном содержании курса, так как я сам всё ещё продолжаю изучать телеграмм-ботов. Но приблизительно оно будет следующим:</p>
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <ol id="5WJQ">
      <li id="IDrP">Всё о BotFather;</li>
      <li id="Vs9V">Первый бот. Команды с /;</li>
      <li id="BZ4C">Работа с кнопками;</li>
      <li id="YCVs">Работа с файлами в боте;</li>
      <li id="rmeG">Сохранение данных;</li>
      <li id="OElh">Диалоги и интеграции;</li>
      <li id="d9q8">Продакшн.</li>
    </ol>
  </section>
  <p id="z17c">Список скорее всего будет меняться, но, в целом, структура останется +- такой же.</p>
  <section style="background-color:hsl(hsl(236, 74%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="RJB8">5. Обращение от автора курса</h2>
  </section>
  <p id="Zrta">Поздравляю, вы дочитали до конца. Курс будет действительно интересным и увлекательным. Тем, кто хотел бы начать в IT он тоже подойдёт, так как не включает в себя таких сложный и премудрых веще, но при здесь будут обсуждаться не такие базовые темы, как основы того или иного языка программирования.</p>
  <p id="4E7E">У вас обязательно всё получится, уж тем более с моей помощью! Желаю успехов и удачи! Ваш S.</p>
  <tt-tags id="TuYj">
    <tt-tag name="программирование">#программирование</tt-tag>
    <tt-tag name="programming">#programming</tt-tag>
    <tt-tag name="tg">#tg</tt-tag>
    <tt-tag name="python">#python</tt-tag>
    <tt-tag name="курс">#курс</tt-tag>
    <tt-tag name="начало">#начало</tt-tag>
    <tt-tag name="bot">#bot</tt-tag>
  </tt-tags>

]]></content:encoded></item></channel></rss>