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

Долгий путь: idle

Кликер, Ролевые, Фэнтези

Играть

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

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

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

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

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

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

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

Урок №4. Создание кнопок в telegram боте⁠⁠

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

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

В прошлом уроке мы научились обрабатывать стандартные команды по типу /start и /help, обращаться к пользователю, а также форматировать и обрабатывать текст.

Встроенные кнопки.

Ранее при получении команды /start мы отправляли текст пользователю "Приветствуем вас, {имя пользователя}, в нашем telegram боте".

Давайте же теперь будем при получении команды /start будем отправлять нашему пользователю тот же самый текст, но только уже с кнопками. Возьмем нашу программу, написанную в прошлом уроке(программа есть в telegram канале: https://t.me/pythotelegram) и добавим в нашу функцию, где мы обрабатывали команду /start, команды для появления кнопок.

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

Для начала создадим некий объект, который назовем, например, markup, далее нам надо обратиться к такому значению как types. Чтобы это значение корректно работало, его необходимо сначала подключить. Поэтому в самом вверху мы из библиотеки telebot импортируем types (from telebot import types). Далее мы будем создавать с вами встроенные кнопки, поэтому нас будет интересовать такой класс, на основе которого мы все это будем делать, как InlineKeyboardMarkup(). Далее мы обращаемся к нашему markup, к методу add и будем добавлять по одной новой кнопке.

Чтобы нам добавить некую новую кнопку, мы опять обращаемся к types, далее говорим какую кнопку мы будем создавать(нас интересует InlineKeyboardButton, т.е. встроенная кнопка). В качестве параметров мы должны указать текст для кнопки(у меня это будет 'Перейти в telegram группу') и также, если мы переходим по какой-либо ссылке, нам надо в качестве параметра указать url и здесь же мы указываем саму ссылку группу или сайт, который будет открываться при нажатии на данную кнопку(в моем случае будет открываться моя группа в telegram). Теперь давайте попробуем вывести нашу кнопку с сообщением. И тут в методе send_message мы передаем еще один параметр, который называется reply_markup и в качестве значения передаем наш объект markup. Теперь при запуске бота, когда мы введем команду /start, то наш бот выдаст нам текст, а также нашу встроенную кнопку, при нажатии на которую мы будем переходить в нашу telegram группу.

1/2

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

Кнопки будут добавляться точно также, только теперь у нас не будет url адреса, а вместо этого у нас будет такой параметр, как callback_data и тут я напишу 'hlp'. Callback_data означает то, что при нажатии на данную кнопку будет вызываться некая функция, которая как раз и будет отвечать за действия этой кнопки, и куда мы будем передавать некоторые значения.
Теперь же если мы запустим бота, то у нас появятся наши кнопки, но кнопка help пока работать не будет.

1/2

Также перед тем, как мы создадим функцию, для кнопки help, я вам покажу, как вы можете располагать наши кнопки. Сейчас же наши кнопки находятся друг под другом. Для чтобы поместить несколько кнопок в один ряд, нам надо вынести создание кнопок из самой функции add и создать отдельные объекты(в моем случае они будут называться bot1 и bot2), в которые мы в качестве значения будем прописывать создание кнопок. А далее вместо markup.add мы будем использовать другой метод под названием markup.row. И уже сюда мы будем добавлять наши объекты, в которых хранятся создание кнопок.

И теперь если мы оба объекта помести в метод markup.row, то наши кнопки будут находиться в одном ряду.

1/2

Давайте теперь напишем функцию, которая будет приводить в работу нашу кнопку help. Чтобы нам создать данную функцию мы должны прописать декоратор, который называется @bot.callback_query_handler()(это специальный декоратор для обработки параметров callback_data).Внутри декоратора мы пишем анонимную функцию, где мы говорим один неким параметр, в случае если он будет пустым, то возвращаем значение True.(func = lambda callback: True).
Далее мы создаем функция, например, callback_message. Тут же мы будем принимать один некий параметр, который мы принимаем в декораторе(callback).Теперь мы обращаться с callback.data и будем получать то, что передается при нажатии на некую кнопку (в моем случае help). Например, в случае, если у нас пользователь нажимает на кнопку help, то у нас отправляется callback_data с такой информацией, как hlp. Здесь же мы перехватываем эту отправку и выполняем некие действия, в нашем случае это отправка сообщения пользователю. Прописываем bot.send_message с которым мы ознакомились в прошлых уроках. Теперь мы пишем параметр callback.message.chat.id и также пишем наш текст, который хотим отправить.
Теперь наша кнопка будет успешно работать!

1/2

Кнопки Reply Keyboard.

Теперь давайте сделаем так, что как только мы будем запускать бота у нас сразу же будет появляться, как в BotFather.Для создания таких кнопок мы будем использовать точно такую же структуру, как мы это делали для встроенных кнопок. Тут будет отличаться только то, что вместо InlineKeyboardMarkup() мы будем использовать ReplyKeyboardMarkup(), а также для самих кнопок нам надо использовать класс KeyboardButton. Этот класс принимает просто название кнопки. Тут мы уже не можем указать url как делали это раньше, а также не можем указывать callback_data. Дизайн и добавление кнопок происходит также, как это делалось во встроенных кнопках.

Посмотрим что у нас получилось.

1/2

При нажатии на кнопку они будут выводить нам некий текст в чат, но наш бот пока не отвечает на них.
Если же мы хотим обрабатывать нажатия на эти кнопки, то нам в самом низу этого метода необходимо зарегистрировать следующую функцию, которая будет срабатывать при вводе любого текста в чат. Для этого мы обращаемся в bot. Далее обращаемся к register_next_step_handler(), сюда мы передаем объект message, а также ту функцию, которая будет срабатывать следующей.
Так как в прошлом уроке мы уже создавали функцию, где обращались к тексту, то давайте обратимся здесь к этой функции и уже там напишем обращение к нашим кнопкам.
В функции txt мы проверяем текст на схожесть(текст должен быть такой же, как и в самих кнопках), и уже тогда мы выводим.
Давайте проверим, что получилось.

1/2

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

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

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

Суммаризатор брейншторма для Figma⁠⁠

Суммаризатор брейншторма для Figma Гайд, Программа, Технологии, ChatGPT, Windows, Инновации, Google, Чат-бот, Linux, Python, Telegram (ссылка)

FigJam (https://help.figma.com/hc/en-us/articles/15300412458647) – это онлайн-инструмент для совместной работы, который вы и ваша команда можете использовать для мозгового штурма, разработки и организации идей. Это цифровые доски, где вы и ваша команда открываете, исследуете и воплощаете идеи.

Jambot (https://help.figma.com/hc/en-us/articles/16783866441111) – это виджет для FigJam, который привносит мощь ИИ ChatGPT на ваши доски. Используйте его для мозгового штурма, обобщения информации на доске, создания визуальных карт мышления и суммаризации собранного материала.

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

Виджет позволяет вам задать вопрос о тексте и углубиться в определенную тему. Найдет вам людей, примеры, идеи, статистику и факты о тексте в запросе. Здесь вы можете найти интервью (https://www.figma.com/blog/give-ideas-more-space-with-jambot...) с создателями.

Источник: https://t.me/TechLiveHack/268

Показать полностью 1
Гайд Программа Технологии ChatGPT Windows Инновации Google Чат-бот Linux Python Telegram (ссылка)
0
AIshnytza
AIshnytza
1 год назад
Серия Нейросети

GPT-4 прямо у вас на компьютере⁠⁠

Нейросеть GPT-4 теперь просто установить и запускать с рабочего стола без VPN.

Есть версии для Windows, для Mac, для Linux. Прямая загрузка на Windows и Mac

Установочные файлы выложили в X (ex.Twitter) - здесь потребуется VPN для пользователей из России. Подробные гиперпараметры моделей и обучающие коды можно найти в репозитории GitHub.

Подробный гайд по установке здесь

Извлечение занимает до 20 минут. На Mac появится сообщение о том, что приложение не является доверенным, если вы так считаете, перейдите в Системные настройки - Приватность и безопасность, найдите "Безопасность" и одобрите установку.

После загрузки программы установки для вашей платформы запустите ее и внимательно следите за местом установки, так как после завершения установки вам нужно будет перейти в эту папку. После завершения установки найдите подкаталог bin в папке установки. Чтобы запустить приложение GPT4All Chat, выполните файл 'chat' в папке 'bin'. Файл будет называться 'chat' в Linux, 'chat.exe' в Windows и 'http://chat.app' в macOS.

Подписывайтесь на ИИшница 🍳 - тут все самое интересное из мира новых технологий и нейросетей 🤖

Показать полностью
[моё] Windows Linux Искусственный интеллект Программа Нейронные сети Бесплатно Gpt4 Чат-бот Полезное Технологии Видео Без звука
31
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии