Skip to content

Latest commit

 

History

History
55 lines (54 loc) · 4.81 KB

File metadata and controls

55 lines (54 loc) · 4.81 KB

Telegram taro cards bot

Change language: English


Телеграмм бот для автоматизированного сбора заявок на предоставление услуг - переносит данные заполненные пользователем в google таблицу, присылает менеджеру уведомление об оставленных заявках.

Функционал:

  1. Собирает информацию о пользователе
  2. Проверяет впервые ли оставлена заявка
  3. Переносит заполненные пользователем данные в google таблицы
  4. Уведомляет менеджера об оставленных заявках, закрепляет в диалоге необработанные заявки
  5. Окрашивает зеленым цветом обработанные менеджером заявки
  6. Принимает подтверждение платежа, а также запрос клиента в текстовом или аудио формате и пересылает его менеджеру

Команды:

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

  • menu - вызывает меню (добавить через BotFather для удобного отображения)
  • taro - запросить услугу по расшифровке даты рождения
  • help - помощь

Установка и использование:

  • Логирование при ошибке ведется в файл py_log.log
  • Установить зависимости:
pip install -r requirements.txt
  • в файле .env указать:
    • Токен телеграмм бота: TELEGRAM_TOKEN=ТОКЕН
    • ID бота: BOT_ID=ID (первые цифры из токена бота, до :)
    • ID менеджера: MANAGER_ID=MANAGER_ID; будет иметь право на выполнение команды /update, ему будут приходить уведомления - для получения уведомлений менеджеру необходимо активировать бота со своего аккаунта (нажать кнопку "начать")

    Для определения ID пользователя нужно отправить следующему боту любое сообщение с соответствующего аккаунта. Значение, содержащееся в Your user ID - ID пользователя

    • Ссылки на telegram канал и instagram TELEGRAM_CHANNEL_LINK, INSTAGRAM_LINK
    • Username менеджера - на указанный профиль введет кнопка "менеджер" в меню: MANAGER_USERNAME=example (указывается без @)
  • получить файл c credentials (параметрами для подключения):
    https://console.cloud.google.com/
    https://www.youtube.com/watch?v=bu5wXjz2KvU - инструкция с 00:00 по 02:35
    Полученный файл сохранить в корне проекта, с именем service_account.json
  • предоставить сервисному e-mail доступ к таблице (инструкция в видео по ссылке выше)
  • в файле config.py задать следующие переменные:
    IMAGE_ID - ID приветственного изображения, отправляемого ботом (к которому он имеет доступ)
    SPREAD_NAME - имя таблицы в google sheets, куда записываются данные о новых заявках
    LIST_NAME - имя листа в таблице
  • запустить проект:
python3 main.py

Рекомендации по использованию:

  • перед активацией бота обязательно задать имена столбцов для удобной навигации и корректной работы:
    • порядок выводимой информации на листе с заявками:
      1. уникальный ID пользователя
      2. ник пользователя в Telegram
      3. имя пользователя
      4. фамилия пользователя
      5. ссылка на instagram пользователя
      6. дата рождения пользователя
      7. время отправления заявки (Московское)