Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Погрузитесь в захватывающий мир уникальных героев, строительства цитадели и три в ряд битв! Откройте новые горизонты в жанре РПГ.

Время Героев: Три в ряд RPG

Три в ряд, Мидкорные, Приключения

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • Animalrescueed Animalrescueed 36 постов
  • Oskanov Oskanov 7 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
user8505343
user8505343
1 год назад

Урок №13. Выгрузка проекта на сервер⁠⁠

Урок №13. Выгрузка проекта на сервер Python, Программирование, IT, Telegram, Программа, Telegram бот, Бот, Чат-бот, Windows, Длиннопост

В данном уроке мы научимся выгружать свой проект на сервер gethub.com.

Регистрация gethub.

Для начала заходим на gethub.com и регистрируемся на сайте. После нажимаем на свою иконку и выбираем your repositories. Пишем название своего проекта и нажимаем на create repository.

Урок №13. Выгрузка проекта на сервер Python, Программирование, IT, Telegram, Программа, Telegram бот, Бот, Чат-бот, Windows, Длиннопост

Теперь у вас появляется личный аккаунт на gethub.

Подключение и выгрузка проекта на gethub.

Чтобы подключить свой проект к gethub нам нужно зайти в pycharm, и сверху tool и выбрать get repository. После вас перекинет на сайт где вы должны войти в свой gethub. Далее у вас появится сверху git. Нажимаем на git и выбираем commit.

Урок №13. Выгрузка проекта на сервер Python, Программирование, IT, Telegram, Программа, Telegram бот, Бот, Чат-бот, Windows, Длиннопост

Далее в появившимся окне нажимаем на push.

Урок №13. Выгрузка проекта на сервер Python, Программирование, IT, Telegram, Программа, Telegram бот, Бот, Чат-бот, Windows, Длиннопост

Возвращаемся на сайт gethub и видим наш появившийся файл на сайте.

Урок №13. Выгрузка проекта на сервер Python, Программирование, IT, Telegram, Программа, Telegram бот, Бот, Чат-бот, Windows, Длиннопост

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

Итоги.

На этом наши уроки по созданию telegram бота закончены. Теперь вы умеете создавать telegam бота на двух разных библиотеках и уже можете делать ботов под заказ. Можете подключать систему оплаты и различные кнопки.

Что будет дальше?

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

Показать полностью 4
Python Программирование IT Telegram Программа Telegram бот Бот Чат-бот Windows Длиннопост
6
6
user8505343
user8505343
1 год назад

Урок №12. Подключение системы оплаты в telegram боте⁠⁠

Урок №12. Подключение системы оплаты в telegram боте IT, Python, Программирование, Telegram, Telegram бот, Бот, Программист, Чат-бот, Windows, Длиннопост, Telegram (ссылка)

В этом уроке мы добавим платежную систему для оформления платежей внутри нашего telegram бота.

Интеграция системы оплаты.

Для подключения системы оплаты мы должны перейти в BotFather и прописать команду /mybots. За счет этой команды мы можем выполнить редактирование наших ботов. Выбираем нашего бота. Тут мы можем узнать токен нашего бота, отредактировать его и так далее. Нас же интересует такая кнопка, как Payments, то есть настройка платежей в боте.

Урок №12. Подключение системы оплаты в telegram боте IT, Python, Программирование, Telegram, Telegram бот, Бот, Программист, Чат-бот, Windows, Длиннопост, Telegram (ссылка)

Telegram позволяет настроить сразу несколько различных систем оплаты для вашего бота. Также важно, что для настройки какой-либо систем платежей вы должны быть зарегистрированы в самой этой системе. Я буду регистрировать такую систему как ЮKassa. Если мы хотим подключить основную систему оплаты, то заходите на сайт ЮKassa, в организации и вводите свои данные, и буквально через 1 день вам пришлют договор с подписанием контракта с ЮKassa. Мы же пока подключим с вами тестовый магазин в нашем боте. Для этого в BotFather мы выбираем ЮKassa.

Урок №12. Подключение системы оплаты в telegram боте IT, Python, Программирование, Telegram, Telegram бот, Бот, Программист, Чат-бот, Windows, Длиннопост, Telegram (ссылка)

Теперь если у вас уже подключена основная система оплаты, то нажимаем на кнопку Connect ЮKassa Live. В моем случае я подключаю тестовый магазин, поэтому нажимаю на кнопку Connect ЮKassa Test. Далее нас перебрасывает в бота юкассы. Нажимаем кнопку start. Далее бот нас просит отправить ему идентификатор нашего магазина. Бот сформирует вам его и останется только переслать это число ему в ответ. Далее он попросит скинуть ваш shopArticleId, который он также сам сгенерирует. После чего ЮKassa зарегистрирует ваш тестовый магазин в BotFather.

Урок №12. Подключение системы оплаты в telegram боте IT, Python, Программирование, Telegram, Telegram бот, Бот, Программист, Чат-бот, Windows, Длиннопост, Telegram (ссылка)

Теперь возвращаемся в BotFather, где уже зарегистрирована наша платежная система. Он выводит нам токен, по которому м теперь сможем проводить оплату.

Урок №12. Подключение системы оплаты в telegram боте IT, Python, Программирование, Telegram, Telegram бот, Бот, Программист, Чат-бот, Windows, Длиннопост, Telegram (ссылка)

Импортируем токен в программу

Добавляем наш токен в файл token.csv, где у нас уже храниться token нашего бота. Сохраняем его в переменную, например, PAYMENT_TOKEN.

Урок №12. Подключение системы оплаты в telegram боте IT, Python, Программирование, Telegram, Telegram бот, Бот, Программист, Чат-бот, Windows, Длиннопост, Telegram (ссылка)

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

Создание счета (invoice).

  • Давайте теперь напишем код, за счет которого мы будем высылать invoice пользователю. По сути это будет счет для оплаты и при нажатии на специальную кнопку, пользователь будет переходить на систему оплаты и выполнить платеж. Давайте будет отправлять пользователю счет для оплаты, когда нам будет приходить такая команда, как /pay. Так как в прошлом уроке мы работали с библиотекой aiogram, чтобы закрепить то, что мы узнали, продолжим работать на ней.
    Мы обращаемся к диспетчеру (то есть объекту dis), затем обращаемся к message_handler() и также указываем commands = ['pay']. Затем мы должны создать функцию, например, payment. В функции мы указываем параметр message и указываем тип этого параметра. Для этого ставим двоеточие, затем указываем types и тип этого параметра, то есть message. Теперь давайте отправим счет нашему пользователю. Для этого прописываем await bot.send_invoise. Данная функция принимает много параметров, давайте разберемся в них.
    Первым параметром передаем message.chat.id.

  • Title, где указываем название нашего товара.

  • Description - в нем мы пишем описание к нашему товару.(является не обязательным в передаче)

  • Provider_token, тут же мы обращаемся к нашему csv файлу и берем из него PAYMENT_TOKEN.

  • Currency необходимо передать трехзначный код валюты в формате ISO 4217. Полный список валют можно найти здесь.

  • Photo_url мы должны передать ссылку на наше фото(является не обязательным в передаче)
    Если вы добавили фото, то нужно указать параметры photo_height и photo_width, иначе изображение либо вообще не отобразится, либо отобразится некорректно.

  • Is_flexible отвечает за то, что финальная цена зависит от способа доставки (когда передаем True). При значении False этот параметр можно не писать.

  • Prices принимает массив из цен, поэтому передаем туда [price]. Переменную price мы напишем чуть позже.

  • Start_parameter является обязательным, документация утверждает, что можно использовать уникальный диплинкинг параметр, чтобы создать эту квитанцию.

  • Payload. Объем 1-128 байт. Рекомендуется использовать его для того чтобы идентифицировать инвойсы - он не показывается пользователю, но мы можем его прочитать при получении успешной оплаты.

Сейчас при запуске у нас будет выдаваться ошибка, так как у нас неизвестная переменная price. Давайте создадим ее. Для этого перед диспетчером мы пишем переменную price, куда должны указать цену товара. Мы обращаемся к types, к LabeledPrice(). Далее в label мы указываем название товара, а в amount передаем стоимость.
ВАЖНО! Нужно передавать целочисленное значение в минимально возможных единицах валюты. То есть если мы говорим о рублях, то передавать нужно копейки (123руб. как 123* 100).

Урок №12. Подключение системы оплаты в telegram боте IT, Python, Программирование, Telegram, Telegram бот, Бот, Программист, Чат-бот, Windows, Длиннопост, Telegram (ссылка)

Теперь при запуске бота и отправке команды /pay, нашему пользователю будет отправляться счет на оплату.

Урок №12. Подключение системы оплаты в telegram боте IT, Python, Программирование, Telegram, Telegram бот, Бот, Программист, Чат-бот, Windows, Длиннопост, Telegram (ссылка)

Сообщение пользователю после оплаты.

Теперь давайте будет отправлять сообщение пользователю после того, как он оплатит покупку. Для этого обращаемся к диспетчеру, далее обращаемся к message_handler. Указываем content_types и в качестве значение передаем types.ContentType.SUCCESSFUL_PAYMENT. Это означает, что наш метод будет срабатывать только в случае, если будет выполняться успешная оплата.
Далее в нем мы создаем асинхронную функцию и в ней отправляем некое сообщение пользователю.

1/2

Также если вы не хотите долго ждать, то все уроки и коды с уроков уже есть в моем telegram канале.

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

Показать полностью 10
IT Python Программирование Telegram Telegram бот Бот Программист Чат-бот Windows Длиннопост Telegram (ссылка)
3
4
user8505343
user8505343
1 год назад

Урок №11. Веб-приложение в Telegram боте⁠⁠

В этом уроке мы добавим полноценное веб-приложение в нашего Telegram бота.

Создание веб-приложения в боте.

Давайте сначала отслеживать команду /start. Именно при команде /start мы будем показывать пользователю кнопку, по нажатию на которую откроется веб-приложение. Чтобы отследить команду /start, мы используем функцию message_handler и указываем, что обрабатываем команду /start. Затем мы создаем асинхронную функцию, например, start, и здесь принимаем один параметр message с типом message. Далее создаем кнопку, создавая объект markup, затем обращаясь к types и вызывая ReplyKeyboardMarkup(). Затем добавляем нашу кнопку с помощью markup.add и types.KeyboardButton. Пишем текст нашей кнопки, например, 'Веб-приложение'. Здесь мы также указываем параметр web_app, передавая ему WebAppInfo в качестве значения. Для подключения этого нам нужно обратиться к библиотеке aiogram.types.web_app_info и импортировать из нее WebAppInfo. В WebAppInfo нужно указать адрес сайта, который откроется при нажатии на кнопку. Мы создадим наш сайт позже, а пока укажем ссылку на канал Дзен.

1/2

При нажатии на кнопку открывается мини-веб-приложение, на котором можно нажимать кнопки. Если на сайте есть система оплаты, мы также можем здесь произвести оплату.

Урок №11. Веб-приложение в Telegram боте Программирование, IT, Telegram, Python, Программа, Программист, Чат-бот, Windows, Telegram бот, Бот, Длиннопост, Telegram (ссылка)

