Кк отвечать за бота в Телеграмме

В первой части мы сделали гороскоп на Python, который выдаёт нам прогноз на день по знаку зодиака. Сегодня пойдём дальше: теперь этот же генератор гороскопов будет встроен в Телеграм в виде бота.

Да. То, что обычно на курсах продают за 50 тысяч рублей, мы вам сейчас расскажем за 15 минут бесплатно.

Как всё будет работать

В этом проекте три звена: наш компьютер с Python, сервер Телеграма и Телеграм-клиент.

На компьютере работает интерпретатор Python, а внутри интерпретатора крутится наша программа на Python. Она отвечает за весь контент: в неё заложены все шаблоны текста, вся логика, всё поведение.

Внутри программы на Python работает библиотека, которая отвечает за общение с сервером Телеграма. В библиотеку мы вшили секретный ключ, чтобы сервер Телеграма понимал, что наша программа связана с определённым ботом.

Когда клиент с Телеграмом запрашивает у бота гороскоп, запрос приходит на сервер, а сервер отправляет его на наш компьютер. Запрос обрабатывается программой на Python, ответ идёт на сервер Телеграма, сервер отдаёт ответ клиенту. Изи:

как сделать и отвечать за бота в telegram? ответ тут!!

Телеграм-бот на Python

Обратите внимание, что работать наш бот будет только тогда, когда включён компьютер и на нём запущена программа на Python. Если компьютер выключится, пропадёт интернет или вы отключите интерпретатор, то бот работать перестанет: запросы будут приходить, но никто на них не ответит. В одной из следующих частей мы сделаем так, чтобы это всё работало на удалённом сервере и было всегда доступно.

Что будем делать

Если записать пошагово наш план, то он будет выглядеть так:

  1. Регистрируем бота в Телеграме.
  2. Устанавливаем Python-библиотеку для работы с Телеграмом.
  3. Добавляем библиотеку в программу с гороскопом и учим программу реагировать на сообщения в чате.
  4. Пишем там же код, который покажет кнопки для выбора знаков зодиака.
  5. Сделаем так, чтобы по кнопкам появлялся гороскоп для этого знака.

Теперь по очереди разберём каждый пункт.

1. Регистрация нового бота

Нажимаем Start и пишем команду /newbot. Нас по очереди спросят про название бота и его никнейм (мы придумали только с третьей попытки, потому что остальные были заняты):

2. Установка библиотеки

Есть два основных способа работать с телеграмом в Python: через библиотеку telebot и с помощью Webhook. Мы будем использовать библиотеку — так проще и быстрее.

Чтобы её установить, запускаем командную строку от имени администратора (если у вас Windows) и пишем команду pip install pytelegrambotapi

Подключаем библиотеку и получаем сообщения

Чтобы программа на Python умела управлять Телеграм-ботами, нужно в самое начало кода добавить строки:

import telebot;
bot = telebot.TeleBot(‘токен’);
Программа-гороскоп
# Подключаем модуль случайных чисел import random # Заготовка для первого предложения first = [«Сегодня — идеальный день для новых начинаний.»,»Оптимальный день для того, чтобы решиться на смелый поступок!»,»Будьте осторожны, сегодня звёзды могут повлиять на ваше финансовое состояние.»,»Лучшее время для того, чтобы начать новые отношения или разобраться со старыми.»,»Плодотворный день для того, чтобы разобраться с накопившимися делами.»] second = [«Но помните, что даже в этом случае нужно не забывать про»,»Если поедете за город, заранее подумайте про»,»Те, кто сегодня нацелен выполнить множество дел, должны помнить про»,»Если у вас упадок сил, обратите внимание на»,»Помните, что мысли материальны, а значит вам в течение дня нужно постоянно думать про»] second_add = [«отношения с друзьями и близкими.»,»работу и деловые вопросы, которые могут так некстати помешать планам.»,»себя и своё здоровье, иначе к вечеру возможен полный раздрай.»,»бытовые вопросы — особенно те, которые вы не доделали вчера.»,»отдых, чтобы не превратить себя в загнанную лошадь в конце месяца.»] third = [«Злые языки могут говорить вам обратное, но сегодня их слушать не нужно.»,»Знайте, что успех благоволит только настойчивым, поэтому посвятите этот день воспитанию духа.»,»Даже если вы не сможете уменьшить влияние ретроградного Меркурия, то хотя бы доведите дела до конца.»,»Не нужно бояться одиноких встреч — сегодня то самое время, когда они значат многое.»,»Если встретите незнакомца на пути — проявите участие, и тогда эта встреча посулит вам приятные хлопоты.»] # выводим знаки зодиака print(«1 — Овен») print(«2 — Телец») print(«3 — Близнецы») print(«4 — Рак») print(«5 — Лев») print(«6 — Дева») print(«7 — Весы») print(«8 — Скорпион») print(«9 — Стрелец») print(«10 — Козерог») print(«11 — Водолей») print(«12 — Рыбы») # Спрашиваем у пользователя про его знак zodiac = int(input(«Введите число с номером знака зодиака: «.format(blue=»33[96m», endcolor=»33[0m»))) # Если число введено верно — выдаём гороскоп if 0 < zodiac < 13: print(random.choice(first), random.choice(second), random.choice(second_add), random.choice(third)) else: print(«Вы ошиблись с числом, запустите программу ещё раз»)

Еще по теме:  Как завершить все сеансы в Телеграмме без входа

Теперь научим бота реагировать на слово «Привет». Для этого добавим после строчек с импортом новый метод и сразу пропишем в нём реакцию на нужное слово. Если не знаете, что такое метод и зачем он нужен, — читайте статью про ООП.

И последнее, что нам осталось сделать до запуска, — добавить после метода такую строчку:

Она скажет программе, чтобы она непрерывно спрашивала у бота, не пришли ли ему какие-то новые сообщения. Запускаем программу и проверяем, как работает наш бот.

Добавляем кнопки

Чтобы пользователям нашего бота было удобно, покажем им сразу все знаки зодиака в виде кнопок. А потом сделаем так, что когда на них нажимаешь — появляется гороскоп для этого знака на сегодня.

Добавляем код с кнопками в раздел, который реагирует на «Привет»:

# Готовим кнопки keyboard = types.InlineKeyboardMarkup() # По очереди готовим текст и обработчик для каждого знака зодиака key_oven = types.InlineKeyboardButton(text=’Овен’, callback_data=’zodiac’) # И добавляем кнопку на экран keyboard.add(key_oven) key_telec = types.InlineKeyboardButton(text=’Телец’, callback_data=’zodiac’) keyboard.add(key_telec) key_bliznecy = types.InlineKeyboardButton(text=’Близнецы’, callback_data=’zodiac’) keyboard.add(key_bliznecy) key_rak = types.InlineKeyboardButton(text=’Рак’, callback_data=’zodiac’) keyboard.add(key_rak) key_lev = types.InlineKeyboardButton(text=’Лев’, callback_data=’zodiac’) keyboard.add(key_lev) key_deva = types.InlineKeyboardButton(text=’Дева’, callback_data=’zodiac’) keyboard.add(key_deva) key_vesy = types.InlineKeyboardButton(text=’Весы’, callback_data=’zodiac’) keyboard.add(key_vesy) key_scorpion = types.InlineKeyboardButton(text=’Скорпион’, callback_data=’zodiac’) keyboard.add(key_scorpion) key_strelec = types.InlineKeyboardButton(text=’Стрелец’, callback_data=’zodiac’) keyboard.add(key_strelec) key_kozerog = types.InlineKeyboardButton(text=’Козерог’, callback_data=’zodiac’) keyboard.add(key_kozerog) key_vodoley = types.InlineKeyboardButton(text=’Водолей’, callback_data=’zodiac’) keyboard.add(key_vodoley) key_ryby = types.InlineKeyboardButton(text=’Рыбы’, callback_data=’zodiac’) keyboard.add(key_ryby) # Показываем все кнопки сразу и пишем сообщение о выборе bot.send_message(message.from_user.id, text=’Выбери свой знак зодиака’, reply_markup=keyboard)

Добавляем обработчик кнопок

Скорее всего, вы заметили, что в каждой кнопке у нас написано callback_data=’zodiac’ . Это значит, что при нажатии на любую кнопку у нас будет вызываться один и тот же метод, который отвечает за гороскоп. Если вы хотите сделать честный гороскоп, придётся в каждой кнопке прописать своё название обработчика, а потом задать его поведение, тоже для каждой кнопки.

Давайте сделаем обработчик кнопок, который будет реагировать на ‘zodiac’ и выдавать случайный текст, как в исходной программе. Для этого добавим новый метод в программу:

Убираем лишнее

Теперь у нас есть готовый бот, и нам осталось только убрать лишний код, который раньше отвечал за вывод знаков зодиака в консоли. После чистки получаем готовую программу:

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

Что дальше

