Смена владельца Telegram-бота
В Telegram боты привязаны к личному аккаунту создателя. Именно тот кто создавал бота через специальный бот @BotFather — является его владельцем по умолчанию.
Достаточно часто возникает необходимость передать права на управление ботом. Например, если вы нанимаете стороннего специалиста или ботами занимается ваш сотрудник, то можно временно передать права на бота, чтобы другой человек мог с ним работать не привлекая вас.
Важно! Если специалист или сотрудник заканчивает работу с вашими ботами, необходимо чтобы он вернул права вам. Иначе есть риск потерять всю базу подписчиков этого бота и контроль над ботом!
Инструкция по смене владельца
❗Важно! После смены владельца вы больше не сможете управлять ботом. Новый владелец получит доступ к сообщениям бота и другим данным – и даже сможет полностью удалить бота. Передавайте права только тому, кому доверяете.
Откройте Telegram, проверьте что выбран аккаунт, который является владельцем бота. Найдите бота @BotFather. Отправьте ему команду /mybots, чтобы увидеть список ваших ботов, и выберете нужный. Далее нажмите Transfer Ownership, затем Choose recipient. Введите имя пользователя Telegram, которому передаёте права. Далее подтвердите передачу нажав на Yes, I am sure, proceed.

Двухэтапная аутентификация
Если у вас не включена двухэтапная аутентификация минимум неделю назад или вы недавно вошли в аккаунт с этого устройства, то Telegram не позволит передать права:

Для включения двухэтапной аутентификации нажмите на кнопку Задать пароль в появившемся окне:

Придумайте и повторите пароль, укажите почту для восстановления и подсказку для пароля.

Введите код, который придёт на указанный email. Нажмите Подтвердить. Двухэтапная аутентификация включена. Чтобы передать права на бота, необходимо подождать 7 дней.
Если вы не нашли ответ на свой вопрос, задайте его нам в чате внутри кабинета либо напишите на hello@bothelp.io
Получите 14 дней полного функционала платформы для создания рассылок, автоворонок и чат-ботов BotHelp.
Как узнать, кому принадлежит бот в telegram?
Недавно нашел интересного по функционалу бота в телеграме. Хотелось бы найти его разработчика, узнать побольше про бота. Можно ли каким-то образом узнать, кто создал бота в тг, зная лишь ссылку?
- Вопрос задан более года назад
- 3105 просмотров
Комментировать
Решения вопроса 0
Ответы на вопрос 1

