<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>Ботер Бродский</title><author><name>Ботер Бродский</name></author><id>https://teletype.in/atom/boter</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/boter?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@boter?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=boter"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/boter?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-05-01T07:39:18.826Z</updated><entry><id>boter:ry0J89fNE</id><link rel="alternate" type="text/html" href="https://teletype.in/@boter/ry0J89fNE?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=boter"></link><title>Python. Урок №1</title><published>2019-02-02T05:23:55.540Z</published><updated>2019-02-02T18:11:01.000Z</updated><summary type="html">Надеюсь, ты установил Питон и попробовал написать свою первую программу, ведь сейчас я загружу тебя работой на все выходные, и мы вместе сделаем собственный калькулятор, поэтому приготовься — разбираться придётся долго.</summary><content type="html">
  &lt;p&gt;Надеюсь, ты установил Питон и попробовал написать свою первую программу, ведь сейчас я загружу тебя работой на все выходные, и мы вместе сделаем собственный калькулятор, поэтому приготовься — разбираться придётся долго.&lt;/p&gt;
  &lt;h2&gt;&lt;strong&gt;Ввод и хранение данных&lt;/strong&gt;&lt;/h2&gt;
  &lt;p&gt;В прошлый раз ты научился выводить информацию на экран с помощью функции &lt;code&gt;print&lt;/code&gt;. Тебе, наверное, хочется, чтобы пользователь мог вводить данные сам. Как это сделать? В этом нам помогут переменные и функция &lt;code&gt;input&lt;/code&gt;. Представь, что память компьютера — это стеллаж, а переменная - в честь чего-то названная полка. На этой полке могут храниться только одни материалы (&lt;em&gt;типы данных&lt;/em&gt;). В нашем случае текст (&lt;code&gt;str&lt;/code&gt;), числа (&lt;code&gt;int&lt;/code&gt;), дроби (&lt;code&gt;float&lt;/code&gt;) , а также другие, которые будем разбирать позже.&lt;/p&gt;
  &lt;p&gt;Теперь давай разберёмся как создать переменную. Первоначально её надо как-то назвать. Запомни, что имя переменной должно быть только из букв латинского алфавита (английский который), знака подчёркивания и цифр, которые не находятся в начале имени переменной! Ещё тебе нужно запомнить, что не лучшей идеей использовать зарезервированные слова языка (типа &lt;code&gt;print&lt;/code&gt;, &lt;code&gt;for&lt;/code&gt;, &lt;code&gt;while&lt;/code&gt;, &lt;code&gt;if&lt;/code&gt; и т.д.) в названии переменных (обычно, редактор сам будет это зачёркивать). Хорошим тоном будет называть переменные так, чтобы любой мог понять за что она отвечает.&lt;/p&gt;
  &lt;p&gt;Давай разберём примеры плохих и хороших переменных.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;Бро&lt;/strong&gt;: &lt;code&gt;gradus&lt;/code&gt;, &lt;code&gt;message&lt;/code&gt;, &lt;code&gt;message_2&lt;/code&gt;, &lt;code&gt;my_age&lt;/code&gt;, &lt;code&gt;_time&lt;/code&gt;, &lt;code&gt;rost_inch&lt;/code&gt;,&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;Не бро: &lt;/strong&gt;&lt;code&gt;2_message&lt;/code&gt;, &lt;code&gt;my-age&lt;/code&gt;, &lt;code&gt;время&lt;/code&gt;, &lt;code&gt;giper-proffesion@l етоГо vrem3ni 215_rus 2-98SRX AMG&lt;/code&gt; (да, это одно переменная)&lt;/p&gt;
  &lt;p&gt;Мы придумали название нашей переменной. Теперь её надо чем-то заполнить. Допустим, мы хотим в переменную &lt;code&gt;weight&lt;/code&gt; (с английского - вес) запихнуть дробь 251.4. В Питоне это делается так: &lt;code&gt;weight = 251.4&lt;/code&gt;&lt;em&gt;. &lt;/em&gt;Присвоили. Теперь попробуй вывести её. Да, &lt;code&gt;print&lt;/code&gt; работает и с переменными. Просто в скобках теперь ты пишешь не своё сообщение, а имя переменной. Например, &lt;code&gt;print(weight)&lt;/code&gt;&lt;em&gt;. &lt;/em&gt;Давай попробуем прибавить к этой переменной ещё чего-нибудь. Напишем &lt;code&gt;weight = weight + 422&lt;/code&gt; и попробуем вывести это. Заметь, присваивая значение &lt;code&gt;weight&lt;/code&gt; мы на неё же и ссылаемся. Так делать можно. Новое значение получится из сложения старого и 422, т.е 673.4. Проверь, так ли это будет.&lt;/p&gt;
  &lt;p&gt;Теперь мы хотим вводить значение по-взрослому, прямо в переменную. С клавиатуры. Сделать это можно с помощью функции &lt;code&gt;input&lt;/code&gt;. (после всего, что я буду называть функциями, нужно будет ставить скобки). Давай попробуем считать значение и вывести на 3 больше, чем мы приняли.&lt;/p&gt;
  &lt;pre&gt;a = input()
a = a+3
print(a)
&lt;/pre&gt;
  &lt;p&gt;Если ты повторишь такой же код, то у тебя вылезет ошибка. Почему? А потому что функция &lt;code&gt;input&lt;/code&gt; все введённые данные преобразует в слова (дальше будем говорить “строку”, ибо так правильнее), а сложить строку и число нельзя. Но есть выход. Если твоя строка является числом, то ты можешь использовать функцию &lt;code&gt;int&lt;/code&gt;, которая преобразует её в число (также это работает и с другими типами данных, о которых я писал выше). Просто в скобках пиши строку. Теперь первая строка твоего кода будет выглядеть так: &lt;code&gt;a = int(input())&lt;/code&gt;.&lt;/p&gt;
  &lt;h2&gt;Условные операторы&lt;/h2&gt;
  &lt;p&gt;Они позволяют менять ход твоей программы в зависимости от каких-либо условий. Вот тебе небольшая памятка, которая в будущем тебе пригодится:&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;== &lt;/strong&gt;(возвращает “правда”, если два значения равны)&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;!= &lt;/strong&gt;(возвращает “правда”, если два значения НЕ равны)&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;&amp;gt;&lt;/strong&gt; (возвращает “правда”, если значение слева больше правого)&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;&amp;lt;&lt;/strong&gt; (возвращает “правда”, если значение справа больше левого)&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;&amp;gt;=&lt;/strong&gt; (возвращает “правда”, если значение слева больше или равно правому)&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;&amp;lt;=&lt;/strong&gt; (возвращает “правда”, если значение справа больше или равно левому)&lt;/p&gt;
  &lt;p&gt;Запись условия выглядит так:&lt;/p&gt;
  &lt;pre&gt;if &amp;lt;условие&amp;gt;:
	&amp;lt;действия, если условие “правда”&amp;gt;
&lt;/pre&gt;
  &lt;p&gt;Обязательно после условия необходимо ставить “:”, и действия, выполняемые при “правдивости” условия, необходимо сдвигать на 4 пробела вправо (а лучше использовать клавишу Tab). Если условие “неправда”, то Python просто пойдёт дальше, не выполняя никаких действий. В одном &lt;code&gt;if&lt;/code&gt; вы можете указать несколько условий с помощью логических операций:&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;and &lt;/strong&gt;(“И”, возвращает “правда”, если оба условия возвращают “правда”)&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;or &lt;/strong&gt;(“ИЛИ”, возвращает “правда”, если хотя бы одно из условий возвращает “правда”)&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;not &lt;/strong&gt;(“НЕ”, возвращает “правда”, если условие возвращает “неправда”)&lt;/p&gt;
  &lt;p&gt;Если вы используете &lt;strong&gt;or&lt;/strong&gt; и &lt;strong&gt;and&lt;/strong&gt; вместе, то условия между &lt;strong&gt;and&lt;/strong&gt; необходимо обернуть в скобки.&lt;/p&gt;
  &lt;p&gt;Похоже на какой-то учебник по информатике? Ну, это он и есть! Давай разберём реальный пример, чтобы тебе было понятно. У нас есть переменная &lt;code&gt;pogoda&lt;/code&gt;, в которой храним состояние погоды и переменная &lt;code&gt;wind&lt;/code&gt;, в которой храним скорость ветра в м/c:&lt;/p&gt;
  &lt;pre&gt;if (pogoda == &amp;quot;солнечно&amp;quot; and wind &amp;lt;= 3) or (pogoda ==  &amp;quot;пасмурно&amp;quot; and wind &amp;lt;=1):
	print(&amp;quot;На улице хорошо, можешь выйти погулять&amp;quot;)
