Your AI powered learning assistant

Телеграм бот на Python / #2 – Базовые концепции создания бота

Начало

00:00:00

В этом уроке мы изучим основные концепции программирования telegram-ботов. Мы подключимся к боту и научимся выполнять его стандартные команды.

Создание проекта

00:00:22

Чтобы создать проект с использованием Python, вам необходимо посетить официальный веб-сайт и загрузить последнюю версию Python. Кроме того, вы можете использовать IDE, такую как PyCharm, для кодирования. Создайте новый проект и внутри него создайте новый файл для написания кода, относящегося к вашему проекту.

Подключение и настройка библиотеки

00:01:30

Чтобы подключиться и начать работать с библиотекой, мы используем ключевое слово "import" для импорта нужной библиотеки. В данном случае мы подключаем библиотеку под названием "telebot". После импорта мы создаем переменную с именем "bot" для взаимодействия с этой библиотекой. Нам также необходимо включить токен нашего бота, чтобы он функционировал должным образом.

Обработка команды «/start»

00:02:20

Обработка команды /start Для запуска бота используется команда "/start". Чтобы обработать эту команду, нам нужно написать функцию декоратора, которая принимает список команд в качестве входных данных и указывает, какие команды мы хотим обработать. В этом случае мы хотим специально обработать команду "Пуск". Затем мы создаем другую функцию, которая будет вызываться каждый раз, когда кто-то вводит команду "Пуск", и отправляем им приветственное сообщение.

Настройка непрерывного выполнения программы Чтобы обеспечить непрерывную работу нашей программы, мы настроили нашего бота в режиме нон-стоп, указав 'non_stop=True' в настройках конфигурации Polang. Это позволяет нам продолжать получать вводимые пользователем данные без перерыва.

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

Команда «/help»

00:08:20

Команда "/help" используется для получения информации о боте. При вводе этой команды отображается соответствующая информация о боте. Однако, если вместо "/help" вводятся другие команды, такие как "Start", "Main" или "Hello", они не отображают никакой конкретной информации.

Отформатированная строка

00:08:50

Метод "отправить сообщение" позволяет выводить форматированный текст, передавая дополнительный параметр под названием "parse_mode" со значением HTML. Вы можете отформатировать текст, используя HTML-теги, такие как для выделения жирным шрифтом, курсивом и подчеркиванием. Это позволяет вам улучшить внешний вид ваших сообщений.

Информация про чат и пользователя

00:09:45

В видео обсуждается, как извлечь информацию о чате и пользователе в форматированном виде. Используя параметр "сообщение", мы можем получить доступ к различным сведениям, таким как имя пользователя, логин, языковые предпочтения и т.д. Объект "сообщение" содержит всю эту информацию. Чтобы получить конкретные значения, такие как имя или username, из объекта "От пользователя" в "сообщении", мы можем использовать точечную нотацию. Мы также можем форматировать строки, заключая переменные в фигурные скобки.

Обработка текста

00:12:25

Обработка пользовательского ввода Чтобы обработать пользовательский ввод, нам нужно создать декоратор под названием "обработчик сообщений". Этот декоратор будет обрабатывать любой текст или данные, введенные пользователем. Мы можем начать с создания функции под названием "in", которая принимает один параметр, представляющий собой сообщение, содержащее всю информацию о пользователе и чате. Затем мы можем выполнять различные действия в зависимости от того, что вводит пользователь. Например, если они введут слово типа "Привет", мы можем ответить приветственным сообщением, за которым последуют их имя и фамилия.

Метод "Инструмент ответа" Другим способом отправки сообщений является использование "Инструмента ответа". Этот метод позволяет нам отправлять ответы в качестве ответов на предыдущие сообщения. Чтобы использовать этот метод, мы передаем два параметра: объект, представляющий исходное сообщение, и текст нашего ответа. При необходимости мы также можем включить дополнительную информацию в наш ответ.

Исправление ошибки

00:15:40

Метод, используемый для обработки пользовательских команд или ввода текста, вызывает ошибку. Независимо от команды или ввода текста, метод всегда выполняется. Это происходит потому, что метод обработки расположен вверху и не делает различий между командой и обычным текстом. Чтобы исправить это, мы можем переместить код для обработки текстовых вводов ниже и добавить дополнительные обработчики для определенных команд, таких как "Пуск". Другим подходом было бы включить отдельные обработчики в этот раздел специально для различных типов входных данных.

Открытие веб страницы

00:17:40

Чтобы открыть веб-страницу, мы используем команду "сайт". В этом случае мы направим пользователя на наш собственный веб-сайт. Нам нужно создать декоратор, а затем вызвать обработчик сообщений. Далее мы обрабатываем команды, связанные с открытием веб-сайтов. Для разных веб-сайтов может быть несколько команд. Чтобы открыть определенный веб-сайт в браузере, мы импортируем дополнительный модуль под названием "браузер" и используем его метод "Открыть". Например, давайте откроем it-proger.com .

Добавление команд

00:19:15

Чтобы добавить команды к нашему боту, нам нужно связаться с BotFather. Мы используем команду 'setcommands' и указываем команды в определенном формате. Сначала мы пишем название команды, затем ее описание. Например, я могу задать название команды как "веб-сайт" и описать его как "открыть веб-сайт". После нажатия клавиши Enter команда будет добавлена. Теперь всякий раз, когда я набираю '/', за ним следует символ косой черты.

Заключительная часть

00:19:55

Чтобы выполнить команду, просто нажмите клавишу Enter. Команда будет обработана и будет выполнено соответствующее действие, например, открытие веб-сайта в браузере. Это позволяет вам создать интересную функциональность для вашего бота.