Your AI powered learning assistant

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

Введение в программирование Telegram-ботов

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

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

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

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

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

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

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

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

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

Команда /справка

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

Форматирование текста в отправляемом сообщении

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

Понимание чата и пользовательской информации

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

Обработка пользовательского ввода

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

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

Обработка различных команд

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

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

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

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

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

Выполнение команд

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