Глаз Дурова @botprobiva
Лучший боты для деанона→ https://ok.me/33881
Методом OSINTа если только) Каких либо других способов нету.
Как запустить интернет-магазин в Telegram
В апреле Telegram представил пакет свежих обновлений. Среди них — новые возможности чат-ботов, которые теперь могут создавать полноценные интернет-магазины с витринами. Редактор ppc.world Кирилл Щедрин показывает на примере тестового чат-бота, как это может выглядеть, и разбирается, что нужно для запуска.
16K открытий
Магазины в Telegram уже были давно. Как они выглядят и насколько удобны — другой вопрос. Некоторые из них — просто каналы с ссылками, которые ведут на сайт, где уже можно сделать заказ.
Другие — боты, которые принимают оплату через мессенджер и могут в интерактивном режиме провести по каталогу. Но приятного и удобного интерфейса нет и у них.
В апреле 2022 года команда Telegram заявила, что теперь в мессенджере можно создать настоящий интернет-магазин. И что это «революционный переворот» и «выход в новое измерение».
В чем суть? Теперь разработчики Telegram-ботов могут встроить в них полноценные веб-приложения на JavaScript. Например, интернет-магазин с всплывающим интерактивным меню, по которому удобно перемещаться, добавлять товары, настраивать их количество, оформлять заказ — и всё это с адаптивным дизайном, который симпатично встроится в мессенджер.
Как это выглядит и как это реализовать — давайте разбираться.
- Как могут выглядеть Telegram-магазины сейчас
- Какие магазины в Telegram теперь стыдно показывать
- Всё ли в порядке с платежами через Telegram
- Что нужно для запуска
Как могут выглядеть Telegram-магазины сейчас
Чтобы показать возможности встроенных веб-приложений, Telegram создал бота и предложил «заказать» через него обед.
Попробуем. Находим бота Durger King и нажимаем /start.
Вызвать приложение, которое разработчики встроили в бота, можно через любую из кнопок Order Food. Создатели расположили их в двух местах — в чате и рядом с полем для сообщений. Разработчики могут разместить кнопку вызова приложения еще на клавиатуру пользователя и в меню вложений.
Нажимаем на кнопку Order Food. Открывается окно, в котором нас предупреждают, что мы запускаем приложение. Мы согласны.
Теперь можно изучить меню магазина.
Так-так, что тут у нас: сочный тако за $4, пицца (кажется, это «Пепперони») за $8, шоколадный донат за $2. Неплохо!
Меню можно листать и сворачивать, количество выбранного товара — настраивать.
Давайте посмотрим, что мы положили в корзину — нажимаем на кнопку View Order.
К заказу можно написать комментарий. Это поле пригодится, если у клиента есть дополнительные пожелания к заказу или доставке. Мы ничего сюда вводить не будем. Еще раз пробежимся по корзине.
То, что нужно! Подтверждаем заказ — после этого он сформируется и отобразится в ленте.
Теперь можно переходить к оплате.
Что можно сказать по первому впечатлению? Интерфейс выглядит лаконичным и удобным для пользователя. Хотя дизайн разработан индивидуально, он встраивается в цветовую тему Telegram, которая стоит в профиле.
Но по одному боту сложно оценить возможности, которые в целом открываются перед разработкой для бизнеса. Они шире — ограничиваются только требованиями, которые Telegram предъявляет к приложениям, и потенциалом HTML5 и Bot API.
Обновление меняет всю сущность Telegram-ботов: теперь они смогут заменить большую часть приложений. Боты в Telegram и до этого были достаточно мощным инструментом коммуникации с клиентами, но сейчас они станут еще мощнее. Их можно применять в ecommerce, сфере услуг, системе опросов или квизов, использовать различные методики геймификации — мы можем использовать нового Telegram-бота практически везде, где применяются приложения.
В условиях введения все новых ограничений в AppStore и Play Market новая технология получит сильное ускорение для своего развития. Разработчики будут как можно быстрее осваивать новое направление и заменять им классические приложения. Новый вид ботов также поможет более точно отслеживать действия аудитории за счет встраивания кода Яндекс Метрики в тело веб-приложения. Это, в свою очередь, открывает новые возможности для сбора статистики и построения рекламных кампаний на основе собранных данных, включая ремаркетинг.
Алексей Гальченко, технический директор MediaNation
Какие магазины в Telegram теперь стыдно показывать
В 2021 году Telegram запустил тестовый канал Demo Store. На его примере можно посмотреть, как работают платежи, и заодно увидеть, как до последнего обновления можно было реализовать магазин без встроенных веб-приложений.
Товары в Demo Store отображаются в ленте как обычные посты. Под описанием и изображением товара находится кнопка для оплаты. Каталога с товарами или корзины нет.
Такой каталог и корзину, правда, можно реализовать и без веб-приложений. Вот пример из 2020 года — @GHop_Bot.
Все меню с каталогом, историей заказов и корзиной построено как кастомное меню. Нажатие на кнопку отправляет команду боту в диалоге, тот обрабатывает информацию и дает ответ. Такие боты могут запоминать пользовательскую историю, поэтому хранят сведения о корзине и прошлых заказах, переводят платежи.
Минус таких ботов — магазины получаются несимпатичные. И все одинаковые.
Бот @GHop_Bot в веб-версии Telegram: одно меню наползает на другое
Страдает и удобство. Например, если вызвать каталог и выбрать категории, товары отобразятся опять-таки в несколько постов, которые не поместятся на один экран.
Такие боты несложные в реализации, и рынок все еще предлагает несколько конструкторов ботов для ecommerce, которые можно настроить без знаний в программировании.
Но со свежими обновлениями такие магазины будут выглядеть уже слишком олдскульно — в плохом смысле.
Всё ли в порядке с платежами через Telegram
В 2022 году это актуальный вопрос из-за проблем с зарубежными компаниями. Но Telegram сам по себе не платежная система, он предоставляет только платформу — как посредник между пользователями и платежными системами.
С 2021 года в мессенджере работает платформа «Платежи 2.0». Она не берет комиссии за переводы и не хранит платежные данные.
Telegram поддерживает 15 провайдеров, среди них три российских — ПСБ, Сбер и ЮMoney.
Чтобы подключить платежи, нужно создать бота. Для этого понадобится помощь разработчика. Можно попробовать создать бота самостоятельно — по инструкции Telegram.
После оформления заказа покупателю предложат выбрать способ доставки (если вы его настроите) и ввести данные своей карты или другие реквизиты. Этот алгоритм — общий для старых и новых магазинов.
Что нужно для запуска
Для создания бота-магазина понадобится разработчик. Это должен быть специалист со знанием JavaScript, ему также придется разобраться с документацией Telegram Bot API. Если обратиться во внешнюю команду разработки, приложение можно будет реализовать за пару месяцев.
Чтобы разработать такой магазин и запустить простое MVP, потребуется около 2–4 недель. Дальнейшая отладка также потребует около месяца работ в связи с тем, что это новый формат, и Front-end-разработчикам придется изучать тонкости разметки для Telegram. В остальном же специалисты агентства смогут без труда реализовать подобный магазин.
Алексей Гальченко, технический директор MediaNation
8 комментариев
Написать комментарий.
Без разработки можно запустить в TGShop. Мы так интернет-магазин одежды создали и подключили к телеграм-каналу https://t.me/MASHAGORYACHEVA_bot
Магазин бренда женской одежды MASHA GORYACHEVA
Развернуть ветку
Тоже сейчас там создаем магазин. Есть некоторые нюансы — решаем с техподдержкой (очень отзывчивая, хочется отметить).
Но под наши параметры, не нашла другой площадки
Развернуть ветку
Аккаунт удален
Развернуть ветку
Факт того, что Telegram развивается, появляются новые функции и особенности (взять ту же Premium-подписку, дающую некоторые привилегии) и т.д. – это, конечно, хорошо. Но вот возможность встраивания в мессенджер веб-приложений на JavaScript, на мой взгляд, достаточно бессмысленная.
Я не особо могу представить себе тех, кто захочет реализовать этот функционал, т.к. это долго (вы сами указали – около 2 месяцев), сложно и дорого. Исключением могут быть разве что крупные игроки на рынке. Если мы возьмем обычных чат-ботов – для их создания не нужно быть программистом и обладать особыми навыками, поскольку существуют специальные конструкторы. С их помощью любой может создать своего Telegram-бота за несколько часов бесплатно. А если у пользователя есть средства или навыки, то он, скорее всего, реализует полноценный интернет-магазин, а Telegram будет использовать просто как канал для связи с покупателями.
Отдельный сайт можно продвигать в сети множество разных способов, подключать инструменты автоматизации (в этом блоге это подробнее расписано – https://www.mtt.ru/blog/kak-avtomatizirovat-otdel-prodazh/) и т.д. А что сможет интернет-магазин в Telegram? Просто демонстрировать доступные товары и предлагать сделать заказ? Да, за счет встраивания приложения такой магазин будет выглядеть намного красивее, чем устаревший магазин в виде бота. Но кардинально это не даст ничего нового. Ну и с точки зрения покупателя – я бы вряд ли стал оформлять заказ в таком магазине, это как минимум неудобно.
Развернуть ветку
Для фуд и инсташопа на коленке пойдет, не более
Как создать бота в Telegram: большая инструкция

Бот Telegram может выполнять практически любые задачи: управлять сообществами, фильтровать сообщения в чатах, помогать регистрировать пользователей или продавать услуги. В этой статье разберемся с основами создания Telegram-ботов и напишем своего для отправки пользователю случайных комплиментов из коллекции с помощью языка программирования Python.

Освойте профессию
«Python-разработчик»
Что такое Telegram-бот?
Telegram — популярный мессенджер, позволяющий пользователям обмениваться сообщениями, видео, музыкой и файлами. Блогеры используют сервис для публикации своего контента, а бизнес — чтобы продавать товары и услуги. Кроме всего прочего, в Telegram есть возможность создавать собственных ботов — программы внутри мессенджера, автоматизирующие общение. У каждого бота есть уникальное имя, поэтому его можно легко найти в строке поиска Telegram. Также ботов можно добавлять в чаты и каналы, чтобы они выполняли роль модератора или администратора. С недавних пор Telegram-боты могут быть полноценными веб-приложениями с собственным пользовательским интерфейсом.
Python-разработчик
Освойте Python, самый популярный язык программирования
3 075 ₽/мес 6 150 ₽/мес

Какими бывают боты в Telegram
Возможности ботов ограничены только фантазией и навыками разработчиков, поэтому компании активно используют их для ежедневных задач.
Боты для автоматизации задач

Например, при помощи телеграм-бота можно автоматизировать запись на услуги в салон или к врачу и разгрузить администраторов. Бот может принять заявку в любое время суток, в выходные и праздники, а также и перенести информацию о записи в календарь компании.
Боты для продвижения и продаж
Бот может отвечать на вопросы клиентов, предлагать промокоды, рассказывать о новых продуктах. Telegram-бот здесь может взять на себя функцию социальных сетей, email-рассылки и продавца-консультанта.
Чатбот поможет в форме непринужденной беседы подвести клиента к покупке вашего продукта. Источник
Боты для общения и развлечения

Telegram-боты нужны не только для того, чтобы продавать. Они также могут помочь выбрать кино на вечер, предложить забавный тест или сгенерировать мем. Например, студенты Skillfactory разработали для Московского зоопарка Telegram-бот, который имитирует общение с манулом Тимофеем и предлагает поучаствовать в викторине.
Конструкторы для настройки ботов
Для создания простых ботов можно использовать сервисы-конструкторы. С их помощью получится реализовать наиболее частые сценарии использования: ответы на вопросы, выдачу информации по запросу и обработку данных пользователя. Такие сервисы не требуют знания программирования, их можно освоить за несколько часов. Популярные конструкторы для создания ботов Telegram: Manybot — сервис для создания ботов с помощью сообщений в чате. Подойдет для самых простых сценариев использования. У Manybot есть встроенная реклама и нет возможности отключить ее с помощью подписки; botmother — редактор ботов, который умеет работать не только с Telegram, но и с другими популярными мессенджерами. Есть возможность обрабатывать медиа, файлы и обращаться к сторонним сервисам. PuzzleBot — мощный конструктор, позволяющий создать бота практически любой сложности и без единой строчки кода. При этом важно понимать основы программирования: переменные, циклы и условия. Есть премиальная версия по подписке.

Станьте разработчиком на Python и решайте самые разные задачи: от написания кода до автоматизации процессов
Какие технологии нужны, чтобы создать чат-бота в Telegram с нуля?
Если от бота нужны нестандартные сценарии использования или в проекте важно полностью контролировать поведение и обработку данных, то без программирования не обойтись. У Telegram открытое API с хорошей документацией, поэтому ботов можно разрабатывать практически на любом языке программирования, но удобнее использовать для этого уже готовые библиотеки. Разработчики Telegram активно развивают мессенджер, поэтому от библиотеки важно, чтобы она обновлялась так же часто и поддерживала все новшества сервиса. Ботов чаще всего пишут на Python из-за простоты и удобства этого языка. Для Python существуют следующие библиотеки для ботов Telegram: aiogram — комплексная библиотека с отличной документацией, поддержкой и активным сообществом. Есть русскоязычное сообщество разработчиков, которое поможет с трудностями и ответит на вопросы. Библиотека aiogram поддерживает асинхронность, работу с машиной состояний и рассчитана на разработку сложных ботов с большим количеством ежедневных пользователей. Сейчас у aiogram две активные версии, и лучше сразу выбирать версию 3.0, которая пока находится в бете, но работает стабильно. Библиотека подразумевает глубокие знания Python и опыт в программировании, поэтому может быть сложной для начинающих; telebot (pyTelegramBotAPI) — библиотека для простых ботов с небольшим количеством пользователей, поддерживающая работу с основными методами Telegram API. С telebot сложнее организовать асинхронность и управлять большой нагрузкой, но новичкам в разы легче и приятнее с ней работать.
Читайте также Полезные библиотеки для Python: чем пользуются разработчики
В статье мы будем использовать библиотеку telebot и писать код на Python, поэтому нам понадобится редактор кода. Сейчас разработчики в основном используют один из двух редакторов: Visual Studio Code — бесплатный редактор кода от компании Microsoft с задатками полноценной среды разработки. VS Code можно использовать практически с любыми языками программирования и технологиями. Для этого компания предусмотрела маркетплейс плагинов, расширяющих возможности редактора. VS Code полностью бесплатный и доступен для Windows, macOS и Linux. PyCharm — полноценная среда разработки на Python от компании JetBrains. Более тяжеловесная, чем VS Code, и включает в себя дополнительные инструменты для профессиональной работы над большими проектами. Есть как бесплатная версия, так и продвинутая по подписке. Для разработки даже самых сложных ботов хватит возможностей бесплатной версии PyCharm.
Как создать своего бота в Telegram
Разработка Telegram-бота начинается с его создания в мессенджере. Для этого команда сервиса предусмотрела специального бота BotFather, через которого осуществляется управление другими ботами пользователя. Важно отметить, что BotFather доступен только под этим именем и оснащен синей галочкой верификации. Найти его можно через строку поиска или по ссылке.
После перехода в BotFather нажимаем на кнопку «Начать». В чат придет сообщение со списком всех команд, доступных в боте. Так как мы создаем нового бота, то нам нужна команда `/newbot`. Ее можно выбрать из списка или ввести с клавиатуры и отправить в чат.
После этого BotFather попросит ввести название бота, которое пользователи будут видеть в его профиле и списке своих чатов. Оно может быть любым, но должно передавать суть бота и его возможности. Мы разрабатываем бота для комплиментов, так его и назовем — «Комплименты».
Теперь нашему боту надо задать имя пользователя, по которому его можно будет найти в Telegram. В этом случае уже есть несколько правил оформления:
- имя бота должно заканчиваться словом `bot`: к примеру, `SuperBot` или `super_bot`. Это обязательное требование Telegram, чтобы пользователи могли отличать обычные профили от ботов. Исключение делается только для внутреннего BotFather, имя которого начинается с ключевого слова, а не заканчивается им;
- имя бота должно быть уникальным, а учитывая, что многие создают ботов ради эксперимента и не удаляют их, то найти подходящий свободный вариант может быть проблематично.
Исходя из всего этого, подбираем звучное имя, состоящее из ключевых слов, которые бы точно описывали его суть. Для экспериментов можно использовать просто набор символов. В нашем случае имя `compliment_bot` уже было занято, поэтому использовали `super_compliment_bot`. Получилось слишком длинно, но отражает суть.
После регистрации BotFather передаст нам токен для доступа к нашему боту и подскажет ссылки на официальную документацию по разработке ботов для Telegram. Важно запомнить, что токен надо держать в секрете. С его помощью можно полностью управлять ботом и сообщениями, которые он отправляет. Посторонние лица, не имеющие отношения к разработке вашего бота, не должны его знать.

Оформление бота
Бот создан, и его можно найти в строке поиска Telegram или по ссылке. Но в таком виде пользователю будет очень сложно понять, для чего нужен бот и какие задачи он выполняет. Поэтому оформим его, добавив описание, иконку и приветственное изображение.

Для этого опять откроем BotFather, введем команду `/mybots` и выберем из списка только что созданного бота. Перед нами откроется меню управления ботом.

Коротко о каждом пункте меню:
API Token — можно узнать токен, если потеряли его. Также можно отозвать имеющийся токен и сгенерировать новый, если кто-то все же узнал его и перехватил на себя управление ботом;
Edit Bot — меню редактирования бота, в котором можно изменить имя, добавить описание, иконку, приветственное изображение и команды;
Bot Settings — тут можно выдавать боту права на взаимодействия с сообщениями в групповых чатах и каналах, добавлять кнопки и включить инлайн-режим;
Payments — бот может принимать платежи, к примеру, можно предлагать его функции по подписке или продавать через него товары. В этом пункте меню можно подключить платежную систему для обработки платежей и банковский счет. Есть поддержка российских платежных систем;
Transfer Ownership — бот принадлежит пользователю, который его создал, но права на владение и управление можно передать с помощью этого пункта меню;
Delete Bot — если бот больше не нужен, то его можно удалить, освободив список свободных уникальных имен.
У нашего бота пока есть только название. Теперь зададим ему описание, которое будет видно в окне его профиля. Для этого в меню бота выбираем Edit Bot → Edit About и присылаем в чат короткое описание. После зададим расширенное описание, выводящееся в чате новым пользователям. Переходим в Edit Bot → Edit Description и присылаем текст.
Для узнаваемости боту надо установить иконку, которую будет видно в списке чатов пользователя. Для иконок есть ограничения:
- формат файла должен быть jpg или png;
- квадратное изображение не меньше 300×300px и не больше 1280×1280px. Лучше всего использовать изображения размером 500×500px;
- изображение надо отправить BotFather в виде фото, а не файла.
Также боту можно задать изображение с описанием его возможностей. Его будут видеть новые пользователи при переходе в чат. Можно использовать картинки размером 640×360px или гифки 320×120px/640×360px. На таком изображении можно тезисно указать возможности бота и оставить QR-код с ссылкой на сайт компании или разработчика для пользователей, которые используют настольную версию Telegram.
Иконку бота можно задать, перейдя в Edit Bot → Edit Botpic, а изображение-описание — Edit Bot → Edit Description Picture. После настройки наш Telegram-бот выглядит так:

Начинаем программировать
Теперь у нас есть готовый оформленный бот, который ничего не умеет. Если открыть и запустить бота командой `/start` или кнопкой, то ничего не произойдет. Поэтому надо его оживить и научить обрабатывать сообщения от пользователя. Наш бот будет присылать в чат случайный комплимент из собственной коллекции.
Сперва надо установить среду разработки. В этой статье будем использовать PyCharm от JetBrains. Скачать установочный файл можно с официального сайта разработчика. Скачать и установить Python можно с официального портала. Проверить установленную версию Python можно с помощью следующей команды:

При создании бота мы будем в основном работать с библиотекой telebot. Поэтому ее надо установить. Заходим в PyCharm и создаем новый проект с названием `bot`. PyCharm создаст необходимое окружение, в котором мы установим библиотеку. Для этого надо открыть вкладку Terminal в редакторе кода и ввести команду `pip install pyTelegramBotAPI` для Windows или `pip3 install pyTelegramBotAPI` для macOS.
В папке проекта должен был автоматически появиться файл `main.py`. Если этого не произошло, то создаем его сами. Теперь научим нашего бота здороваться. Для этого в файле `main.py` импортируем `telebot`, создадим переменную `token` с нашим токеном и передадим его экземпляру бота.
import telebot # Импортируем telebot token = ('Ваш токен') bot = telebot.TeleBot(token)
Теперь создадим хендлер для обработки команды `/start`. Хендлер (Heandler) или обработчик — функция, которая вызывается в ответ на наступление определенного события. В случае с Telegram хендлер запускает функцию при получении сообщения.
В самом хендлере создадим функцию `start_message` с текстом сообщения, которым бот будет отвечать на полученную команду. Нам нужно бесконечное выполнение кода, чтобы бот работал всегда и был доступен в любое время суток. Поэтому завершим все строкой `bot.polling(none_stop=*True*, interval=0)`, которая будет запускать бесконечное выполнение.
import telebot # импортируем telebot # передаём значение переменной с кодом экземпляру бота token = ('Ваш токен') bot = telebot.TeleBot(token) # хендлер и функция для обработки команды /start @bot.message_handler(commands=['start']) def start_message(message): bot.send_message(message.chat.id, "Привет ✌️") # бесконечное выполнение кода bot.polling(none_stop=True, interval=0) Встроить код
Сейчас можно попробовать запустить код в PyCharm и открыть бота в Telegram. Если отправить ему команду `/start`, то он ответит сообщением, которое мы передали ему в коде. Бот работает, значит, можно наращивать его возможности.

Сейчас токен бота находится в одном файле с его кодом. Такой подход можно применять в разработке, но если надо будет поделиться кодом с кем-то или опубликовать его на GitHub, то токен надо будет удалять и тратить на это время. А еще можно просто забыть удалить токен, и тогда безопасность бота будет под вопросом.
Поэтому создадим в папке проекта файл `secrets.py` и в файле инициализируем словарь с ключом `BOT_API_TOKEN` и самим токеном в виде значения ключа.
secrets = Встроить код
Теперь вернемся к файлу `main.py`, импортируем словарь из файла `secrets.py` и сделаем так, чтобы токен подтягивался из файла, а не находился в коде.
import telebot # импортируем telebot from secrets import secrets # импортируем словарь с токеном из файла secrets.py # передаём значение переменной с кодом экземпляру бота token = secrets.get('BOT_API_TOKEN') bot = telebot.TeleBot(token) # хендлер и функция для обработки команды /start @bot.message_handler(commands=['start']) def start_message(message): bot.send_message(message.chat.id, "Привет ✌️") # бесконечное выполнение кода bot.polling(none_stop=True, interval=0)
Снова запускаем код и проверяем. Бот продолжает отвечать на команду `/start`, но в его коде уже нет токена. Поэтому можно спокойно делиться файлом `main.py` и не бояться за безопасность.
Разработчики могут встраивать кнопки для удобного общения с Telegram-ботами. Воспользуемся этой возможностью и создадим несколько кнопок для автоматической отправки команд. Нам потребуется определение типов сообщений, поэтому для этого импортируем `types` из `telebot`. Часть с импортами в коде будет выглядеть так:
import telebot # импортируем telebot from secrets import secrets # импортируем словарь с токеном из файла secrets.py from telebot import types # для определения типов
Теперь перепишем хендлер для обработки команды `/start`. Он будет не только отправлять приветственное сообщение, но и инициализировать кнопки бота. В нашем боте две кнопки: «Старт» будет выводить краткую инструкцию по использованию бота, а «Комплимент» — присылать приятное сообщение из коллекции. Сами кнопки украсим эмодзи.
Вместе с этим заменим текст приветственного сообщения. Будем обращаться к пользователю по имени. Мы не можем знать имен всех пользователей, но их знает Telegram, поэтому спросим у него с помощью конструкции « . Весь код хендлера выглядит так:
# хендлер и функция для обработки команды /start @bot.message_handler(commands=['start']) def start_message(message): markup = types.ReplyKeyboardMarkup(resize_keyboard=True) start_button = types.KeyboardButton(" Старт") action_button = types.KeyboardButton(" Комплимент") markup.add(start_button, action_button) bot.send_message(message.chat.id, text="Привет, \nВоспользуйся кнопками".format(message.from_user), reply_markup=markup)

Бот обзавелся красивыми кнопками, но если попробовать нажать на них, то ничего не произойдет. Исправим это, дописав функции для ответа. Кнопка в Telegram просто отправляет в чат то, что на ней написано. Поэтому надо научить бота анализировать полученные сообщения и отвечать на сообщения-триггеры.
Для начала создадим коллекцию комплиментов в отдельном файле `compliments.py`:
compliments = ('Выглядишь лучшее всех!', 'Сегодня будет замечательный день!', 'Ты обязательно всё сможешь!', 'Я не встречал людей добрее тебя!', 'С тобой приятно проводить время!',)
После этого импортируем файл и модуль для работы со случайными числами:
import random # для выбора случайного комплимента from compliments import compliments # коллекция комплиментов
Теперь можно приступать к созданию хендлера для обработки кнопок. В условии будем отслеживать, какой текст пришел от пользователя. Если встречаем « Старт», то выводим краткое описание возможностей, если « Комплимент» — присылаем случайное сообщение из коллекции. На все остальные сообщения будем отвечать просьбой воспользоваться кнопками. Весь код хендлера выглядит так:
# хендлер для обработки нажатий кнопок @bot.message_handler(content_types=['text']) def buttons(message): if (message.text == " Старт"): bot.send_message(message.chat.id, text="Я могу поддержать тебя и поднять настроение. Просто попроси об этом") elif (message.text == " Комплимент"): bot.send_message(message.chat.id, text=f"") else: bot.send_message(message.chat.id, text="Я могу отвечать только на нажатие кнопок")

Бот готов, исправно работает, отвечает на сообщения и присылает в чат случайные комплименты из собственной коллекции, а его полный код выглядит так:
import telebot # импортируем telebot from secrets import secrets # словарь с токеном из файла secrets.py from telebot import types # для определения типов import random # для выбора случайного комплимента from compliments import compliments # коллекция комплиментов # передаём значение переменной с кодом экземпляру бота token = secrets.get('BOT_API_TOKEN') bot = telebot.TeleBot(token) # хендлер и функция для обработки команды /start @bot.message_handler(commands=['start']) def start_message(message): # создаём кнопки бота markup = types.ReplyKeyboardMarkup(resize_keyboard=True) start_button = types.KeyboardButton(" Старт") action_button = types.KeyboardButton(" Комплимент") markup.add(start_button, action_button) # приветсвенное сообщение для команды /start bot.send_message(message.chat.id, text="Привет, \nВоспользуйся кнопками".format(message.from_user), reply_markup=markup) # хендлер для обработки нажатий кнопок @bot.message_handler(content_types=['text']) def buttons(message): if (message.text == " Старт"): bot.send_message(message.chat.id, text="Я могу поддержать тебя и поднять настроение. Просто попроси об этом") elif (message.text == " Комплимент"): bot.send_message(message.chat.id, text=f"") else: bot.send_message(message.chat.id, text="Я могу отвечать только на нажатие кнопок") # бесконечное выполнение кода bot.polling(none_stop=True, interval=0)
А полное дерево файлов в проекте выглядит так:
. └── bot/ ├── main.py ├── secrets.py └── compliments.py
Сейчас бот работает только в том случае, если код запущен на компьютере. Поэтому пользователи не могут получить к нему постоянный доступ. Для этого надо арендовать виртуальный сервер, загрузить на него код бота и запустить. В таком случае бот будет доступен в любое время и не будет зависеть от компьютера разработчика.
Как добавить функционал и настроить ответы для бота в Телеграме?
Это можно сделать в конструкторе или прописать при помощи кода. В последнем случае нужно создать бота в Telegram, а затем написать ему серверную часть: код, который при нажатии на определенную кнопку будет высылать конкретный ответ. Для этого нужно создать кнопки, библиотеку ответов и хендлеры, которые организуют связь между действиями пользователя и ответами бота.
Как опубликовать и запустить бота в Телеграме?
Чтобы бот заработал, нужно разместить написанный код на арендованном сервере и создать бот в мессенджере. Код будет отвечать за связь сервера с чатом в Telegram.
Как продвигать и увеличить популярность своего бота в Телеграме?
Расскажите о своем боте на сайте, в социальных сетях и в email-рассылке. Для тестового периода лучше привести в бот теплую аудиторию, которая вас уже знает и читает. Они могут попробовать бот, написать вам об ошибках. После этого можно заняться платной рекламой: купить ее у Telegram или обратиться к блогерам.
На каком языке лучше написать бота?
На любом, который вы знаете. Ботов можно писать на Python, C, Java. Чаще всего для этой задачи выбирают Python, потому что он прост в использовании.
Python-разработчик
Освойте Python с нуля. Подготовим к трудоустройству: дадим много практики, реальные проекты для портфолио, поможем с резюме. Лучшие студенты пройдут стажировки в проектах компаний-партнеров.