Впереди — безграничные возможности:

  • можно сделать индивидуальный гороскоп для каждого знака;
  • научить бота новым командам;
  • присылать свежий гороскоп каждое утро;
  • наладить непрерывную работу на веб-сервере.

Напишите в комментариях, что бы вы хотели от такого бота? Что должен уметь идеальный бот с гороскопом?

Источник: thecode.media

Как создать бота в Телеграм: пошаговая инструкция

Изначально Telegram был обычным мессенджером для базовой отправки сообщений. Чуть позже он начал обрастать новыми функциями. Многим Телега начала заменять другие социальные сети и даже самые разные сервисы интернета.

Чем полезен Telegram

На сегодняшний день, Телеграм — это огромный интернет-комбайн, где можно:

  • Вести переписки, как в открытых чатах, так и в приватных (статья о секретном чате)
  • Читать новости или потреблять другой контент с помощью каналов
  • Загружать и скачивать файлы, тем более недавно появился менеджер загрузок
  • Совершать купле-продажу разных типов товаров (даже писали об этом вот тут)
  • Слушать музыку

Практически во всех вышеперечисленных случаях помогают именно боты. Например, для прослушивания музыки помогает бот, который переносит музыку из плейлистов ВКонтакте и загружает в свой канал. А при продаже товаров запускается бот, с помощью которого можно листать список товаров, класть их в корзину и оттуда оформлять покупку.

Без помощи ботов это было бы сделать очень затруднительно. Если проще, то боты в Telegram автоматизируют какое-либо действие.

Впрочем, ранее мы уже писали о популярных ботах в Телеграме вот здесь.

Создание бота в Telegram: пошаговая инструкция

поиск бота в telegram

Нажимаем «Запустить», и в ответном сообщении сразу присылается меню. Оно на английском, но ничего сложного нет.

Выбираем /newbot, далее в сообщении пишем название своего нового бота.

задаем имя бота

Далее указываем username бота, по которому его можно будет найти, обязательно чтобы юзернейм заканчивался на «bot».

Наше рабочее название будет «GTOnidzuka_bot», далее мы его переименуем. Если юзернейм занят, то выбираем другой. Также BotFather присылает уникальный ключ, подобие пароля от бота, его никому нельзя показывать.

После того выбора имени нашего бота можно найти в поиске Телеграм или зайти на него по ссылке.

поиск бота в telegram

Теперь нам доступно редактирование бота. С помощью команд можно изменить аватарку, общее название, описания и т.д. Также в боковую кнопку «Меню» можно зашить ссылку на сайт или социальную сеть.

Основные команды в BotFather:

  • /setname — изменить имя бота
  • /setdescription — изменить описание бота
  • /setuserpic — изменить аватарку бота
  • /setcommands — задать команды для бота
  • /deletebot — удалить бота

Наш бот создан и отображается в поиске, но пока еще ничего не умеет.

Еще по теме:  Как включить ириса в Телеграмме

Больше статей на схожую тематику:

  • Подробное руководство по GIF-анимации: где взять готовые гифки и как их создать самостоятельно
  • Посевы ВКонтакте: полный гайд для запуска
  • 10 советов, как написать пост в блоге, чтобы его комментировали

С помощью уникального токена и юзернейма бота можно подключить к различным сервисам и платформам.

Для нашей компании мы попробуем подключить бота через Manybot, он практически единственный позволяет пользоваться ботом для бизнеса бесплатно.

Для начала переходим на официальный сайт и пролистываем вниз страницы, где есть кнопка со ссылкой в Телеграм.

сервис для менеджемта бота

Итак, попадаем в Телегу к Manybot и там имеется русский интерфейс, что очень радует.

стартовое окно manybot

Тут нам и пригодится наш ранее скопированный ключ. Вставляем его в строку и отправляем. Далее нужно написать пару слов о том, что будет делать наш бот. У нас будет простой инфобот. Так и запишем.

подключение канала к боту

Для теста мы создали новый канал. Но если есть уже хороший раскрученный канал, то можно внедрить и его.

Чтобы у бота в нем была власть, он должен быть администратором этого канала. Заходим в канал, добавляем нашего бота и даем ему все разрешения на управление каналом.

назначение бота администратором канала

Для подключения канала к боту, нужно отправить тестовое сообщение. И да, нам пришло уведомление в канале. Простейшие функции уже работают.

Теперь мы можем настроить автопостинг, отложенный постинг и создавать другие команды.

Окей, давайте создадим парочку команд:

