Блог
Строительство и ремонт
Репетиторы
Красота
Фрилансеры
Разные специалисты
Уход за животными
Тренеры
Автоинструкторы

Разработка ботов Telegram — удалённая работа в Москве

Дата: 2025-02-22
Детали
Регион
Москва
Занятость
дистанционно
Стоимость
договорная
Дата публикации
2025-02-22
Описание
Задачи чат-бота: Трекер задач. Продукт: для геодезической компании. Техзадание есть. # Техническое задание на разработку Telegram-бота “ГеоТрекер“ ## 1. Цель проекта Создать Telegram-бота для автоматизации трекинга геодезических файлов (CSV, DWG, PDF) между полевыми и камеральными сотрудниками. Бот исключит потерю файлов, обеспечит прозрачность workflow и автоматизирует перемещение задач между темами “В работу“ и “Выполнено“. ## 2. Основной функционал ### 2.1. Пересылка CSV-файлов в трекер - Бот отслеживает сообщения в рабочем чате. - При обнаружении CSV-файла: - Пересылает его в тему “В работу“ трекера. - Добавляет inline-кнопку “Взять в работу“. - Сохраняет связь между сообщениями (рабочий чат ↔ трекер). ### 2.2. Введение кнопки “Взять в работу“ - В теме “В работу“ под каждым тикетом появляется **кнопка “Взять в работу“**. - После нажатия: - В метаданных тикета добавляется статус “▶️@взявший\_в\_работу“. - Под сообщением появляются две новые кнопки: **“🔄Вернуть“** и **“✅Выполнить“**. ### 2.3. Обработка задач камеральщиком Для завершения задачи камеральщик может: - Отправить DWG/PDF ответом (reply) на сообщение с CSV в трекере. - Нажать кнопку “✅Выполнить“. - При любом сценарии: - Бот переносит сообщение с CSV в тему “Выполнено“. - В метаданных указывается **username исполнителя**. - Тикет удаляется из темы “В работу“. - В исходном рабочем чате на оригинальное сообщение с CSV ставится “👍“. - Если отправлена схема (DWG/PDF), бот пересылает её в рабочий чат с метаданными тикета. ### 2.4. Кнопка “🔄Вернуть“ в темах “В работу“ и “Выполнено“ - В теме **“В работу“** кнопка “🔄Вернуть“: - Обновляет метаданные тикета: “Ссылка ⬇️@исх\_отправитель 🔄@возвративший“. - Если прошло более **24 часов**, бот пересылает тикет заново и добавляет **статус “🔴“ (просроченный тикет)**. - В теме **“Выполнено“** кнопка “🔄Вернуть“: - Возвращает тикет в “В работу“. - В исходном рабочем чате снимается реакция “👍“. ### 2.5. Добавление метаданных в тикеты При изменении статуса задачи бот добавляет в текстовую часть тикета метаданные: - **Ссылку на исходное сообщение** (“Ссылка“). - **Username исходного отправителя** (полевого геодезиста). - **Username взявшего в работу**. - **Username выполнившего задачу**. - **Username возвратившего в работу**, если задача отменена. - **Примеры отображения:** - “Ссылка ⬇️@исх\_отправитель ✅@выполнивший“ - “Ссылка ⬇️@исх\_отправитель 🔄@возвративший“ - “Ссылка ⬇️@исх\_отправитель ▶️@взявший_в_работу“ ### 2.6. Добавление метаданных при пересылке выполненного тикета в рабочий чат - Когда тикет выполнен и PDF/DWG пересылаются в рабочий чат, к пересланному сообщению добавляются метаданные: - **Ссылка на исходное сообщение** (“Ссылка“). - **Username исходного отправителя**. - **Username исполнителя**. ### 2.7. Настройка правил маршрутизации тикетов - **Поддерживаемые сценарии:** - Из нескольких исходных тем в **один** трекер. - Из **одной** темы в **несколько** трекеров. - **По префиксу, суффиксу или REGEXP выражению имени файла**. - **По ключевым словам в тексте сообщения**. - **По ID отправителя**. - **Алгоритм работы:** - Бот проверяет **все правила**. - Если тикет подходит **под несколько правил**, исполняются **все подходящие маршруты**. ## 3. Технические требования ### 3.1. Стек технологий - **Библиотека:** Aiogram v3 (Python). - **Сервер:** Serverless-решение на Yandex.Cloud (Cloud Functions / Serverless Containers). - **База данных:** Yandex Database (YDB) для хранения: - Связей между сообщениями. - Статистики по задачам и пользователям. - Метаданных (ID чатов, тем, исполнителей). - **Конфигурация:** Файл config.yaml с параметрами: - Токен бота. - ID рабочего чата и трекера. - Настройки подключения к YDB. ### 3.2. Безопасность - Писать в трекер могут только камеральщики (настройка через права Telegram). - Бот имеет права администратора для управления темами и реакциями. ## 4. Сценарии использования ### 4.1. Полевой геодезист отправляет CSV - CSV загружается в рабочий чат. - Бот пересылает файл в тему “В работу“ с кнопкой “Взять в работу“. ### 4.2. Камеральщик завершает задачу #### Сценарий 1: Отправка схемы - Камеральщик отправляет DWG/PDF ответом на CSV в трекере. - Бот: - Переносит цепочку (CSV + схема) в “Выполнено“ с отметкой исполнителя. - Ставит “👍“ в рабочем чате и пересылает схему с метаданными. #### Сценарий 2: Без схемы - Камеральщик нажимает “✅Выполнить“ в трекере. - Бот: - Переносит CSV в “Выполнено“ с отметкой исполнителя. - Ставит “👍“ в рабочем чате. ### 4.3. Статистика - Пользователь отправляет команду `/statistic`. - Бот выводит кнопки с выбором периодов. - Бот выводит статистику по задачам за: - День - 3 дня - Неделю - Месяц - Данные группируются по пользователям и периодам. ## 5. Интерфейс - **Команды:** - `/help` — правила использования и примеры. - `/statistic` — статистика по задачам. - **Элементы UI:** - Inline-кнопки: “Взять в работу“, “✅Выполнить“, “🔄Вернуть“. - Реакция “👍“ в рабочем чате. - Метка исполнителя в теме “Выполнено“ (формат: ✅@username). ## 6. Этапы разработки 1. Настройка YDB и серверной инфраструктуры. 2. Разработка логики бота на Aiogram v3. 3. Интеграция с Telegram API (темы, кнопки, реакции). 4. Тестирование и отладка. 5. Разработка инструкции по деплою.
Похожие заказы
Создание сайтов
дистанционно
договорная
Ремонт квартир. Платформа: по рекомендации специалиста. Функционал сайта: Клиент. Контента нет. Пожелания и особенности: Хочу разработать сайт, чтобы он появлялся в результатах поиска Google, когда клиент ищет услуги по ремонту квартир.
Москва
Фрилансеры
2025-05-02
Откликнуться
Разработка ботов Telegram
дистанционно
договорная
Задачи чат-бота: сбор информации, приём текстовых заказов, информирование клиентов, интерактивное меню или каталог, автоматическое бронирование, ответы на типовые вопросы, финансовые операции. Продукт: Обучение. Техзадание есть.
Санкт-Петербург
Фрилансеры
2025-05-02
Откликнуться
Разработка приложений для Android
дистанционно
договорная
Разработка с нуля, веб-решение, дизайн интерфейса, тестирование. Устройства для масштабирования: смартфоны, планшеты. Объясню в личном общении.
Москва
Фрилансеры
2025-05-02
Откликнуться
Программисты
дистанционно
договорная
Веб-разработка. Настройка. Необходимо проанализировать готовую цепочку в МАКЕ и найти ошибку, почему цепочка не работает.
Москва
Фрилансеры
2025-05-02
Откликнуться
Разработка игр на Unity
дистанционно
договорная
Сделать проект под ключ. Игра: для установки на ПК. Игра: одиночная. Жанр: шутер. Графика: 3D.
Москва
Фрилансеры
2025-05-02
Откликнуться
Разработка приложений для iOS
дистанционно
договорная
Разработка с нуля. Устройства для масштабирования: смартфоны. Точь в точь как аська.
Москва
Фрилансеры
2025-05-02
Откликнуться
Программисты
дистанционно
договорная
Веб-разработка. Разработка с нуля, настройка. Пожелания и особенности: Веб-разработка. Разработка с нуля, настройка. Пожелания и особенности: ТЗ для сайта профи Необходимо создать два вида странички: Первая - обычный лендинг Вторая - болванка страницы соц.сети, созданная заранее для формирования Qr кода пользователя. Далее как обычная соц. Сеть - человек проходящий по ссылке создает страницу (либо через учетную запись, либо по праву первого забившего эту ссылку) далее формирует под себя всю необходимую инфу и публикует. Теперь любой другой пользователь отсканировавший Qr код смог зайти и ознакомиться с инфой на страничке. 1. лендинг: одна страничка с инфой, наверху картинка с фразой Под фразой Qr-код для заказа (переводит с лендинга на площадки покупки) и рядом кликабельные значки озон и вб. Под кодом карта с отметками людей уже с нашим сервисом, рядом с картой счетчик воспользовавшихся. Отметки должны быть кликабельны с переходом на соответствующую страничку Ниже вся важная информация: Что это Зачем это Как это работает Условия (что мы даем за эту сумму) Пример (кликабельный, переводит на полную страничку) Под описанием информация о нас Далее дубль Qr-кода для покупки Справа вверху кнопка через которую отображаются: - Оплата подписки Страничка с индефикацией пользователя как лучше, по ФИО и данным человека на страничке или по логину владельца? - блоки что я вывел выше 1. Страничка со своим id с полем для регистрации (все как в соц. Сетях) реализация по идее уже произошла, человеку нужно только зарегистрироваться, подписать соглашение и создать страничку! Далее появляется пустой лист и сбоку блоки которые можно вставить в той очередности в какой захочет пользователь и такого размера какого захочет пользователь (как виджеты в смартфоне, можно менять расположение и вид, но ограничено). Цвета тоже можно поменять, но выбор не большой. Блоки: Банерные фото, кружок аватарки (можно с функцией смены на прямоугольник), карусель фото, блок из нескольких видео, одно видео, текст описания, текст с заголовком (история), описание человека (год рождения, дата смерти, ФИО, пол, семья, увлечения, работа), блок ссылок на соц сети (не важно чьи, возможность размещать ссылки на облачные хранилища., семейное древо с привязкой уже имеющихся страниц и других людей Страничка должна иметь возможность связываться с другими страничками для создания древа В дальнейшем стоит решить как добавить людей без сервиса с привязкой на ресурсы. Функция «скрыть с сайта» убирает возможность кликнуть на лендинге (выводит инфу что пользователь убрал возможность просмотра с сайта, но отсканировав физический код, страничку можно глянуть) Далее сохраняем результат, при желании всегда можно редактировать пользователем за кем закреплен функционал админа(владельца). Объем закруженных медиа до 5гб всем, описание и древо не ограничено При не оплате услуги страничка должна перестать отображаться у не администратора полностью, а у администратора с просьбой оплатить, иначе через 2 месяца все сотрем (отображение с блюром, рядом с кнопкой оплатить кнопка «забрать информацию» с помощью которой начнется скачивание зип файла со всеми медиа и инфой, древо тоже можно выгрузить, но не в красивом формате, а просто эксель/ворд файлом).
Москва
Фрилансеры
2025-05-01
Откликнуться