<?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://teletype.in/files/89/89fa3192-acc5-4ef0-9891-3ab994627a0d.png</url><title>Ботер Бродский</title><link>https://teletype.in/@boter</link></image><link>https://teletype.in/@boter?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=boter</link><atom:link rel="self" type="application/rss+xml" href="https://teletype.in/rss/boter?offset=0"></atom:link><atom:link rel="next" type="application/rss+xml" href="https://teletype.in/rss/boter?offset=10"></atom:link><atom:link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></atom:link><pubDate>Fri, 01 May 2026 07:39:30 GMT</pubDate><lastBuildDate>Fri, 01 May 2026 07:39:30 GMT</lastBuildDate><item><guid isPermaLink="true">https://teletype.in/@boter/ry0J89fNE</guid><link>https://teletype.in/@boter/ry0J89fNE?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=boter</link><comments>https://teletype.in/@boter/ry0J89fNE?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=boter#comments</comments><dc:creator>boter</dc:creator><title>Python. Урок №1</title><pubDate>Sat, 02 Feb 2019 05:23:55 GMT</pubDate><description><![CDATA[Надеюсь, ты установил Питон и попробовал написать свою первую программу, ведь сейчас я загружу тебя работой на все выходные, и мы вместе сделаем собственный калькулятор, поэтому приготовься — разбираться придётся долго.]]></description><content:encoded><![CDATA[
  <p>Надеюсь, ты установил Питон и попробовал написать свою первую программу, ведь сейчас я загружу тебя работой на все выходные, и мы вместе сделаем собственный калькулятор, поэтому приготовься — разбираться придётся долго.</p>
  <h2><strong>Ввод и хранение данных</strong></h2>
  <p>В прошлый раз ты научился выводить информацию на экран с помощью функции <code>print</code>. Тебе, наверное, хочется, чтобы пользователь мог вводить данные сам. Как это сделать? В этом нам помогут переменные и функция <code>input</code>. Представь, что память компьютера — это стеллаж, а переменная - в честь чего-то названная полка. На этой полке могут храниться только одни материалы (<em>типы данных</em>). В нашем случае текст (<code>str</code>), числа (<code>int</code>), дроби (<code>float</code>) , а также другие, которые будем разбирать позже.</p>
  <p>Теперь давай разберёмся как создать переменную. Первоначально её надо как-то назвать. Запомни, что имя переменной должно быть только из букв латинского алфавита (английский который), знака подчёркивания и цифр, которые не находятся в начале имени переменной! Ещё тебе нужно запомнить, что не лучшей идеей использовать зарезервированные слова языка (типа <code>print</code>, <code>for</code>, <code>while</code>, <code>if</code> и т.д.) в названии переменных (обычно, редактор сам будет это зачёркивать). Хорошим тоном будет называть переменные так, чтобы любой мог понять за что она отвечает.</p>
  <p>Давай разберём примеры плохих и хороших переменных.</p>
  <p><strong>Бро</strong>: <code>gradus</code>, <code>message</code>, <code>message_2</code>, <code>my_age</code>, <code>_time</code>, <code>rost_inch</code>,</p>
  <p><strong>Не бро: </strong><code>2_message</code>, <code>my-age</code>, <code>время</code>, <code>giper-proffesion@l етоГо vrem3ni 215_rus 2-98SRX AMG</code> (да, это одно переменная)</p>
  <p>Мы придумали название нашей переменной. Теперь её надо чем-то заполнить. Допустим, мы хотим в переменную <code>weight</code> (с английского - вес) запихнуть дробь 251.4. В Питоне это делается так: <code>weight = 251.4</code><em>. </em>Присвоили. Теперь попробуй вывести её. Да, <code>print</code> работает и с переменными. Просто в скобках теперь ты пишешь не своё сообщение, а имя переменной. Например, <code>print(weight)</code><em>. </em>Давай попробуем прибавить к этой переменной ещё чего-нибудь. Напишем <code>weight = weight + 422</code> и попробуем вывести это. Заметь, присваивая значение <code>weight</code> мы на неё же и ссылаемся. Так делать можно. Новое значение получится из сложения старого и 422, т.е 673.4. Проверь, так ли это будет.</p>
  <p>Теперь мы хотим вводить значение по-взрослому, прямо в переменную. С клавиатуры. Сделать это можно с помощью функции <code>input</code>. (после всего, что я буду называть функциями, нужно будет ставить скобки). Давай попробуем считать значение и вывести на 3 больше, чем мы приняли.</p>
  <pre>a = input()
a = a+3
print(a)
</pre>
  <p>Если ты повторишь такой же код, то у тебя вылезет ошибка. Почему? А потому что функция <code>input</code> все введённые данные преобразует в слова (дальше будем говорить “строку”, ибо так правильнее), а сложить строку и число нельзя. Но есть выход. Если твоя строка является числом, то ты можешь использовать функцию <code>int</code>, которая преобразует её в число (также это работает и с другими типами данных, о которых я писал выше). Просто в скобках пиши строку. Теперь первая строка твоего кода будет выглядеть так: <code>a = int(input())</code>.</p>
  <h2>Условные операторы</h2>
  <p>Они позволяют менять ход твоей программы в зависимости от каких-либо условий. Вот тебе небольшая памятка, которая в будущем тебе пригодится:</p>
  <p><strong>== </strong>(возвращает “правда”, если два значения равны)</p>
  <p><strong>!= </strong>(возвращает “правда”, если два значения НЕ равны)</p>
  <p><strong>&gt;</strong> (возвращает “правда”, если значение слева больше правого)</p>
  <p><strong>&lt;</strong> (возвращает “правда”, если значение справа больше левого)</p>
  <p><strong>&gt;=</strong> (возвращает “правда”, если значение слева больше или равно правому)</p>
  <p><strong>&lt;=</strong> (возвращает “правда”, если значение справа больше или равно левому)</p>
  <p>Запись условия выглядит так:</p>
  <pre>if &lt;условие&gt;:
	&lt;действия, если условие “правда”&gt;
</pre>
  <p>Обязательно после условия необходимо ставить “:”, и действия, выполняемые при “правдивости” условия, необходимо сдвигать на 4 пробела вправо (а лучше использовать клавишу Tab). Если условие “неправда”, то Python просто пойдёт дальше, не выполняя никаких действий. В одном <code>if</code> вы можете указать несколько условий с помощью логических операций:</p>
  <p><strong>and </strong>(“И”, возвращает “правда”, если оба условия возвращают “правда”)</p>
  <p><strong>or </strong>(“ИЛИ”, возвращает “правда”, если хотя бы одно из условий возвращает “правда”)</p>
  <p><strong>not </strong>(“НЕ”, возвращает “правда”, если условие возвращает “неправда”)</p>
  <p>Если вы используете <strong>or</strong> и <strong>and</strong> вместе, то условия между <strong>and</strong> необходимо обернуть в скобки.</p>
  <p>Похоже на какой-то учебник по информатике? Ну, это он и есть! Давай разберём реальный пример, чтобы тебе было понятно. У нас есть переменная <code>pogoda</code>, в которой храним состояние погоды и переменная <code>wind</code>, в которой храним скорость ветра в м/c:</p>
  <pre>if (pogoda == &quot;солнечно&quot; and wind &lt;= 3) or (pogoda ==  &quot;пасмурно&quot; and wind &lt;=1):
	print(&quot;На улице хорошо, можешь выйти погулять&quot;)
</pre>
  <p>Для лучшего понимания советую читать это по-русски. Например, <code>если (погода == солнечная) или (погода == пасмурная и ветер меньше 1), то тогда выводи на экран сообщение о том, что всё хорошо.</code></p>
  <p>Может быть такая ситуация, что мы хотим выполнить действие, которое будет происходить только в том случае, если условие &quot;неправда&quot;. Для этого вы можете написать <code>else</code> и добавить необходимые действия. Пример:</p>
  <pre>if wind &lt; 4:
	print(&quot;На улице слабый ветер!&quot;)
else:
	print(&quot;На улице сильный ветер&quot;)
</pre>
  <p>Также возможно добавление нескольких альтернативных условий с помощью <code>elif</code>. Порядок их проверки зависит от порядка написания. Например:</p>
  <pre>if wind &gt; 4:
	print(“На улице сильный ветер”)
elif wind &gt;= 0:
	print(“На улице слабый ветер”)
else:
	print(&quot;Ошибка: ща бы ветер в минус уходил&quot;)
</pre>
  <p>Сначала программа проверит, имеет ли <code>wind</code> значение больше 4. Если да, то выведет текст и пойдёт дальше, не трогая остальные условия. Если нет, то пойдёт по второму условию и т.д.</p>
  <h2>Теперь давай напишем калькулятор?</h2>
  <p>Вообще, ты можешь попробовать написать его сам, но сначала давай разберёмся с арифметическими операциями в Python. Для сложения и вычитания используются, как ни странно, знаки + и -, для умножения и деления * и /, для возведения в степень **, а для получения остатка %. Теперь попробуй самостоятельно написать калькулятор, который умеет складывать, вычитать, делить и умножать. Если совсем не получается, смотри код ниже:</p>
  <pre>a1 = float(input())
a2 = float(input())
o = input()
if o == &quot;+&quot;:
	print(a1+a2)
elif o == &quot;-&quot;:
	print(a1-a2)
elif o == &quot;*&quot;:
	print(a1*a2)
elif o == &quot;/&quot;:
	print(a1/a2)