Первая команда будет отправлять ссылку на наши услуги. Для этого заходим в «Отца ботов», печатаем /setcommands и выбираем нашего бота. Также можно воспользоваться кнопками меню, кому как удобнее.

добавление команд для бота

В строке пишем название команды, оно может быть любым, главное на латинице и через тире пишем описание команды, у нас это «Услуги и цены», далее нажимаем «Сохранить».

добавление новой команды

Команда создана, но она пуста. Теперь ей нужно задать действие. Для этого переходим в наш бот, далее в «Пользовательские команды», среди них выбираем наш «bang» и жмем «Редактировать ответы команды».

редактирование действий команды

Сейчас нужно напечатать сообщение к команде — это как раз и есть ответное действие на ее вызов. Ранее мы решили, что при вызове команды, ответом будет ссылка на наш сайт. Поэтому просто вставляем ссылку.

добавление сообщения к команде

Теперь при вызове команды /bang, в ответе будет ссылка на наш сайт.

Заметили, что также есть кнопка «Добавить вопрос»? Это некая форма обратной связи, если его добавить, то при вызове команды пользователю будет задан этот вопрос.

Добавим нетривиальное сообщение. После отправки нашего вопроса, предложим два варианта ответа для выбора пользователя.

добавление вопроса на команду

Так выглядит итоговый результат. После того как пользователь тапнет на одну из кнопок, нам придет уведомление об ответе.

примеры кнопок в боте

А вот и новые ответы на форму:

ответы на форму

Если пользователь тапнет на «Хочу заказать услугу», то пользователя можно найти и написать ему.

Как вариант, можно добавить вопрос, на который пользователь сам ответит и будет иметь возможность прислать свой номер телефона для связи.

пример работы обратной связи

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

На этот раз добавили команды для всех подразделов нашего блога. Перед этим добавив команду /blog, она будет корневой.

Для удобства и лучшего восприятия все команды заканчиваются на blog, так как если мы решим добавить команды с услугами, будет проще в них ориентироваться.

добавление списка команд

Нравится статья? Тогда смотрите наши курсы!

  • Курс «SMMщик с нуля: от чайника до профи»
  • Мини-курс «Как продавать в соцсетях»
  • Вебинар «Контент, который продает»

Итак, у нас есть много команд, которые мы будем обрамлять в удобные кнопки меню. Но сперва «зашиваем» в команды ссылки на наши подразделы блога как это описано выше.

Для добавления кнопок жмем на «Пользовательские команды», а далее кликаем на «Настроить главное меню».

Затем нажимаем на «Добавить пункт меню». Из ранее добавленных команд выбираем доступную, задаем ей имя, которое будет отображаться и кликаем «Сохранить».

добавление пунктов меню

Таким образом мы добавили кнопки для всех основных команд. Также добавили кнопки социальных сетей и контактов.

Вот так теперь выглядит наш бот.

кнопки контактов

При переходе в социальные сети появляются их кнопки:

кнопки социальных сетей

А при переходе в блог сперва появляется опрос:

опрос в блоге

Конечно, не совсем логично, новичкам сперва бы блог почитать, но от постоянных читателей нам важен фидбек.

И далее появляются его подразделы.

подразделы блога в боте

В целом, если публиковать статьи в том же Telegraph и добавлять их в бота, то материалы можно читать, даже не выходя из Telegram.

Если зайти с другого аккаунта, бот отображается вот так:

вид бота из другого аккаунта

Наш бот подключен к тестовому каналу, через него (бота), можно отправлять сообщения пользователям. К примеру, оповещение о новой записи в блоге, например.

Для этого в главном меню бота нажимаем на «Отправить новое сообщение пользователям», печатаем наше сообщение и жмем «Отправить пост подписчикам».

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

Еще по теме:  Получить синюю галочку в Телеграм

постинг сообщений на канал

Спустя пару секунд придет уведомление о новой статье в блоге.

Также мы прикрутили автопостинг с помощью RSS-ленты. Кстати, в одной из наших статей писали, что это и как ее подключить, рекомендуем прочесть здесь.

Помимо RSS, можно подключить и Youtube.

подключение автопостинга в боте

Примеры роста кликов, конверсий, заказов и прибыли:

  • Привлечение лидов на курс SMM по 7 рублей
  • Создание, оформление и ведение сообщества ВКонтакте для туристической компании
  • Свыше 88 000 показов с ограниченным бюджетом

Так просто?

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

А если вы еще не подписаны на наш канал, то советую исправить это недоразумение. 🙂 Делимся только полезными новостями из мира SEO и интернет-маркетинга.