&lt;/pre&gt;
  &lt;p&gt;Для лучшего понимания советую читать это по-русски. Например, &lt;code&gt;если (погода == солнечная) или (погода == пасмурная и ветер меньше 1), то тогда выводи на экран сообщение о том, что всё хорошо.&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;Может быть такая ситуация, что мы хотим выполнить действие, которое будет происходить только в том случае, если условие &amp;quot;неправда&amp;quot;. Для этого вы можете написать &lt;code&gt;else&lt;/code&gt; и добавить необходимые действия. Пример:&lt;/p&gt;
  &lt;pre&gt;if wind &amp;lt; 4:
	print(&amp;quot;На улице слабый ветер!&amp;quot;)
else:
	print(&amp;quot;На улице сильный ветер&amp;quot;)
&lt;/pre&gt;
  &lt;p&gt;Также возможно добавление нескольких альтернативных условий с помощью &lt;code&gt;elif&lt;/code&gt;. Порядок их проверки зависит от порядка написания. Например:&lt;/p&gt;
  &lt;pre&gt;if wind &amp;gt; 4:
	print(“На улице сильный ветер”)
elif wind &amp;gt;= 0:
	print(“На улице слабый ветер”)
else:
	print(&amp;quot;Ошибка: ща бы ветер в минус уходил&amp;quot;)
&lt;/pre&gt;
  &lt;p&gt;Сначала программа проверит, имеет ли &lt;code&gt;wind&lt;/code&gt; значение больше 4. Если да, то выведет текст и пойдёт дальше, не трогая остальные условия. Если нет, то пойдёт по второму условию и т.д.&lt;/p&gt;
  &lt;h2&gt;Теперь давай напишем калькулятор?&lt;/h2&gt;
  &lt;p&gt;Вообще, ты можешь попробовать написать его сам, но сначала давай разберёмся с арифметическими операциями в Python. Для сложения и вычитания используются, как ни странно, знаки + и -, для умножения и деления * и /, для возведения в степень **, а для получения остатка %. Теперь попробуй самостоятельно написать калькулятор, который умеет складывать, вычитать, делить и умножать. Если совсем не получается, смотри код ниже:&lt;/p&gt;
  &lt;pre&gt;a1 = float(input())
a2 = float(input())
o = input()
if o == &amp;quot;+&amp;quot;:
	print(a1+a2)
elif o == &amp;quot;-&amp;quot;:
	print(a1-a2)
elif o == &amp;quot;*&amp;quot;:
	print(a1*a2)
elif o == &amp;quot;/&amp;quot;:
	print(a1/a2)
&lt;/pre&gt;
  &lt;h2&gt;&lt;strong&gt;Домашнее задание&lt;/strong&gt;&lt;/h2&gt;
  &lt;p&gt;Да-да-да. Я буду давать тебе домашнее задание, что ты мог закрепить изученный материал и найти непонятные для себя моменты. Что тебе необходимо сделать: на сайте &lt;a href=&quot;https://pythontutor.ru/&quot; target=&quot;_blank&quot;&gt;pythontutor.ru&lt;/a&gt; решить не менее 5 заданий по 1 и 2 теме. Можешь идти не по порядку, а начинать с того, что покажется наиболее простым и понятным. По прогрессу и вопросам можешь писать &lt;a href=&quot;tg://resolve?domain=askboter_bot&quot; target=&quot;_blank&quot;&gt;мне&lt;/a&gt;, я помогу разобраться. Удачи!&lt;/p&gt;

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

</content></entry></feed>