Giter VIP home page Giter VIP logo

project-1196493-bot-for-orders's Introduction

Project-1196493 Телеграм бот для сбора информации по заказам

Оглавление:

Стек технологий:

  • Python
  • Pandas
  • Gspread (Python API для Google Sheets)
  • Windows 10 (система, в которой велась разработка проекта)
  • Aiogram

Для чего нужен этот бот.

Бот был сделан в рамках фриланс-проекта в соответствии с техническим заданием заказчика. Бот общается с пользователем и собирает данные о заказе, которые потом подгружает в таблицу в Google Sheets.

Информация по использованию работающей версии бота.

Я оставил у себя работающую демо-версию. Любой может просмотреть ее по адресу в телеграме: @1196493. Любой может протестировать бота, следуя пошаговым инструкциям и нажимая на inline клавиатуру.

Описание проекта.

Процесс работы программы.

  • Бот активируется командой /start.

  • Пользователя просят выбрать одну из активностей.

  • Далее пользователя просят ввести ФИО.

  • Далее пользователя просят ввести номер телефона.

  • Бот показывает пользователю итог по данным, которые пользователь предоставил.

  • Бот подгружает данные от пользователя в Google Sheets:

    image

Примечания:

  • Максимальное количество запросов за 1 сессию = 25, при превышении лимита бот попросит перезапустить его.
  • Во время работы над проектом я не знал про возможности хранить секреты в .env файлах. Я не стал менять свою логику, но хочу отметить, что новые проекты я делаю через .env.
  • Во время работы над проектом я не добавлял requirements.txt, так как не имел опыта по данному моменту, но сделал это сейчас для удобства установки.

Как скачать и запустить.

Важно! Проект делался на Windows, возможны проблемы при запуске на других операционных системах.

  1. Fork'ните этот репозиторий.

  2. Клонируйте форкнутый репозиторий.

  3. Советую установить виртуальное окружение, например так: python -m venv venv и далее активируйте его: . venv/Scripts/activate (для линукса это . venv/bin/activate, но данный проект реализован на Windows) для деактивации можно набрать deactivate Вероятно, Windows выдаст вам ошибку про Scripts, для ее устранения:

    • Зайдите в PowerShell как администратор (наберите powershell в пуск).
    • Наберите set-executionpolicy remotesigned
    • Вас попросят подтвердить это, укажите Y или Yes.
    • После этого активащия виртуального окружения должна заработать.
  4. Установите зависимости из requirements.txt pip install -r requirements. txt

  5. Создайте файл private_infomration_1196494.py, в котором укажите API телеграм бота, который будет использоваться и API для гугл таблицы, куда будет сохраняться информация:

    API_KEY='dsfsdf234234$asdasd'
    Google_sheets_API_details='sasdaffdgdfgfdfgsdfsfsd2131312'
    
  6. Запустите проект из файла project 1196493 2.0.py (в VSCode горячая клавиша запуска F5). После этого ваш телеграм бот должен начать работать.

    Как зарегистрировать нового бота в Telegram:

    1. Зайдите в приложение телеграм и в поиске аккаунтов наберите @BotFather.
    2. Внизу кликните на меню и выберите Create a new bot либо просто наберите /newbot
    3. Напишите имя для вашего бота (может быть любым).
    4. Напишите имя пользователя для вашего бота, обязательно должно оканчиваться на bot, например: ui_bot, salesbot. После этого BotFather выдаст вам всю информацию о вашем боте, в том числе API токен (как в примере в пункте 7).

    Как установить API соединение с Google Sheets.

    1. Зайдите на ссылку https://console.cloud.google.com/projectcreate
    2. В Project name укажите имя вашего проекта и после нажмите кнопку CREATE.
    3. Включите google sheets API, для этого вверху страницы справа от лого GoogleCloud выберите имя вашего проекта. Далее в колонке слева выберите API, если его нет, внизу нажмите на MORE PRODUCTS, и далее зайдите в APIs & Services, перейдите в Enabled APIs & Services. На открывшейся странице вверху нажимите + ENABLE APIS AND SERVICES. Далее у вас откроется список APIs and Services, вы в нем ищете Google Sheets API и кликаете на него, после чего в открывшемся окне нажимаете ENABLE.
    4. Под APIs & Services в Google Sheets API выберите CREATE CREDENTIALS, в открывшемся окне выберите Google Sheets API и Application Data и нажмите NEXT. В открывшемся окне напишите Service account name (любое имя в одно слово) и нажмите CREATE AND CONTINUE. Выберите роль - Editor, нажмите CONTINUE и далее нажмите DONE.
    5. Теперь вам необходимо будет загрузить credentials, для этого перейдите в CREDENTIALS вкладку все в том же Google Sheets API, кликните на service account, что вы только что создали. В открывшемся окне нажмите на вкладку KEYS. В ней нажмите ADD KEY, create a new key. Key type выберите JSON и нажмите CREATE. Файл загрузится на ваш компьютер, перенесите его в ту же папку, где находится ваш проект. Название файла укажите в переменной Google_sheets_API_details в вашем .env файле.
    6. Скопируйте email вашего service account (смотрите пункт 5), зайдите в Google Sheet, который вы планируете использовать для выгрузки данных (для этого в своем обычном гугл аккаунте можно создать новый sheet) и нажмите поделиться (share). В открывшемся окне вставьте скопированный адрес, убедитесь, что уровень доступа указан Editor и нажмите Send.

project-1196493-bot-for-orders's People

Contributors

gaifut avatar

Watchers

Kostas Georgiou avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.