</pre>
  <h2><strong>Домашнее задание</strong></h2>
  <p>Да-да-да. Я буду давать тебе домашнее задание, что ты мог закрепить изученный материал и найти непонятные для себя моменты. Что тебе необходимо сделать: на сайте <a href="https://pythontutor.ru/" target="_blank">pythontutor.ru</a> решить не менее 5 заданий по 1 и 2 теме. Можешь идти не по порядку, а начинать с того, что покажется наиболее простым и понятным. По прогрессу и вопросам можешь писать <a href="tg://resolve?domain=askboter_bot" target="_blank">мне</a>, я помогу разобраться. Удачи!</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@boter/rkpbMtBQ4</guid><link>https://teletype.in/@boter/rkpbMtBQ4?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=boter</link><comments>https://teletype.in/@boter/rkpbMtBQ4?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=boter#comments</comments><dc:creator>boter</dc:creator><title>Твой первый бот</title><pubDate>Wed, 23 Jan 2019 05:56:20 GMT</pubDate><description><![CDATA[<img src="https://lh3.googleusercontent.com/uj49hoXnLSeh-8-MVzqBMIKwI-ayp1plVbxUH9TJrO5JHXcoCuUZJBVJYn062Y8JvwVglPcw_cUhyjOgOyQeiHSYTt7D72hrK91ubmnia6mVONu4zE6yXtJiMj2Edx9trPNM6Kbh"></img>Наконец-то материал, который реально соответствует тематике канала. Мы будем создавать нашего первого бота, но пока без серверов, программирования и прочего гейства.]]></description><content:encoded><![CDATA[
  <p>Наконец-то материал, который реально соответствует тематике канала. Мы будем создавать нашего первого бота, <strong>но пока </strong>без серверов, программирования и прочего гейства.</p>
  <p>Сегодня мы разберёмся в основах, необходимых для понимания того, что вообще происходит.</p>
  <p>Как повезло, что именно сегодня Вахид из Махачкалы попросил меня создать ему бота. На его примере я и научу тебя делать себе такого же <a href="https://www.youtube.com/watch?v=DcIagCYKvpE" target="_blank">кайфового</a> бота.</p>
  <h2>Отец (<a href="https://t.me/BotFather" target="_blank">@BotFather</a>)</h2>
  <p>Именно здесь ты будешь регистрировать всех своих ботов. Первым делом он попросит у тебя имя, которое будет отображаться сверху бота (в любой момент его можно будет поменять). Вахид попросил нас назвать бота “Вахид Ногти Махачкала”. После этого бот предложит дать @юзернейм боту (в нашем случае - <a href="https://t.me/beauty_nails_angel_bot" target="_blank">@beauty_vahid_nails_bot</a>, его уже поменять нельзя).</p>
  <figure class="m_custom">
    <img src="https://lh3.googleusercontent.com/uj49hoXnLSeh-8-MVzqBMIKwI-ayp1plVbxUH9TJrO5JHXcoCuUZJBVJYn062Y8JvwVglPcw_cUhyjOgOyQeiHSYTt7D72hrK91ubmnia6mVONu4zE6yXtJiMj2Edx9trPNM6Kbh" width="643" />
  </figure>
  <p>Отлично! Вахиду выдали ключи от своего новенького бота (в прямом смысле). Красным цветом мы выделили <strong>токен </strong>— специальный набор символов, с помощью которого мы можем управлять нашим ботом (это как ключи от машины). Он позволяет нашей (или чужой) программе контролировать этого бота. Будь аккуратнее и никогда никому его не показывай, ведь тогда ты потеряешь власть над своим детищем.</p>
  <h2>Как вообще работают боты?</h2>
  <p>Чтобы начать что-то делать, надо понять как это работает (только если ты не &lt;имя любого политика&gt;). Как бот понимает, что мы от него хотим? Представь (или вспомни), что ты работаешь на заводе. По конвейеру к тебе едут различные предметы. Сначала ты определяешь тип этого предмета (в случае бота — текст сообщения, картинки и т.д.). Затем, в зависимости от различных свойств предмета, ты кладёшь его в определенную коробку и проверяешь по собственным критериям. Например, содержит ли сообщение слово “<strong>Хуй</strong>”. Если всё-таки содержит, то ругаешь пользователя за сквернословие (отправляешь ему сообщение с заготовленным текстом). Как ты понимаешь, объяснять боту это надо не на пальцах, а на языке программирования (об этом мы поговорим как-нибудь в другой раз). При использовании специальных конструкторов ботов все проверки за нас делает уже готовая программа, которой мы упрощённо описываем, что хочешь Вахид.</p>
  <h2>И чё дальше?</h2>
  <p>Теперь поковыряемся в самом конструкторе. Вахид сказал, что перед записью он хотел бы лично пообщаться с каждым клиентом. Не проблема! Воспользуемся конструктором</p>
  <h2>Сбор сообщений (<a href="https://t.me/LivegramBot" target="_blank">@LivegramBot</a>)</h2>
  <p>Это один из самых простых конструкторов. С его помощью мы можем создать бота, который бы собирал все сообщения и пересылал бы их нам в одно место, как <a href="https://t.me/askboter_bot" target="_blank">мой</a>. Зачем это нужно? У Вахида не будет миллиона ненужных чатов и он по-прежнему останется анонимным. Удобно? Вахиду - да.</p>
  <figure class="m_custom">
    <img src="https://lh6.googleusercontent.com/MK-umf8DH0pm3KwbZXg3kb3eRnrpxaRqKm3Jz1at1TRAhyIrI07anLxN3MHQKFDiQgiGTsd9-r1OsLYYDp8Plgh46goLw8AEhJvQctBFnuxheLBRxLy3ovKiOZr0vZvRGlAjm3Fo" width="643" />
  </figure>
  <p>Отлично! Мы дали токен Лайвграму. Теперь у него есть полный контроль над нашим ботом. Надеюсь, он будет бережно собирать сообщения Вахида.</p>
  <figure class="m_column">
    <img src="https://lh4.googleusercontent.com/B3doivJ3Gh-89aUovQUZch_qCBXaV2Zisqvpj1df2TgxEcxmdpB1Cc_lW9gfOAd4VR-yXXT2QjhrDNINgcUpMr2UjPgdt9i55xi98Iu1U9Dge-9e4EmIb1u8ADlAqPREN70SJZfn" width="1600" />
  </figure>
  <p>Это был один из примеров того, как можно по-быстрому себе намутить хоть какого-то рабочего бота. Давайте захотим что-нибудь посложнее?</p>
  <h2>Запись на приём (@ManyBot)</h2>
  <p>После запуска своего личного бота у Вахида появилось более 5 миллиардов клиенток. Естественно, что теперь Вахид не может ответить на все сообщения. Я посоветовал ему создать своего бота, который помог бы ему записывать людей на определённое время, эдакий обработчик заказов.</p>
  <figure class="m_custom">
    <img src="https://lh6.googleusercontent.com/qmlNJlsZu4ExkcSAFrzHrUecHmeDNFpE9dvhG2BvYrZ13aQrCNlFPHKeo7410-RdopieC3KUoW-eKU_VxWPfA0pkHdY7C-EyNLeCzdHN-3B5vkb4LxYZ1y7zzffA1N-G-8HB66Z2" width="643" />
  </figure>
  <p>Повторяем все те же шаги, что и в лайвграмме: добавляем <strong>токен </strong>в бота и радуемся жизни. На этом сходства заканчиваются и начинается анальная боль.</p>
  <p>Так получилось, что ManyBot хоть и довольно мощный инструмент, но до жути неудобный, поэтому мы решили сделать гифки, чтобы немного упростить понимание этой <a href="https://minecraft-ru.gamepedia.com/IndustrialCraft_2/%D0%9C%D0%B0%D1%82%D0%B5%D1%80%D0%B8%D1%8F" target="_blank">материи</a>.</p>
  <p>В отличие от Livegram, Manybot настраивается в вашем же боте, и имеет в себе <a href="https://www.youtube.com/watch?v=iA63S5f7INs&feature=youtu.be&t=97" target="_blank">хуеву тучу</a> функций и мелкую инструкцию к каждой из них.</p>
  <figure class="m_16x9">
    <iframe src="https://giphy.com/embed/7Xp38mBhIZ8RJ97uaz"></iframe>
  </figure>
  <hr />
  <p>Для начала добавим вопросы, на которые будет отвечать пользователь при создании заказа.</p>
  <figure class="m_16x9">
    <iframe src="https://giphy.com/embed/ZylyJaPyR3SeWn5gfx"></iframe>
  </figure>
  <hr />
  <p>Теперь добавим кнопку для создания заказа на главный экран пользователя.</p>
  <figure class="m_16x9">
    <iframe src="https://giphy.com/embed/2rAEWRFvbWARmQNoIE"></iframe>
  </figure>
  <hr />
  <p>После отправления юзером информации по заказу, она отправляется администраторам бота, и они могут её посмотреть. Вот так Вахид видит свои заказы:</p>
  <figure class="m_16x9">
    <iframe src="https://giphy.com/embed/uUIcB5wBGj98GkxzeS"></iframe>
  </figure>
  <hr />
  <h2>Довольный Вахид</h2>
  <p>Как вы понимаете, Вахид - это собирательный образ человека, который хочет своего бота, но ничего не понимает в них. На примере старого <a href="https://www.youtube.com/watch?v=z9ASjQE6Q2Y&index=2&list=PLtx4h9r-QEWCDY-jiLvNlK-1TXNRm_479&t=0s" target="_blank">бродяги</a>, Вахида, я показал, что не обязательно просить своих братьев написать что-то эксклюзивное. Некоторые простые задачи можно вполне себе закрыть одним из таких бесплатных решений. Сбор информации далеко не всё, что может <a href="https://t.me/ManyBot" target="_blank">@ManyBot</a>. Советую самим ознакомиться и поиграться с ним. Это довольно забавное занятие)).</p>
  <p>Одним лайвграмом и мэниботом конструкторы не ограничиваются. Есть один очень мощный проект - botmother.com, которому можно было бы посвятить не одну статью, но, как-нибудь в другой раз.</p>
  <p>Но самым лучшим решением, естественно, является собственный бот, который написан под собственные нужды.</p>
  <hr />
  <blockquote>Как делать своих ботов, не прибегая к конструкторам? <em>На каком языке лучше писать ботов? </em> <em>Как раскручивать телеграм?</em></blockquote>
  <p>Вместе разберёмся на канале <a href="https://t.me/boterbrodsky" target="_blank">@boterbrodsky</a></p>

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