44

0

0

0

1

Спасибо за реакцию, она бесценна! Обязательно подпишитесь на наш Telegram-канал, публикуем много интересных и актуальных материалов. Не пользуетесь Telegram, тогда познакомьтесь с Катей и подпишитесь на нашу рассылку. ×

Источник: 1ps.ru

Инструкция по работе с BotFather ботом

BotFather – самый простой способ для регистрации, настройки и управления другими telegram-ботами. Работа с ним проста и не требует специфических навыков. С помощью BotFather можно зарегистрировать неограниченное количество новых ботов. Единственным условием для регистрации нового бота – является его уникальный username.

BotFather станет отличным решением для тех, кто не разбирается в программировании и не хочет доверять создание и управление своим ботом посторонним людям или сторонним организациям.

Как зарегистрировать нового бота с помощью BotFather?

Взаимодействие с BotFather осуществляется при помощи простых команд. Например, для того, чтобы зарегистрировать нового бота, достаточно отправить в чат команду /newbot и следовать простым инструкциям:

  1. Придумать имя бота, которое будет отображаться в чатах и контактах. В дальнейшем его можно будет сменить. Тут все зависит только от вашей фантазии и требований;
  2. Придумать username – это уже сложнее: имя должно быть уникальным и оканчиваться на «bot». Допускаются буквы латинского алфавита, цифры и символ подчеркивания (пример – «MySuper_wow_bot»). Общее количество символов не менее 5 и не более 32;
  3. Если все в порядке, то в ответ мы получим сообщение с токеном. Токен необходим для работы с Bot API посредством http-протокола. Нельзя передавать его другим и желательно не терять. Хорошим решением будет скопировать его: сохранить в текстовый файл и положить в надежное, всегда доступное место – например, облачное хранилище.

После регистрации можно приступать к облагораживанию бота: установить аватар, добавить описание и прочее.

Что умеет BotFather?

Помимо регистрации бота, с помощью BotFather можно осуществлять его настройку и управление.

Внешний вид

К примеру, если вдруг вам разонравилось имя бота, то его можно сменить командой /setname.

Установить аватарку можно командой /setuserpic, а изменить или добавить краткое описание – командой /setdescription. Изменение информации в профиле выполняется командой /setabouttext. На этом кастомизацию внешнего вида бота можно считать законченной, и можно заняться его функциональными возможностями.

Функционал

Это то, ради чего все и затевалось. Картинка и описание – это, конечно тоже важно, но все же, главное в боте – это его возможности. Возможности зависят от набора команд, которые способен обработать бот.

Для установки списка команд введите /setcommands в окне чата.

Команды вводятся без слеша, в формате «command1 — описание команды»

Вот примеры написания основных команд и их расшифровка:

  • /newbot – зарегистрировать нового бота
  • /mybots – редактировать своих ботов [бета]

Редактирование

  • /setname – изменить имя бота;
  • /setdescription – изменить описание бота;
  • /setabouttext – изменить информацию о боте;
  • /setuserpic – изменить фотографию профиля бота;
  • /setcommands – изменить список команд;
  • /deletebot – удалить бота.

Настройки бота

  • /token – генерировать токен авторизации;
  • /revoke – отозвать токен доступа к боту;
  • /setinline – включить встроенный режим (позволяет обращаться напрямую к боту из любого канала, группы или чата, написав его имя в поле отправки сообщений) (https://core.telegram.org/bots/inline);
  • /setinlinegeo – переключать запросы местоположения при использовании бота во встроенном режиме. (https://core.telegram.org/bots/inline#location-based-results);
  • /setinlinefeedback – изменить настройки обратной связи (сбор статистики наиболее часто отправляемых боту команд) (https://core.telegram.org/bots/inline#collecting-feedback);
  • /setjoingroups – определяет возможность добавления вашего бота в группы;
  • /setprivacy – переключить режим конфиденциальности в группах (https://core.telegram.org/bots#privacy-mode).

Игры

  • /mygames – редактируйте свои игры (https://core.telegram.org/bots/games) [бета];
  • /newgame – создать новую игру (https://core.telegram.org/bots/games);
  • /listgames – получить список ваших игр;
  • /editgame – редактировать игру;
  • /deletegame – удалить существующую игру.

Таким образом можно добавить любые необходимые команды и завершить настройку.

Итоги

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

Источник: botcreators.ru

Рейтинг
( Пока оценок нет )
Загрузка ...