background top icon
background center wave icon
background filled rhombus icon
background two lines icon
background stroke rhombus icon

Скачать "Python Telegram Bot с inline-режимом"

input logo icon
Обложка аудиозаписи
Подождите немного, мы готовим ссылки для удобного просмотра видео без рекламы и его скачивания.
console placeholder icon
Оглавление
|

Оглавление

0:00
Введение
1:30
Как будет работать бот
2:36
Для чего это нужно
3:29
Виды inline-результатов
4:18
Перейдём к разработке бота
5:17
Place holder
6:15
Python Telegram Bot
7:16
Принцип работы inline-режима
7:34
Проблемы, связанные с поиском
8:42
Что у нас есть из валют
10:34
Что будет отправлено в бота
11:00
Чем может отвечать бот
11:51
Встраиваем поиск в бота
14:00
Кеширование inline-результатов
15:50
Клик на выбранный объект
17:25
Заключение
Теги видео
|

Теги видео

python telegram bot
telegram inline bot
telegram inline mode
inline bot
python tutorial
learn python
python tutorial for beginners
telegram bot
python
создание бота телеграм python
как написать telegram бота python
телеграм бот на python
разработка на python
telegram api
как написать телеграм бота
создать телеграм бот
как написать бота
уроки программирования
уроки программирования python
pythontelegrambot
ityoutubersru
Субтитры
|

Субтитры

subtitles menu arrow
  • enАнглийский
