Телеграмм бот для поддержки

10 000 руб. за проект
30 января 2024, 01:17 • 19 откликов • 170 просмотров
Цель:

Разработать и интегрировать функционал для Telegram бота "Аксата", позволяющий создавать запросы и инциденты, получать их статусы, а также прикреплять переписку к соответствующим запросам и инцидентам в системе управления инцидентами iTop.

Основные требования:

  • Интеграция с API iTop:
    • Исследовать API iTop для понимания методов создания инцидентов, запросов, получения их статусов и прикрепления данных.
    • Реализовать функции для отправки HTTP запросов к API iTop. https://www.combodo.com/itop (через HTTP API)
  • Распознавание и обработка команд:
      • Реализовать логику для распознавания следующих текстовых команд от пользователей в Telegram:
      • "Аксата создай инцидент [текст инцидента]"
      • "Аксата создай запрос [текст запроса]"
      • "Аксата дай статус" (для получения списка всех запросов и инцидентов)
      • "Аксата прикрепи к [номер запроса/инцидента]" (для прикрепления переписки)
    • Обработать команды и выполнять соответствующие действия в iTop через API.
  • Управление сессиями и связью с группами Telegram:
    • Разработать систему для отслеживания соответствия между группами в Telegram и клиентами в iTop.
    • Управлять сессиями пользователей для последующих запросов и операций.
  • Логирование и отладка:
    • Предусмотреть логирование важных событий и ошибок.
    • Тестировать функционал на разных сценариях использования.
  • Безопасность и конфиденциальность:
    • Обеспечить безопасное хранение и передачу конфиденциальной информации.
    • Провести проверку на уязвимости и возможные риски.
Технические детали:

  • Язык программирования: Python.
  • Используемые библиотеки: requests для HTTP запросов, json для работы с данными в формате JSON, и другие необходимые библиотеки.
  • Платформа: существующий код Telegram бота на Python.
Этапы выполнения:

  • Изучение API iTop и определение необходимых методов.
  • Разработка функций для взаимодействия с iTop через API.
  • Реализация системы распознавания и обработки команд в Telegram боте.
  • Создание логики управления связями между группами Telegram и клиентами iTop.
  • Разработка и реализация механизма безопасности.
  • Тестирование, отладка и деплой.
Результаты:

  • Рабочий Telegram бот с возможностью создания запросов и инцидентов в iTop.
  • Функционал получения статусов и прикрепления переписки к запросам и инцидентам.
  • Документация по использованию нового функционала.
  • Отчет о проведенном тестировании и обеспечении безопасности.
Дополнительно:

  • Разработчику может потребоваться общение с командой iTop для уточнения деталей API.
  • Возможно, потребуется дополнительная настройка серверной части для обработки запросов.

  1. Инициализация: Скрипт загружает конфигурационные данные из файла JSON и настраивает соединители (connectors) для работы с разными ботами в Telegram. Для каждого бота он настраивает параметры логирования, таймеры для получения обновлений и запускает поток для обработки обновлений.
  2. Логирование: Есть функция log, которая записывает сообщения в лог-файлы, если это разрешено в конфигурации.
  3. Отправка уведомления о наборе текста: Функция sendAction используется для имитации действия пользователя (например, когда бот "печатает" сообщение). Это продолжается до тех пор, пока не будет получено новое сообщение или не истечет таймер.
  4. Получение обновлений: Метод getUpdates периодически запрашивает новые сообщения или обновления у Telegram API. Он обрабатывает эти сообщения, проверяя, подходят ли они под установленные критерии (например, whitelist, activators).
  5. Обработка сообщений: Код анализирует текст полученных сообщений и выполняет соответствующие действия, такие как запуск функции набора текста, отправка сообщений через API и обновление сессий.
  6. Взаимодействие с внешним сервисом: После обработки входящих сообщений, скрипт отправляет запрос на локальный сервер с данными о сообщении и сессии, и обрабатывает ответ от сервера.
  7. Отправка ответов: После получения ответа от внешнего сервиса, скрипт отправляет соответствующие сообщения обратно в чат Telegram.
  8. Управление сессиями: Скрипт сохраняет и обновляет данные сессий пользователей для последующих взаимодействий.
Могу дать пример кода для части бота
Обьем кода на проект до +-600 строк
Отзывы
R50 7c7b3efa5401f9186ab56c7392cc993f
Фрилансер
 
10 месяцев назад