Создание своей страницы.

Теперь создадим свою собственную веб-страницу, которая откроется при нажатии на кнопку. Для этого внутри проекта нужно создать HTML-файл, который мы попробуем отобразить в веб-приложении в Telegram боте. Внутри HTML-файла прописываем стандартную HTML-разметку и основное содержимое нашей страницы(данную разметку можно найти в моем Telegram канале: https://t.me/CodeCashh).

Урок №11. Веб-приложение в Telegram боте Программирование, IT, Telegram, Python, Программа, Программист, Чат-бот, Windows, Telegram бот, Бот, Длиннопост, Telegram (ссылка)

Затем, чтобы наша страница отображалась в веб-приложении, нам нужно выгрузить эту страницу на локальный сервер. Если у вас уже есть свой веб-сайт, вы можете добавить файл в папку вашего сайта и просто указать ссылку на этот файл. Если же у вас, как в моем случае, нет своего веб-сайта, мы воспользуемся GitHub. Регистрируемся на сайте, затем нажимаем на свою иконку и выбираем "Your repositories".

Урок №11. Веб-приложение в Telegram боте Программирование, IT, Telegram, Python, Программа, Программист, Чат-бот, Windows, Telegram бот, Бот, Длиннопост, Telegram (ссылка)

Вводим название нашего сайта, затем через точку указываем "github.io". Ставим галочку на "Add a README file" и создаем проект.

Урок №11. Веб-приложение в Telegram боте Программирование, IT, Telegram, Python, Программа, Программист, Чат-бот, Windows, Telegram бот, Бот, Длиннопост, Telegram (ссылка)

После создания нажимаем "Add file" -> "Upload files" и добавляем наш HTML-файл. Затем он появляется в нашем проекте.

Урок №11. Веб-приложение в Telegram боте Программирование, IT, Telegram, Python, Программа, Программист, Чат-бот, Windows, Telegram бот, Бот, Длиннопост, Telegram (ссылка)

Далее заходим в папку "README.md", нажимаем "Edit this file" и добавляем наш HTML-код.

Урок №11. Веб-приложение в Telegram боте Программирование, IT, Telegram, Python, Программа, Программист, Чат-бот, Windows, Telegram бот, Бот, Длиннопост, Telegram (ссылка)

Сохраняем файл. Затем переходим в настройки и нажимаем "Pages". В пункте "Branch" указываем направление, где лежат наши файлы, и нажимаем "Save".

Урок №11. Веб-приложение в Telegram боте Программирование, IT, Telegram, Python, Программа, Программист, Чат-бот, Windows, Telegram бот, Бот, Длиннопост, Telegram (ссылка)

Теперь GitHub отправит ссылку на наш сайт, по которой откроется наша веб-страница.

Урок №11. Веб-приложение в Telegram боте Программирование, IT, Telegram, Python, Программа, Программист, Чат-бот, Windows, Telegram бот, Бот, Длиннопост, Telegram (ссылка)

Копируем ссылку на наш сайт и вставляем ее в Python-файл. Затем запускаем наш проект и заходим в Telegram бота. При нажатии на кнопку откроется наша веб-страница.

Урок №11. Веб-приложение в Telegram боте Программирование, IT, Telegram, Python, Программа, Программист, Чат-бот, Windows, Telegram бот, Бот, Длиннопост, Telegram (ссылка)

Стиль веб-приложения я сделаю в telegram канале.

Также если вы не хотите долго ждать, то все уроки и коды с уроков уже есть в моем telegram канале.

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

Показать полностью 11
Программирование IT Telegram Python Программа Программист Чат-бот Windows Telegram бот Бот Длиннопост Telegram (ссылка)
0
user8505343
user8505343
1 год назад

Урок №10. Изучение библиотек для создания ботов aiogram⁠⁠

Урок №10. Изучение библиотек для создания ботов aiogram Python, Программирование, IT, Telegram бот, Telegram, Бот, Программист, Windows, Чат-бот, Длиннопост, Telegram (ссылка)

В этом уроке мы изучим базовые аспекты работы с библиотекой aiogram.

Зачем изучать еще одну библиотеку?

У вас, наверное, возник вопрос, зачем нам изучать библиотеку aiogram, если мы уже можем создавать ботов с помощью telebot. Дело в том, что умение работать сразу с несколькими библиотеками позволит вам лучше понять построение ботов, а также в случае заказа telegram ботов, некоторые заказчики могут попросить написать бота определенной библиотеке. При изучении еще одной библиотеки вы убедитесь, насколько они схожи, и что изучение новой библиотеки не займет у вас много времени.

Установка и настройка aiogram.

Для работы с библиотекой aiogram ее необходимо сначала установить. Для этого совершите следующие действия: File -> Settings -> Project: (ваш проект) -> Python Interpreter -> над словом "package" нажмите на + -> в поиске введите название библиотеки aiogram -> Install Package.

Урок №10. Изучение библиотек для создания ботов aiogram Python, Программирование, IT, Telegram бот, Telegram, Бот, Программист, Windows, Чат-бот, Длиннопост, Telegram (ссылка)

Теперь, когда библиотека установлена, мы можем ее подключить. Вместо полного подключения библиотеки, я предлагаю подключить только определенные классы, которые нам понадобятся. Для этого мы импортируем из библиотеки aiogram такие классы, как Bot, Dispatcher, executor и types. Затем нам нужно создать объект bot, который будет ссылаться на наш токен в telegram. Для этого мы создаем бота и обращаемся к Bot, а в качестве значения указываем наш токен. Также, чтобы бот корректно работал, нам нужно воспользоваться классом Dispatcher. Создаем объект, например, dis, где обращаемся к Dispatcher, и устанавливаем нашу переменную bot. Теперь мы можем работать с нашим ботом. Также давайте в самом низу пропишем то, что наша команда будет работать постоянно. Для этого нам необходимо обратиться к executor и вызвать start_polling, куда передаем наш объект dis. Это будет базовым синтаксисом для настройки бота.

Урок №10. Изучение библиотек для создания ботов aiogram Python, Программирование, IT, Telegram бот, Telegram, Бот, Программист, Windows, Чат-бот, Длиннопост, Telegram (ссылка)

Отслеживание команд.

Давайте для начала отследим команду /start. Для этого мы прописываем почти один и тот же синтаксис. Мы обращаемся к диспетчеру (то есть объекту dis), затем обращаемся к message_handler() и также указываем commands = ['start']. Затем мы должны создать функцию, например, start, и здесь будет использоваться принцип асинхронности, поэтому перед функцией мы должны прописать ключевое слово async. Также перед всеми действиями, которые вы будете выполнять, нужно прописывать await. В функции мы указываем точно такой же параметр message и указываем тип этого параметра. Для этого ставим двоеточие, затем указываем types и тип этого параметра, то есть message. Теперь давайте выведем сообщение пользователю. Сначала мы прописываем await, затем обращаемся к bot.send_message(), указываем message.chat.id, а затем в фигурных скобках пишем наше сообщение пользователю.

Урок №10. Изучение библиотек для создания ботов aiogram Python, Программирование, IT, Telegram бот, Telegram, Бот, Программист, Windows, Чат-бот, Длиннопост, Telegram (ссылка)

Если запустить бота и нажать кнопку /start, то все будет работать корректно.

Урок №10. Изучение библиотек для создания ботов aiogram Python, Программирование, IT, Telegram бот, Telegram, Бот, Программист, Windows, Чат-бот, Длиннопост, Telegram (ссылка)

Типы получаемых данных.
Также, как и ранее, если мы внутри диспетчера напишем не commands = ['start'], а, например, content_types = ['photo'], то наш бот будет отвечать только тогда, когда ему будут отправлять фотографию.

1/2

То же самое будет происходить, если мы в content_types пропишем video - наш бот будет отслеживать видео, если audio - аудио, если text - текст.

Отправка файлов.

Чтобы отправить нашему пользователю какой-либо файл в ответ на его сообщение, мы сначала открываем файл с помощью функции open, затем асинхронно прописываем message.answer_ и выбираем тип файла, который мы хотим отправить пользователю.

1/2

Можно заметить, что библиотеки для создания ботов очень схожи.

Создание кнопок inline.

Теперь давайте создадим функцию, которая будет отслеживать наши кнопки. Для этого обращаемся к диспетчеру, далее обращаемся к message_handler() и здесь прописываем commands = ['text']. То есть, когда мы напишем текст, то наши кнопки будут срабатывать. Далее прописываем async, потом прописываем функцию, например, second, и тут мы указываем также параметр message и его тип types. Для создания кнопок мы будем делать почти все то же самое. Мы прописываем markup, далее обращаемся к types, и если мы делаем встроенные кнопки, то обращаемся к InlineKeyboardMarkup(). Далее для добавления кнопок я пишу markup.add и внутри обращаемся к types.InlineKeyboardButton. Здесь мы указываем текст, который будет на наших кнопках. Например, создадим кнопку на нашу группу в Telegram. Напишу текст 'Telegram канал', тут же пропишем url и пишем ссылку на нашу группу. По схожему принципу добавим еще одну кнопку 'Привет', только вместо url мы добавим callbackdata. Также вместе с этими кнопками давайте будем выводить текст, например, 'Привет!'. Для этого мы пишем await, потом bot.send_message(message.chat.id, 'Привет!') и дополнительно описываем replymarkup = markup, чтобы наши кнопки работали.

1/2

Теперь давайте создадим обработчик callback_data. Для этого обращаемся к диспетчеру, далее к callback_query_handler(). Здесь же мы с вами создаем асинхронную функцию, например, callback, которая принимает параметр call. И здесь мы будем выводить сообщение на экран. Для этого мы пишем await, обращаемся к call.message.answer и будем выводить те данные, которые передаются при нажатии (в моем случае это будет help).

1/2

Создание кнопок reply.

Теперь давайте создадим кнопки reply. Для этого также обращаемся к регистру, к message_handler() и пусть наши кнопки будут появляться при команде /reply. Для этого пишем внутри commands = 'reply'. Теперь создаем функцию, например, reply. Тут также мы принимаем один параметр и указываем его тип. Далее мы прописываем почти то же самое, что писали ранее. Создаем объект markup, далее обращаемся к types, потом ReplyKeyboardMarkup. Далее мы добавляем кнопки с помощью markup.add. Тут же мы указываем types.KeyboardButton и далее указываем название кнопки, например, help. Потом мы выводим некое сообщение с помощью await bot.send_message(message.chat.id, 'Приветствуем вас в нашем Telegram боте') и также указываем reply_markup=markup.

1/2

Также если вы не хотите долго ждать, то все уроки и коды с уроков уже есть в моем telegram канале.

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

Показать полностью 15
Python Программирование IT Telegram бот Telegram Бот Программист Windows Чат-бот Длиннопост Telegram (ссылка)
6
user8505343
user8505343
1 год назад

Урок №9. Создание бота для конвертации валют⁠⁠

В этом уроке мы закончим создавать telegram бота, который будет конвертировать валюты.

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

Функционал кнопок.

Давайте создадим метод, который будет обрабатывать наши кнопки. Для этого мы прописываем декоратор @bot.callback_query_handler(), здесь мы прописываем параметр, который принимаем лямбда функцию. Функция будет принимать тоже один параметр call и будет возвращать значение True.

Урок №9. Создание бота для конвертации валют Python, Программирование, IT, Telegram, Бот, Telegram бот, Программист, Windows, Чат-бот, Длиннопост, Telegram (ссылка)

Далее мы прописываем функцию, например, callback. Тут мы принимаем один параметр call. Внутри же функции мы должны понять какую пару выбрал пользователь. Сначала мы будем обрабатывать только те кнопки, где уже есть значение валют(то есть все кнопки, кроме 'Другое значение'). Для этого создадим некую переменную, например, value, далее мы обращаемся с call.data, где и будет записан наш текст, который мы передаем. Этот текст нам необходимо перевести к верхнему регистру (upper), так как метод CurrencyConverter() принимает пары значений в верхнем регистре. После этого мы обращаемся к функции split(), которая позволяет нам разделить строку по определенному символу. Мы же будем делить по символу '/'.

Таким образом в value будет записан список из двух значений(это валюта, которую мы конвертируем и валюта, в которую мы конвертируем) и причем они будут приведены к верхнему регистру. Теперь создадим переменную, например, r. В ней мы обращаемся к cur(это объект на основе CurrencyConverter) и через этот объект обращаемся к функции convert(эта функция позволяет выполнить нам конвертацию). Тут мы указываем количество, то есть обращаемся к нашей глобальной переменной money. Далее нам необходимо указать валюту. Для этого нам необходимо обратиться к списку value и подставить первый элемент и второй. Таким образом функция convert будет принимать некое число и также будет принимать нашу пару валют.

Урок №9. Создание бота для конвертации валют Python, Программирование, IT, Telegram, Бот, Telegram бот, Программист, Windows, Чат-бот, Длиннопост, Telegram (ссылка)

Вывод на экран.

Теперь нам остается вывести все на экран. Для этого мы обращаемся с bot.send_message(), потом к call. Далее мы обращаемся к message, к chat и к id, далее мы указываем отформатированную строку. Тут я напишу 'Получается:', далее мы будем выводить наше конвертированное число и также здесь мы будем писать, что человек заново может вписать сумму. Это получается, что после конвертации данных, мы опять позволим пользователю ввести некую сумму. Давайте зарегистрируем функцию, которая будет обрабатывать эту сумму(в моем случае это функция summ). В эту функцию мы просто передаем message(поскольку это callback, то еще нам нужно обратиться к call).

Урок №9. Создание бота для конвертации валют Python, Программирование, IT, Telegram, Бот, Telegram бот, Программист, Windows, Чат-бот, Длиннопост, Telegram (ссылка)

Обработка кнопки 'Другое значение'.

На данном этапе у нас обрабатываются все кнопки, кроме кнопки 'Другое значение'. Для того чтобы эта кнопка обрабатывалась, мы обратимся к функции callback. И в ней мы будем проверять какой текст передается. В случае если текст наших данных значений не равен 'else', то тогда мы выполняем весь тот код, который у нас уже написан, иначе мы выполнять немного другой код. Здесь давайте мы будем отправлять пользователю сообщение(так же как и ранее bot.send_message(call.message.chat.id, "Введите пару значение через '/'")) и также мы должны зарегистрировать следующее действие, которая будет назваться, например, mycur. Теперь же мы создаем нашу функцию mycur. Тут мы принимаем параметр message. Тут мы по сути будем делать то же самое, что делали ранее. Мы также будем получать от пользователя данные, только уже через message text. Потом будем приводить их в верхний регистр, и будем разбивать по символу '/'. А далее мы должны сделать все то же самое, что делали ранее, только без значения call.

Урок №9. Создание бота для конвертации валют Python, Программирование, IT, Telegram, Бот, Telegram бот, Программист, Windows, Чат-бот, Длиннопост, Telegram (ссылка)

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

Но представим, если наш пользователь отправит нам некорректное значение, например, укажет валюты не через '/', а через пробел. Тогда же наш бот перестанет функционировать и сломается. Для исправления ошибки также добавим обработчик исключений. Мы с вами будем выполнить наш код, но в случае возникновения ошибки, мы будем отправлять пользователю сообщение, например, 'Что-то введено не корректно. Попробуйте ввести заново:'. И далее мы также регистрируем ту функцию, с которой мы работали для ввода купюр(в моем случае это функция mycur).

Урок №9. Создание бота для конвертации валют Python, Программирование, IT, Telegram, Бот, Telegram бот, Программист, Windows, Чат-бот, Длиннопост, Telegram (ссылка)

Давайте теперь проверим нашего бота.

Урок №9. Создание бота для конвертации валют Python, Программирование, IT, Telegram, Бот, Telegram бот, Программист, Windows, Чат-бот, Длиннопост, Telegram (ссылка)

Также если вы не хотите долго ждать, то все уроки и коды с уроков уже есть в моем telegram канале.

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

Показать полностью 5
Python Программирование IT Telegram Бот Telegram бот Программист Windows Чат-бот Длиннопост Telegram (ссылка)
0
2
user8505343
user8505343
1 год назад

Урок No8. Создание бота для конвертации валют⁠⁠

Урок No8. Создание бота для конвертации валют Python, Программирование, Telegram, Программа, IT, Telegram бот, Бот, Windows, Чат-бот, Программист, Длиннопост, Telegram (ссылка)

В этом уроке мы начнем создавать telegram бота, который будет конвертировать валюты.

Установка библиотеки.

Для конвертации валют мы будем использовать такую библиотеку, как currency converter. Для этого нам нужно ее установить в python.

Урок No8. Создание бота для конвертации валют Python, Программирование, Telegram, Программа, IT, Telegram бот, Бот, Windows, Чат-бот, Программист, Длиннопост, Telegram (ссылка)

После установки мы модем подключить нашу библиотеку к программе(from currency_converter import CurrencyConverter). И далее нам необходимо создать объект, класса CurrencyConverter().

Урок No8. Создание бота для конвертации валют Python, Программирование, Telegram, Программа, IT, Telegram бот, Бот, Windows, Чат-бот, Программист, Длиннопост, Telegram (ссылка)

Для конвертации мы будем использовать такой метод, как convert. В него мы будем передавать сумму, а также пару валют, среди которых мы будем выполнять конвертацию.

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

В первую очередь в любом боте мы должна обрабатывать команду /start. Тут же мы напишем стандартную для нас функцию, где мы будем выводить сообщение о том, чтобы он ввел сумму для конвертации, а далее будет говорить среди каких валют пользователь хочет совершить конвертацию. Для этого мы зарегистрируем некое следующее действие, где указываем параметр message, а также укажем нашу следующую функцию, например, summ. И по сути эта функция будет срабатывать как только пользователь введет некую сумму.
В нашей функции давайте получать от пользователя данные и будем помещать их в переменную, например, money. Для этого пропишем message.text.strip(). И еще так как эта переменная будет использоваться в других функциях, то давайте делаем ее глобальной. Для этого в начале программы напишем, что money = 0, а внутри нашей функции будет обращаться к глобальной переменной money.

Урок No8. Создание бота для конвертации валют Python, Программирование, Telegram, Программа, IT, Telegram бот, Бот, Windows, Чат-бот, Программист, Длиннопост, Telegram (ссылка)

Кнопки для конвертации.

Теперь давайте установим набор различных кнопок, при нажатии на которые пользователь сможет выбрать пару для конвертации. Также для удобства импортируем из библиотеки telebot такую вещь, как types. Прописываем создаем markup, где обращаемся к types, потом к InlineKeyboardMarkup(). Также можно делать встроенные кнопки в сам telegram, но я решил, что данные кнопки будут удобнее. Также я хочу указать что в одном ряду будет максимум 2 кнопки. Для этого в InlineKeyboardMarkup() мы указываем row_width=2 (это означает, что в одном ряду будет не более двух кнопок). Теперь создаем сами по себе кнопки. Для этого используем InlineKeyboardButton. И тут мы указываем текст пары купюр для конвертации, а также указываем callback_data, по которой потом мы будем переводить купюры. В точно таком же формате создаем и другие кнопки. А также создадим кнопку 'Другое значение', при нажатии на которую пользователь будет сам указывать какие купюры он хочет перевести. И в конце мы указываем markup.add, где указываем все значения наших кнопок. И еще будем писать текст пользователю 'Выберите пару валют:', а также в конце прописываем reply_markup=markup.

Урок No8. Создание бота для конвертации валют Python, Программирование, Telegram, Программа, IT, Telegram бот, Бот, Windows, Чат-бот, Программист, Длиннопост, Telegram (ссылка)

Теперь давайте на данном этапе запустим бота и посмотрим как он будет работать.

Урок No8. Создание бота для конвертации валют Python, Программирование, Telegram, Программа, IT, Telegram бот, Бот, Windows, Чат-бот, Программист, Длиннопост, Telegram (ссылка)

Но на данном этапе, если мы введем, например, не число, а текст, то у нас также будет выдаваться конвертация, чего быть не должно. Давайте это исправим.

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

Сначала нам необходимо указать то, что данные, которые мы будем получать от пользователя они должны быть числом. Для этого в переменной money напишем то, что она будет у нас int переменной.
Если же сейчас мы запустим бота и будем вводить некую строку, то наш бот будет выдавать ошибку, так как мы пытаемся перевести некую строку в число. Поэтому давайте пропишем обработчик исключения.(try: .......... except: ..........). Наше исключения будет заключаться в том, что мы с вами будем пробовать привести money в число. Если же мы с вами будем получать ошибку, как ValueError(это ошибка, когда пользователь вводит не тот тип данных), то мы пользователю будем отправлять сообщение 'Формат не верный. Впишите сумму:'. Кроме этого нам надо зарегистрировать следующее действие, которая будет эта же функция. Ну и в конце мы должны прописать return, чтобы последующий код не выполнялся.

Урок No8. Создание бота для конвертации валют Python, Программирование, Telegram, Программа, IT, Telegram бот, Бот, Windows, Чат-бот, Программист, Длиннопост, Telegram (ссылка)

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

Урок No8. Создание бота для конвертации валют Python, Программирование, Telegram, Программа, IT, Telegram бот, Бот, Windows, Чат-бот, Программист, Длиннопост, Telegram (ссылка)

Теперь давайте запустим бота и посмотрим что получилось.

Урок No8. Создание бота для конвертации валют Python, Программирование, Telegram, Программа, IT, Telegram бот, Бот, Windows, Чат-бот, Программист, Длиннопост, Telegram (ссылка)

На этом мы пока остановимся и продолжим на следующем уроке.

Также если вы не хотите долго ждать, то все уроки и коды с уроков уже есть в моем telegram канале.

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

Показать полностью 9
Python Программирование Telegram Программа IT Telegram бот Бот Windows Чат-бот Программист Длиннопост Telegram (ссылка)
0
4
user8505343
user8505343
1 год назад

Урок №7. Добавление пользователя в базу данных и список пользователей⁠⁠

В данном уроке мы научимся добавлять данные пользователя в базу данных и выводить список всех пользователей.

Добавление пользователя в базу данных.

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

Теперь нам необходимо сохранить пользователя в базе данных, для дальнейшей работы с ним. В качестве данных для регистрации мы будем использовать имя и счет, который мы получили от самого пользователя. Чтобы сохранить пользователя в базе данных нам необходимо подключиться к самой базе данных. Мы также прописываем connect, указываем к какому файлу мы подключаемся, создаем cursor и далее мы будем выполнять некую команду, потом синхронизацию и также будем закрывать базу данных. Только в execute мы должны прописать немного другое. Наша команда будет звучать следующим образом: Мы говорим, что будем добавлять некую новую запись в такую таблицу, как users. В качестве полей, которых мы будем туда добавлять это поле name и VALUE. Значение для поля id нам передавать не надо, так как оно у нас auto_increment и будет автоматически подставляться. Мы передаем только те поля, которые автоматически не подставляются. В таблицу users мы будем подставлять наше значения из переменных как name и value. Также это должна быть отформатированная строка и мы будем подставлять наши данные в некую строку.

Урок №7. Добавление пользователя в базу данных и список пользователей IT, Python, Программирование, Telegram, Telegram бот, Бот, Программист, Windows, Чат-бот, Длиннопост, Telegram (ссылка)

Сейчас наша проблема будет заключаться в том, что переменной name нет в нашей функции и мы по сути не можем ее подставить. Чтобы исправить нашу ошибку, мы должны создать в самом начале переменную name, укажем ее значение, как пустая строка. И теперь функции user_name мы укажем, что будем работать с глобальной переменной name и уже в нее мы будем устанавливать значение.

Теперь мы можем спокойно обращаться к нашей переменной name и у нас не будет ошибки. Сейчас у нас корректно будет добавляться новый пользователь в базу данных.

С базой данных у нас все готово. Теперь каждый новый пользователь будет добавляться в нашу базу данных.

Урок №7. Добавление пользователя в базу данных и список пользователей IT, Python, Программирование, Telegram, Telegram бот, Бот, Программист, Windows, Чат-бот, Длиннопост, Telegram (ссылка)

Вывод список всех пользователей.

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

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

Урок №7. Добавление пользователя в базу данных и список пользователей IT, Python, Программирование, Telegram, Telegram бот, Бот, Программист, Windows, Чат-бот, Длиннопост, Telegram (ссылка)

Пока наша кнопка работать не будет, так как мы не написали, что должно выполняться при нажатии на эту кнопку. Давайте это исправим. Сначала мы создадим функцию, например, new с параметром message и будем проверять, если нам выдается текст 'Список пользователей', то мы вами подключаемся к базе данных и выдаем таблицу пользователей. Для этого мы также прописываем то, что писали ранее для подключения к базе данных. Потом в execute мы должны сказать другое. Мы передаем, что выбираем все поля из такой таблицы, как users.Далее команду commit нам прописывать не надо, так как эта команда срабатывает, чтобы установить, обновить или удалить что-либо. Здесь же мы получаем данные, поэтому вместо commit будем использовать fetchall. Эта функция возвращает полностью все найденные записи. Эти же все найденные записи мы установим в некую переменную, например, users.Далее мы должны перебрать все полученные данные и вывести их на экран. Для этого нам надо создать новую переменную, которая изначально будет пустой. Далее мы создаем цикл, в котором будем перебирать наш список users(то есть перебираем все наши записи). И здесь в цикле к нашей пустой переменной мы будем добавлять новую строку, в которой мы будем выводить данные пользователя. Для начала выведем имя.

Для этого мы должны обратиться к текущему элементу с которым работаем(в моем случае это i) и в этом списке у меня находиться 3 элемента:

  • Id текущей записи

  • Имя пользователя

  • Счет пользователя

Мы обращаемся ко второму элементу, а по индексу он первые(так как индекс начинается с 0). Таким образом мы выводим имя пользователя. Чтобы вывести соответственно счет, мы должны обратиться уже к третьему элементу, или же ко второму индексу.

Также чтобы каждые пользователь появлялся в новой строке мы должны в конце прописать \n. И потом также в конце мы с вами закрываем курсор и коннект к нашей базе данных.

Таким образом мы сформируем некую строку, которую будем выводить нашим пользователям. Для этого мы пропишем bot.send_message(message.chat_id, info). Вот таким образом у нас будет все выглядеть.

Урок №7. Добавление пользователя в базу данных и список пользователей IT, Python, Программирование, Telegram, Telegram бот, Бот, Программист, Windows, Чат-бот, Длиннопост, Telegram (ссылка)

Теперь давайте запустим бота и посмотрим, как он работает.

Урок №7. Добавление пользователя в базу данных и список пользователей IT, Python, Программирование, Telegram, Telegram бот, Бот, Программист, Windows, Чат-бот, Длиннопост, Telegram (ссылка)

Теперь каждый новые пользователи будут видеть, зарегистрированных людей в боте.

Также если вы не хотите долго ждать, то все уроки и коды с уроков уже есть в моем telegram канале.

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

Показать полностью 5
IT Python Программирование Telegram Telegram бот Бот Программист Windows Чат-бот Длиннопост Telegram (ссылка)
3
5
user8505343
user8505343
1 год назад

Урок №6.Подключение к базе данных SQLite⁠⁠

Урок №6.Подключение к базе данных SQLite Python, Программирование, IT, Telegram, Telegram бот, Бот, Программист, Чат-бот, Windows, Длиннопост, Telegram (ссылка)

В этом уроке мы научимся подключаться и работать с базой данных SQLite.

Почему SQLite?

Эта база данных была выбрана по причине ее простоты настройки и использования. В точно таком же формате на подобии SQLite вы научитесь подключаться к любой другой базе данных, что поддерживает язык python. Это может быть MySQL, PostgreSQL, Oracle, MongoDB и многие другие. Если ваш сайт работает MySQL, то вы легко можете скачать коннектор для питона и подключиться к вашей базе данных. Далее вы сможете выводить ту же информацию, что выводили на сайте.

Подключение к SQLite.

Первое что нам надо сделать это подключить базу данных к нашему проекту. Сама по себе база данных SQLite является встроенной базой данных для языка python, а поэтому нам ничего не нужно дополнительно скачивать, мы сразу можем ее подключить. Для этого прописываем import sqlite3.

Создание базы данных SQLite.

Теперь давайте создадим обработчик команды /start, после запуска которой у нас будет создаваться база данных SQLite.Сначала пропишем декоратор для обработки команды /start(@bot.message_handler(commands =['start'])). Здесь же мы создаем функцию, например, first. Эта функция будет также принимать параметр message. Теперь давайте выполним создания базы данных. Для этого мы создаем некий новый объект, например, con. Далее обращаемся к нашей библиотеке sqlite3 и через нее обращаемся к функции connect. В эту функцию нужно передать один параметр. По сути это название того файла, который у нас будет создан и где будет храниться полностью вся база данных. Сам файл может называться как угодно, а еще он может имеет абсолютно любое расширение(например, sql, sdf). Теперь у нас будет создаваться файл, и в этом файле будет храниться полностью вся база данных о наших пользователях. Теперь нам нужно создать еще один объект, например, cur. Через него мы и сможем выполнять различные команды, связанные с базой данных. Чтобы его создать мы обращаемся к нашему предыдущему объекту и вызываем такую функцию, как cursor. Теперь мы можем создавать необходимый нам файл, в котором у нас будет храниться вся база данных.

Урок №6.Подключение к базе данных SQLite Python, Программирование, IT, Telegram, Telegram бот, Бот, Программист, Чат-бот, Windows, Длиннопост, Telegram (ссылка)

Создание таблицы и сохранение базы данных в нее.

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

Чтобы создать таблицу, нам нужно выполнить некую sql команду, поэтому мы сразу пропишем метод execute(данный метод позволяет выполнять разные sql команды). Здесь же мы пропишем полностью нашу команду. Мы говорим что хотим создать некую таблицу, но при этом мы будем создавать ее только в случае, если ее еще не существует. Мы будем создавать такую таблицу как users. И далее мы просто пропишем те поля, которые будут внутри самой таблице. Я укажу такие поля, как:

  • id(это будет уникальным идентификатором для каждой нашей записи).Так как это поле будет целым числом, то мы указываем тип данных int, оно будет автоматически изменяться и оно дополнительно является первичным ключом(primary key). То есть это стандартное поле, которое должно быть в любой таблице базы данных. За счет этого поля мы сможем выбирать конкретные записи и взаимодействовать с ними(id int auto_increment primary key).

  • name(это будет имя нашего пользователя). Тип этого поля будет varchar(varchar - это строковый или символьный тип данных переменного размера). Длину этого поля мы возьмем, как 50 символов(name varchar(50)).

  • VALUE(это будет деньги, имеющиеся на счету нашего пользователя). Так же укажем тип varchar, длина которого будет тоже 50 символов(VALUE varchar(50))

Урок №6.Подключение к базе данных SQLite Python, Программирование, IT, Telegram, Telegram бот, Бот, Программист, Чат-бот, Windows, Длиннопост, Telegram (ссылка)

Ну и суть этой команды заключается в том, что при запуске команды /start мы будем создавать таблицу users с тремя полями id, name, VALUE, и она будет создаваться только в том случае, если такой таблицы еще не существует в нашем файле с базой данных. Сейчас наша команда execute она еще не выполнит создание нашей таблицы. То есть она подготавливает sqlite команду. Чтобы нам выполнить создание таблицы, и чтобы она была добавлена в файл с базой данных, нам необходимо обратиться к объекту con, и здесь мы должны прописать такую функцию, как commit(эта функция синхронизирует все изменения) и теперь все наши изменения будут сохраняться в базе данных. Давайте еще допишем, что мы будем закрывать соединение с базой данных. Таким образом при запуске команды /start мы открываем соединение с базой данных, выполняем некую команду и синхронизируем ее, а дальше мы закрываем соединение с базой данных. В конце же давайте же будем выводить сообщение пользователю(bot.send_message(message.chat.id, 'Привет! Напиши свое имя'). Далее давайте зарегистрируем следующую функцию, которая должна у нас срабатывать. Для регистрации метода напишем bot.register_next_step_handler(). В эту функцию мы передаем параметр message, а также указываем какая следующая функция у нас будет срабатывать.

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

Эта функция будет также принимать один параметр message. B самой функции мы должны получать тот текст, который был введен пользователем и записывать его в некую переменную. Поэтому создадим в функции некую переменную, например, name. Тут мы обращаемся к message.text.strip() (функция strip позволяет удалить нам пробелы до и после текста). И теперь давайте также создадим текст, который будет получать наш пользователь. В этой функции мы получили имя пользователя и записали его в переменную name, и отправили пользователю текстовое сообщение.

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

Урок №6.Подключение к базе данных SQLite Python, Программирование, IT, Telegram, Telegram бот, Бот, Программист, Чат-бот, Windows, Длиннопост, Telegram (ссылка)

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

1/2

Также если вы не хотите долго ждать, то все уроки и коды с уроков уже есть в моем telegram канале.

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

Показать полностью 6
Python Программирование IT Telegram Telegram бот Бот Программист Чат-бот Windows Длиннопост Telegram (ссылка)
1
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии