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

Hello everyone! Since this is my first article and I do not know what and how to do, I will write as I know.

Today I would like to tell you how easy it is to make your Telegram bot in the very popular Programming Language – Python. The article will be in two parts, in the first we will install Python and all the necessary components and write the simplest bot, in the second we will write the basic logic of the bot. If you are not a beginner, you can scroll down, as there will be a lot of information familiar to you.
I will not torment with a long introduction, let’s get started!

And so the first thing we need to do is draw up a plan for our bot. The plan will include: what functions the bot and everything will perform.

How our bot will look from the user’s side:

  1. The user enters the bot and writes the command “/ start”
  2. Goes to the main bot menu
  3. User selects an action on the keyboard buttons

Fully functional boa does not need to be painted as it will take a very long time and in the future it is useless

Как создать меню в боте?

Now let’s imagine that you will see you as the Admin and Owner of this bot:

  1. You enter the bot by writing the command “/ start”
  2. You get to the main menu of the Admin panel
  3. Choose an action on the keyboard

This is where our bot plan ends, we proceed to the Python installation part.

  1. We go to the site python.org
  2. Click on the “Download” tab
  3. Scroll to the bottom and download the latest version of Python (at the moment it is Python 3.10)
  4. You will now begin installing the Python Installer. When it downloads open it and you should have a window like this:
  5. Be sure to check the box next to “Add Python 3.10 to PATH”
  6. After installation, it will be possible to disable the length limitation MAX_PATH … Linux systems do not have these restrictions. If you ignore this point, you may face a compatibility problem in the future. Code written on Linux will not run on Windows.
  7. That’s it, you now have Python

Now let’s start installing, but already the library, not the YP

If pip is not installed

  1. Download the file get-pip.py and save it on your computer.
  2. Open a command prompt and navigate to the folder where you saved get-pip.py …
  3. At the command prompt, run the command: python get-pip.py or python3 get-pip.py …
  4. PIP installed !
Еще по теме:  Что означает одна галочка в Телеграмме белая

Create a new folder where you will develop the bot

Go to the command line, go through it to the development folder and enter the command to install the aiogram library

pip install aiogram

And let’s finally get to the code:

  1. First, let’s open the Python development environment
  1. IDLE on Windows is located in the “Start“→”Python 3.10“→”IDLE“You can also quickly find it through”Search“near the menu”Start“by typing” IDLE “in the search field:
  2. IDLE has the ability to fully work with files – view, edit, create new ones. To create a new file, select “File” -> “New File” (or Ctrl + N). A new window will open:
  3. Save the file to the folder where we installed the library
  4. Everything is ready to write code

import logging # эта библиотека идет вместе с python from aiogram import Bot, Dispatcher, executor, types # импортируем aiogram
API_TOKEN = ‘ТОКЕН’ # Токен logginglogging.basicConfig(level=logging.INFO) # Initialize bot and dispatcher bot = Bot(token=API_TOKEN) dp = Dispatcher(bot)
if __name__ == ‘__main__’: executor.start_polling(dp, skip_updates=True)

That’s all, now it remains to get the bot token and insert it into the API_TOKEN variable

Getting a Token for a Bot

After these actions, you will receive a message with the bot token

We insert it into the API_TOKEN variable

That’s all! Thanks for reading, Part 2 is coming soon. Again, my Telegram is happy to welcome you. Good luck and Goodbye!

Источник: prog.world

Telegram bot кнопки — Делаем робота в Telegram

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

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

Вступление

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

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

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

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

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

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

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

Полагаю, прочитав мою предыдущую запись, ты сможешь установить и настроить 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

Интерактивность: создание inline-кнопок в телеграм-ботах с помощью Aiogram

Image

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

Image

Создание ботов с Aiogram 3: отправка текстовых кнопок, запрос номера телефона, геолокации и создание викторин.

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

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