Скачать
00:00:02
канал айти каждый день в этом видео мы
00:00:05
опять напишем телеграм бота на python
00:00:07
третьем с нуля и в этот раз наш бот
00:00:09
будет работать в онлайн режиме
00:00:11
давайте начнем с того что я покажу на
00:00:14
примере что такое онлайн режим онлайн
00:00:17
режим это когда вы не просто общаетесь в
00:00:21
личке с ботом а вы находитесь в каком-то
00:00:23
другом месте в каком-то другом канале
00:00:25
или диалоги
00:00:26
вот я нахожусь в канале и я могу
00:00:31
обратиться к боту по имени в строке
00:00:34
запроса то есть я пишу сообщение но
00:00:38
упоминаю в нем бота вот допустим возьмем
00:00:41
стандартного бота gif и бог предлагает
00:00:44
нам список
00:00:46
гифок вот это и есть онлайн режим я могу
00:00:50
что-то написать и бот будет искать гифки
00:00:56
именно с таким названием в этом виде мы
00:01:00
напишем примерно такого же бота который
00:01:02
работает примерно в таком же онлайн
00:01:04
режиме и рассмотрим список возможных
00:01:07
вложений вложение это когда вы нажимаете
00:01:11
на этот результат и это отправляется
00:01:13
видите надпись via gif то есть это
00:01:17
сообщение отправлено с помощью бота это
00:01:19
и есть онлайн режим мы не в личке бот и
00:01:22
мы в любом другом месте но при этом мы
00:01:24
можем обращаться к боту давайте я сразу
00:01:27
покажу как будет работать бот из этого
00:01:29
видео этот бот для того чтобы узнавать
00:01:33
курсы криптовалют если в строке поиска
00:01:36
ничего не введено то он предлагают все
00:01:39
доступные криптовалюты которые торгуются
00:01:41
за доллары на бирже битрикс мы можем
00:01:45
нажать и узнаем текущий курс проверите
00:01:48
это легко нужно зайти на сайт битрикса
00:01:50
и посмотреть какой курс там прямо сейчас
00:01:54
вот ее и sd и sd
00:01:59
ттх и последний цена 127 431
00:02:07
127 431 и по аналогии можно ввести
00:02:12
какое-то название и бот будет искать
00:02:17
именно монету именно с таким названием
00:02:19
примеру x max 1 доллар
00:02:33
и так для чего это нужно онлайн режим
00:02:37
будет полезен всем тем вот и которые
00:02:39
работают с какими-то поисковыми
00:02:40
запросами
00:02:41
или с какими-то генерация me то есть у
00:02:44
нас есть строка поиска куда мы можем
00:02:46
что-то ввести это может быть как
00:02:49
допустим запрос к чат-бот у
00:02:51
который где-то от работается это может
00:02:53
быть запрос к какой-то базе
00:02:57
это может быть запрос на генерацию
00:02:59
чего-то то есть допустим можно писать
00:03:02
там адрес для вызова такси можно писать
00:03:05
название курса валюты можно писать не
00:03:11
знаю блюдо в меню и так далее вот будет
00:03:15
обрабатывать запросы прислать результат
00:03:16
варианты результатов
00:03:19
множество их все можно посмотреть в доке
00:03:21
телеграм и
00:03:22
или например в библиотеке библиотеке
00:03:25
есть раздел telegram inline и все что
00:03:29
онлайн
00:03:30
gresart является теми самыми
00:03:34
результатами как например article
00:03:37
это вот этот вот текст текст и the
00:03:40
article
00:03:41
аудио cash to audio каш документ каждый
00:03:44
вп-4 gif photo стикер видео в.с.
00:03:48
контакты документы игры
00:03:51
гифки локейшн и фото видео о из что-то
00:03:57
еще все это может возвращать ваш бот по
00:04:00
запросу
00:04:01
и все это можно миксовать то есть
00:04:04
например в вашем пути может быть
00:04:07
одновременно несколько разных документ
00:04:09
документов разного типа все они будут
00:04:12
по-разному отображаться давайте перейдем
00:04:16
к разработке такого бота
00:04:17
во-первых онлайн режим необходимо
00:04:20
включить те годы которые созданы по
00:04:24
умолчанию в bat файл r имеют выключенный
00:04:27
режим онлайн
00:04:28
делается это следующим образом итак
00:04:30
обратите внимание я нахожусь и bat-файл
00:04:33
я выбираю список моих ботов и у меня
00:04:36
есть два года very cool эхо 12 таких
00:04:39
12345 бот и давайте проверим вот теперь
00:04:43
и в
00:04:44
le cul их один год отображается а второй
00:04:47
год не отображается это потому что у
00:04:50
него бот сети мтс онлайн
00:04:53
man in line мод тесея был выключен нужно
00:04:57
включить онлайн man чтобы бота можно
00:05:00
было обращаться через онлайн режим
00:05:03
делается кнопочка терн он и обратите
00:05:07
внимание здесь есть даже текст для
00:05:10
placeholder он высвечивается когда вы
00:05:12
начинаете что-то писать вот смотрите эхо
00:05:15
один бот и здесь написан этот самый
00:05:18
placeholder после этого бот появится в
00:05:24
режиме онлайн
00:05:25
аналогично для этого бота у меня уже
00:05:28
включен онлайн режим этом это можно
00:05:33
проверить через онлайн моды онлайн он
00:05:35
гений был
00:05:36
курин placeholder ну и давайте здесь
00:05:38
также напишем нормальный placeholder
00:05:41
search и вот
00:05:52
да нужно какое-то время чтобы эти данные
00:05:56
обновились теперь давайте перейдем к
00:06:02
разработке я как обычно буду
00:06:04
использовать библиотеку python
00:06:07
telegram.bot установить ее можно через
00:06:10
петрик и принц стал
00:06:12
и имя этой библиотеке я использую
00:06:16
последнюю версию 12.2
00:06:18
обратите внимание это при повторении
00:06:20
кода из этого видео итак я разбил свой
00:06:26
код на два файлика во первых я уже
00:06:31
использую коды с предыдущих видео я
00:06:34
использую класс обращение к битрикс он
00:06:36
лежит в папке office . битрикс
00:06:39
я добавил сюда метод вызова всех валют и
00:06:44
метод и метод для получения
00:06:47
курсов из списка валют нам это
00:06:51
потребуется для нашего бота и так я так
00:06:55
же надеюсь что вы уже имели дело с
00:06:56
библиотека поэта telegram.bot
00:06:58
если нет то посмотрите предыдущее видео
00:07:00
про создание бота с нуля
00:07:02
я не буду в этом видео рассказывать про
00:07:03
все все все основы мы будем
00:07:06
рассматривать только онлайн режим и как
00:07:08
его сделать в уже имеющемся боте на
00:07:11
данной библиотеки ну либо на какой-то
00:07:13
другой библиотеке и так принцип работы
00:07:17
онлайн режима в следующем что ваш бот
00:07:20
превращается в некоторую поисковую
00:07:22
строку это уже не четкая команда это
00:07:24
какой-то поиск чего-то поэтому нам
00:07:27
придется написать код который как бы
00:07:30
обрабатывает эти поисковые запросы с
00:07:34
поиском связано много проблем во первых
00:07:35
исправления опечаток
00:07:37
во вторых там какие-то популярные
00:07:40
популярные искажения может быть юзеры
00:07:44
печатают одно слово как-то совсем иначе
00:07:47
но при этом они ожидают получить
00:07:50
конкретный результат это нечеткий поиск
00:07:53
это расстояние левенштейн а и так далее
00:07:56
это даже это может быть как
00:07:58
полнотекстовый поиск как поиск потоки
00:08:01
нам превращение чисел в
00:08:03
в буквенное описание поиск по локациям и
00:08:08
так далее все это мы не будем
00:08:10
рассматривать в этом видео я предполагаю
00:08:13
что пользователь в точно знает какую
00:08:16
валюту ему нужно найти и он точно и его
00:08:20
вводят то есть он вводит допустим как
00:08:23
пример не btc об это и мы ищем это в
00:08:27
списке btc то есть мы ищем вхождению
00:08:30
введенный
00:08:32
какой-то введенный группы символов в
00:08:34
нашу предустановленный список то есть
00:08:39
принцип работы конкретно этого бота
00:08:41
будет такой у нас есть список всех
00:08:44
доступных
00:08:45
валют которые торгуются за доллары на
00:08:49
бирже битрикс мы его получаем фильтруем
00:08:52
и проверяем что то что пользователь нам
00:08:54
прислал входит в этот список хотя бы там
00:08:57
в какой-то точнее мы проходимся по этому
00:09:00
списку каждый раз отбираем то что
00:09:02
совпадает с пользовательским вводом так
00:09:04
у нас появляется вот этот вот список
00:09:07
валют который был здесь вот мы проверяем
00:09:11
мы выводим все где есть вхождение буквы
00:09:14
c или там c&c z z z ничего не нашлось c
00:09:18
я ничего не нашлось btc
00:09:22
dc вот btc ltc это c нашлось четкое
00:09:27
вхождение никаких опечаток ничего
00:09:30
упрощаем для более серьезных вводов
00:09:33
придется писать какое-то подобие поискового движка но
00:09:36
это выходит за рамки данного видео итак
00:09:42
поэтому я создал отдельный класс который
00:09:44
назвал search or этот класс имеет метод
00:09:49
пара сквере и этот методы и этот класс
00:09:53
имеет метод get prices
00:09:56
в чем суть мы подключаем наш битрикс
00:10:00
клиент и выкачиваем из него список всех
00:10:03
валют
00:10:06
причем всех валют который которые
00:10:10
основываются которые торгуются за доллар
00:10:13
это просто для примера это можно
00:10:15
переделать это точно также как за hard
00:10:17
ходит этот список но я хочу чтобы он был
00:10:19
чуть более гибкий у нас есть метод пар
00:10:24
вскоре который принимает текст текст это
00:10:27
то что пришло нам в онлайн куэрри inline
00:10:29
inline говорю это то что мы печатаем
00:10:32
после ника бота то есть вот все что мы
00:10:35
написали сейчас ffff это вот inline
00:10:38
куэрри имя бота при этом не учитывается
00:10:41
и в бота будет отправлять только вот эта
00:10:43
строчка после его не к то есть после
00:10:45
пробела вот этот метод будет сравнивать
00:10:49
что нашлось ли что-то и отдавать список
00:10:55
названий монет которые нашлись в вашем
00:11:01
случае это может быть что то еще при
00:11:03
этом это может быть даже целый список
00:11:05
констант и на каждую константу какой-то
00:11:08
свой обработчик
00:11:09
допустим команда там какие-то
00:11:11
фиксированные команды например там может
00:11:14
быть команда info
00:11:15
если вы пишете in photo вам отдается
00:11:17
одно и это всегда одно и то же если вы
00:11:20
или если вы пишете help to вам отдается
00:11:22
что-то другое это тоже должно быть где-то в этом
00:11:25
методе ну или в чем-то подобном
00:11:29
второй второй метод получает на вход
00:11:33
этот самый список найденных валют и
00:11:37
узнает их цену и отдает это все и отдает
00:11:41
это все наружу в виде теплов да и это
00:11:45
генератор ну так на всякий случай фиг бы
00:11:47
с ним теперь давайте перейдем ближе к
00:11:50
telegram.bot у у нас есть какой-то класс
00:11:54
который отвечает за поиск и вот он
00:11:56
специально лежит отдельно он не касается
00:11:58
мне как бота теперь paбoту как обычно у
00:12:04
нас есть апдейтер у которого есть
00:12:06
talkin' у которого есть контекст
00:12:08
пользователя мы печатаем информацию о
00:12:11
боте чтобы узнать что мы успешно
00:12:13
подключились вот как пример моя
00:12:15
информация
00:12:16
и мы создаем два хендлера 1 хендлер
00:12:21
принимает текст он является массаж
00:12:23
фингером
00:12:24
то он обрабатывает любые текстовые
00:12:26
сообщения и он отвечает
00:12:29
очень просто он отвечает что в личке
00:12:31
бота ничего нету что этот бот онлайн бот
00:12:34
и вот он печатает юзер нэйм бота пример
00:12:40
пример вот вот в личке бота ничего нет
00:12:47
перейдите в любой другой диалог начните
00:12:48
печатать username бота это первая часть
00:12:53
вторая часть у нас есть онлайн кори
00:12:55
finder онлайн кори хендлер импортируются
00:12:58
из телеграмм next
00:13:01
я а из просто телеграмма импортируется
00:13:04
онлайн кварире залп article
00:13:06
input текст мисочка нтент итак мы
00:13:10
добавляем свой онлайн хендлер и
00:13:13
что мы делаем мы получаем запрос
00:13:15
пользователя апдейт i'm lying very-very
00:13:19
мы приводим его к нижнему регистру
00:13:24
и обрыв и обрезаем пробелы сначала из
00:13:27
конца у нас появляется чистый поисковый
00:13:29
запрос
00:13:30
вот можете посмотреть его в моих влогах
00:13:32
это вот чистый поисковый запрос
00:13:35
и он может быть пустой и так мы
00:13:39
проверяем что нам прислали ищем цены и
00:13:45
для каждой цены создалась добавляем в
00:13:49
ответ в список список онлайн кварире
00:13:54
залп добавляем объект и объекты
00:13:58
наследники класса inline кварире залп в
00:14:02
моем случае это объекты класса онлайн
00:14:05
курили зал article
00:14:06
давайте расскажу подробнее об этом
00:14:09
объекте у этого объекта есть какой-то
00:14:11
уникальный айди он нужен для каширования
00:14:16
да сразу спойлер эти результаты могут
00:14:21
кэшировать это нужно для того чтобы два
00:14:23
одинаковых
00:14:24
поисковых запросов не приходили в вашего
00:14:27
бота то есть если вы хотите конечно же то
00:14:30
есть это время можно не задавать если
00:14:33
пользователь ввел два один два разных
00:14:35
пользователей ввели два одинаковых
00:14:36
запроса то один из них упадёт на вашу
00:14:39
работу и выполнится им то есть вернется
00:14:42
какой-то inline кварире залп вот со списком
00:14:45
ответов но на второй раз в течение этого
00:14:49
времени crash time
00:14:50
telegram не будет обращаться к вашему
00:14:52
боту то есть не будет отдавать ему такое
00:14:54
событие или присылать такой запрос по
00:14:55
верху q&a используют за кашемировый
00:14:58
нарезал результат это в принципе удобно
00:15:00
ну то есть это клёвые фишка и давайте ей
00:15:03
пользоваться ну я для своего бота
00:15:05
допустим сделать 10 секунд но это может
00:15:07
быть любое время если у вас там нет
00:15:11
никаких динамических результатов то сюда
00:15:12
можно вполне ставить там несколько минут
00:15:15
и жить спокойно и так вот айдишники они
00:15:19
во-первых должны быть уникальны и в
00:15:20
рамках одного
00:15:22
в рамках одного ответа то есть в одном
00:15:26
ответе не может быть двух одинаковых
00:15:27
айтишников поэтому я их беру как индексы
00:15:32
в массиве то есть у меня есть вот функцией энакин
00:15:35
умирает который отдает индекс текущего
00:15:37
элемента а элемент это такой тип был вот
00:15:40
я беру и считаю их там от 1 до какого-то
00:15:42
количества у этой у этого ответа есть
00:15:46
тайтл
00:15:47
тайтл это то что отображается
00:15:49
пользователю в предложенных предложенных
00:15:52
результатах вот видите ничего не нашлось
00:15:56
ничего не нашлось этот тайтл
00:15:57
а вот этот вот я сцена у вас к ? этот
00:16:01
это тоже тайтл вот этот aitl
00:16:04
а input message контент который является
00:16:08
input мы с экземпляром класса им
00:16:10
подтекст мисочка нтент
00:16:12
это та содержимое которая появится после
00:16:15
клика на данный объект
00:16:17
то есть мы допустим тыкаем и у нас
00:16:20
появляется вот такое вот сообщение ца
00:16:24
текст которого есть input message
00:16:27
контент
00:16:29
в моем случае это имя монеты и и цена и
00:16:32
там специальный знак и по аналогии я
00:16:39
добавляю еще один объект в конец списка
00:16:42
если ничего не нашлось то есть если есть
00:16:45
был поисковый запрос он не пустой но
00:16:48
список результатов пустой то я добавляю
00:16:51
в этот список 1 ответ один еще результат
00:16:55
который называют ничего не нашлось
00:16:57
ничего не нашлось по запросу и у него
00:17:01
какой-то там большой идиш ник на самом
00:17:03
деле любой в по аналогии можно добавлять
00:17:09
любые любые примеры результатов то есть
00:17:13
у меня это онлайн курили зал the article
00:17:15
но это может быть там фото-видео стикер
00:17:19
и так далее давайте я еще раз покажу как
00:17:24
это работает мы вводим что-то и вот нам
00:17:30
показывает при предложении
00:17:35
после этого мы кликаем и получаем этот
00:17:38
ответ который можно потом куда нибудь
00:17:40
форвард будет так далее ну честно говоря
00:17:45
не знаю что здесь еще можно рассказать
00:17:47
это нужно пробовать делать
00:17:48
самостоятельно
00:17:50
тема довольно непростая лучше
00:17:53
запустить этот код у себя и попробовать
00:17:56
посмотреть как он работает код как
00:17:58
обычно будет в моем репозитории ну а на
00:18:03
этом все обязательно подписывайтесь на
00:18:05
канал ставти лайки и включайте
00:18:07
колокольчики и ждите следующих видео
00:18:09
пока

Описание:

Новое видео посвящено inline-режиму в Telegram-ботах. Я расскажу что такое inline-режим, какие существуют варианты и как им пользоваться. И как обычно мы напишем простого Telegram-бота на Python 3, работающего в inline-режиме. Через этого бота можно будет запросить цену на любую криптовалюту с биржи Bittrex. Полезные ссылки: 1) Код в репозитории https://bitbucket.org/vkasatkin/tele_bot/ 2) Наш канал в Telegram: https://t.me/it_everyday 3) Наша группа ВК https://vk.com/it_everyday ------------------------------------- 0:00 - Введение 1:30 - Как будет работать бот 2:36 - Для чего это нужно 3:29 - Виды inline-результатов 4:18 - Перейдём к разработке бота 5:17 - Place holder 6:15 - Python Telegram Bot 7:16 - Принцип работы inline-режима 7:34 - Проблемы, связанные с поиском 8:42 - Что у нас есть из валют 10:34 - Что будет отправлено в бота 11:00 - Чем может отвечать бот 11:51 - Встраиваем поиск в бота 14:00 - Кеширование inline-результатов 15:50 - Клик на выбранный объект 17:25 - Заключение

Готовим варианты загрузки

popular icon
Популярные
hd icon
HD видео
audio icon
Только звук
total icon
Все форматы
* — Если видео проигрывается в новой вкладке, перейдите в неё, а затем кликните по видео правой кнопкой мыши и выберите пункт "Сохранить видео как..."
** — Ссылка предназначенная для онлайн воспроизведения в специализированных плеерах

Вопросы о скачивании видео

mobile menu iconКак можно скачать видео "Python Telegram Bot с inline-режимом"?mobile menu icon

  • Сайт http://unidownloader.com/ — лучший способ скачать видео или отдельно аудиодорожку, если хочется обойтись без установки программ и расширений. Расширение UDL Helper — удобная кнопка, которая органично встраивается на сайты YouTube, Instagram и OK.ru для быстрого скачивания контента.

  • Программа UDL Client (для Windows) — самое мощное решение, поддерживающее более 900 сайтов, социальных сетей и видеохостингов, а также любое качество видео, которое доступно в источнике.

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

mobile menu iconКакой формат видео "Python Telegram Bot с inline-режимом" выбрать?mobile menu icon

  • Наилучшее качество имеют форматы FullHD (1080p), 2K (1440p), 4K (2160p) и 8K (4320p). Чем больше разрешение вашего экрана, тем выше должно быть качество видео. Однако следует учесть и другие факторы: скорость скачивания, количество свободного места, а также производительность устройства при воспроизведении.

mobile menu iconПочему компьютер зависает при загрузке видео "Python Telegram Bot с inline-режимом"?mobile menu icon

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

mobile menu iconКак скачать видео "Python Telegram Bot с inline-режимом" на телефон?mobile menu icon

  • Вы можете скачать видео на свой смартфон с помощью сайта или pwa-приложения UDL Lite. Также есть возможность отправить ссылку на скачивание через QR-код с помощью расширения UDL Helper.

mobile menu iconКак скачать аудиодорожку (музыку) в MP3 "Python Telegram Bot с inline-режимом"?mobile menu icon

  • Самый удобный способ — воспользоваться программой UDL Client, которая поддерживает конвертацию видео в формат MP3. В некоторых случаях MP3 можно скачать и через расширение UDL Helper.

mobile menu iconКак сохранить кадр из видео "Python Telegram Bot с inline-режимом"?mobile menu icon

  • Эта функция доступна в расширении UDL Helper. Убедитесь, что в настройках отмечен пункт «Отображать кнопку сохранения скриншота из видео». В правом нижнем углу плеера левее иконки «Настройки» должна появиться иконка камеры, по нажатию на которую текущий кадр из видео будет сохранён на ваш компьютер в формате JPEG.

mobile menu iconСколько это всё стоит?mobile menu icon

  • Нисколько. Наши сервисы абсолютно бесплатны для всех пользователей. Здесь нет PRO подписок, нет ограничений на количество или максимальную длину скачиваемого видео.