Как редактировать код бота в Телеграм

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

С тех пор прошло довольно много времени, несколько раз обновлялся Telegram Bot API, и сегодня я решил продолжить свой рассказ о создании своего робота.

Вступление

Для начала немного информации для общего развития — о том, что такое клавиатура в боте и для чего она нужна.

Когда мы впервые запускаем любого бота, мы используем кнопку Start (Запуск), затем можем продолжить общение с ботом посредством команд или любых других текстовых сообщений.

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

[Eng Sub] How to make a bot in telegram | Telegram Bot

Клавиатура в боте.

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

Далее робот просто обрабатывает полученный им текст. Никакой магии. Знаю по своему опыту, что очень любят код (вру, не все) — поэтому сейчас мы приступим к его написанию.

Полагаю, прочитав мою предыдущую запись, ты сможешь установить и настроить Python3, а также создать самого простого бота, отвечающего на команду /start .

Пишем код

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

Простой бот.

Теперь определимся с тем, что будет делать наш робот.

Сделаем так: сразу после запуска бот должен отобразить пользователю клавиатуру с двумя кнопками — Шерлок Холмс и Доктор Ватсон .

Отправимся в функцию start нашего простого бота и изменим её следующим образом:

Помимо всего прочего нужно добавить from telebot import types в начало нашего файла с роботом.

Теперь объясню, что вообще здесь происходит ?

  1. С помощью types.ReplyKeyboardMarkup() мы создаём объект нашей будущей клавиатуры, в скобках прописываются нужные параметры. resize_keyboard=True позволяет клавиатуре растягиваться на необходимую высоту вместо того, чтобы занимать всё пространство.
  2. С помощью .add() мы добавляем кнопки в нашу клавиатуру. types.KeyboardButton() представляет собой объект самой кнопки, а в скобках указывается текст на ней. В коде выше я наполняю объект нашей клавиатуры объектами кнопок, заполняя их из списка [‘Шерлок Холмс’, ‘Доктор Ватсон’] (полагаю, меня крайне сложно понять сейчас, это нормально, советую прочитать статью про списки и for ).
  3. Последнее, что нужно сделать — привязать нашу клавиатуру к нужному сообщению, делается это при помощи параметра reply_markup в любом методе send_. .
Еще по теме:  Реакция птичка в Телеграм

Можно сохранить код и запустить робота.

Простая клавиатура.

Как видно, под полем для текста появились две заветные кнопки. Что дальше? Теперь нужно научить нашего робота обрабатывать сообщения, отправляемые ему после нажатия на кнопки.

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

Рассмотрим мой код выше. В функции start мы используем метод register_next_step_handler для того, чтобы следующее сообщение от нашего пользователя сразу попало бы в обработчик name (который указан вторым параметром; первый — объект отправленного нами сообщения).

В функции name мы обработаем ответ пользователя — отправим сообщения о Шерлоке Холмсе и Докторе Ватсоне.

Функция “name”.

На картинке выше я добавил сообщения, которые будут отправляться пользователю после нажатия на любую из кнопок.

Сохраним файл с нашим роботом и запустим его, не забыв заново отправить команду /start (старые кнопки уже не сработают).

Ответ бота.

Вот так бот ответит нам на нажатие на кнопку. Но замечу, что повторное нажатие ни к чему не приведет, поскольку только после команды /start бот будет проверять текст сообщения на наличие Шерлока Холмса и Доктора Ватсона.

Подведём итог: клавиатуры позволяют отправлять целые сообщения по одному лишь нажатию пользователя. В кнопки можно записывать любые текстовые фразы, даже содержащие в себе Emoji. ?

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

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

Ещё хочу добавить, что для объекта кнопки есть два интересных параметра, принимающих логические значения — request_contact и request_location . Первый запрашивает телефонный номер пользователя, а второй его местоположение. Узнать больше о параметрах и возможностях клавиатуры можно в официальной документации Telegram Bot API. Думаю, на этом часть с клавиатурами можно закончить.

Inline-режим

Так называемый Inline-режим появился у роботов в апреле прошлого года. Предлагаю для начала рассмотреть суть его работы. ?

Есть два варианта использования Inline: первый — в самом боте , в сообщениях, отправляемых ботом; второй — вне бота , где-нибудь в произвольном чате, начав набирать логин бота в поле для текстового сообщения.

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

То есть под каждым сообщением могут быть различные кнопки, выполняющие самую разнообразную работу. Например, в популярных каналах нередко используют лайки, реализованные как раз при помощи Inline-кнопок.

Inline-кнопки прикрепляются к сообщениям точно так же, как это делают клавиатуры. Отличаются лишь названия и параметры методов.

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

Да-да, Inline-кнопки способны редактировать уже отправленные нашим роботом сообщения. ?

Используем Inline-кнопки.

По порядку рассказываю, что здесь творится. ?

Сохраним наш код и запустим робота. Отправим команду /start и попробуем нажать на любую из кнопок.

Как видно, текст сообщения от бота изменился после нажатия на кнопку.

Редактируем сообщение в Inline-режиме.

Вместо callback_data можно также указать url — любой URL адрес; по нажатию на такую кнопку пользователь перейдёт в браузер.

На самом деле Inline-кнопки способны почти на всё — с помощью них можно даже отправлять обычные сообщения. Все функции и возможности описаны в Telegram Bot API. Пожалуй, это всё, что я хотел рассказать тебе о первых шагах в Inline.

Еще по теме:  Как удалить анонимный чат в Телеграмме

А теперь небольшой подарок для всех читателей моего блога — ниже я оставлю код и описание простого бота, с помощью которого можно читать книгу в формате .txt в одном-единственном сообщении ?

Робот для чтения книги ?

По команде /start этот робот отправляет первую страницу — на каждой странице по 700 символов из книги.

Бот для чтения.

С помощью стрелок ⬅️ и ➡️ можно листать страницы — текст сообщения будет изменяться вырезками по 700 символов.

Страницы книги в одном сообщении.

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

Источник: messagu.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

Как быстро и легко создать и настроить Telegram бота

KING-2000

Чтобы не терзать вас в неведении о моих успехах за 3 месяца работы, вот:

Создание бота:

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

Процесс создания бота занимает не более одной минуты.

Бот создан, но его необходимо оформить и настроить.

Тут тоже все просто. Для этого необходимо 4 команды:

  • /setuserpic — чтобы изменить аватарку бота;
  • /setdescription — чтобы изменить текст, который пользователи видят перед тем как нажать на Start;
  • /setabouttext — чтобы изменить текст внутри профиля бота;
  • /setname — чтобы изменить имя бота;

Если все же возникли трудности то вотвидеоурок

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

Сначала распишу зачем нужны команды. Они являются основой всех ботов. Вот так они будут выглядит:

Еще их можно вызвать через “слэш”.

  1. Нажимаем в меню вашего бота на команду “Пользовательские команды”
  2. Выбираем раздел “Создать команду”
  3. Отправляем название команды, например “/photo” или “/sites”
  4. Отправляем текст или/и фотографию (команду всегда можно изменить и удалить) и нажимаем сохранить. Или выбираем один из пунктов:

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

  • 1) Cобирать обратную связь
  • 2) Получать контент от пользователей
  • 3) Принимать заказы

Подключается командой “/autoposting” в вашем боте. Она позволяет автоматически копировать посты с VK, YouTube, Twitter и RSS ленты.

P.S. Для продвижения бота использовал стикер пак

Источник: mipped.com

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