x

Python (FastAPI) интеграция Telegram и Webim через Custom Channel

Перейти к заказу
1. Цель и общее описание Необходимо создать сервис, который будет:Принимать входящие сообщения от Telegram-бота (через Webhook).Перенаправлять эти сообщения в Webim посредством механизма Custom Channel.Принимать ответы от оператора в Webim (через callback) и пересылать их обратно пользователям в Telegram.Использовать базу данных PostgreSQL:Для хранения настроек (конфигураций, токенов, параметров интеграции).Для хранения связки между Telegram-пользователями и Webim-посетителями (visitor_id ↔ chat_id).При этом сами тексты сообщений (входящие и исходящие) не сохраняются в БД. Хранится только необходимая техническая информация: настройки интеграции и соответствие идентификаторов пользователей в обеих системах. 2. Требования к архитектуре и окружению Язык реализации: Python Web-фреймворк: FastAPI СУБД: PostgreSQLВзаимодействие с Telegram:Через Telegram Bot API и Webhook (setWebhook).Токен бота хранится в БД (таблица настроек) или в .env — на усмотрение исполнителя, но желательно хранить в БД, если это соответствует требованиям безопасности в инфраструктуре заказчика.Взаимодействие с Webim:Через REST API (Custom Channel). https://webim.ru/kb/dev/api/custom-channel.htmlCallback-URL для получения исходящих сообщений от оператора.access_token Webim также хранится в БД (в таблице настроек), либо в .env.Безопасность:Все внешние вызовы должны выполняться по HTTPS.Логирование:Использовать стандартный модуль logging (или аналог) для записи ключевых событий (получение сообщения, отправка, ошибки).Логи можно хранить локально или в любом внешнем сервисе (по согласованию). 3. Функциональные требования 3.1. Обработка входящих сообщений от Telegram Endpoint: POST /telegram-webhookПринимает JSON (update) от Telegram.Извлекает из него:Идентификатор пользователя (chat_id).Текст сообщения (при наличии).Определяет (через обращение к БД) наличие связки chat_id ↔ visitor_id:Если такой записи нет — создаёт новую:Генерирует/запрашивает новый visitor_id (может быть, например, str(chat_id) или использовать GUID).Сохраняет пару visitor_id, chat_id в таблице (см. пункт 4.2).Если запись уже существует, использует соответствующий visitor_id.Отправляет сообщение в Webim по Custom Channel:Передаёт visitor_id, текст сообщения и любую дополнительную метаинформацию (например, username).Сообщения в БД не сохраняются.Регистрация Webhook:Предоставить инструкцию по выполнению setWebhook для Telegram (пример CURL или Python-скрипт). 3.2. Обработка исходящих сообщений от Webim Endpoint: POST /webim-callbackWebim вызывает этот адрес при отправке ответа оператором. По visitor_id ищет в БД связку visitor_id ↔ chat_id.Если связка найдена, получает chat_id.Если нет — логирует ошибку (такое может произойти, если пользователь устарел, или в случае расхождения данных).Отправляет сообщение пользователю в Telegram (метод sendMessage).В БД текст сообщения не сохраняется. 3.3. Хранение настроек в PostgreSQL Хранить токены, URL-адреса и прочие конфигурационные данные в таблице settings. При запуске приложения (FastAPI) читать настройки и использовать в процессе интеграции. Время от времени их можно кэшировать в оперативной памяти, чтобы не грузить БД частыми запросами. 3.4. Хранение связки “visitor_id ↔ chat_id” в PostgreSQL Назначение: чтобы точно знать, какому Telegram-пользователю (chat_id) соответствует конкретный visitor_id из Webim.Предложенная таблица (например, chat_mapping): !Тут на усмотрение разработчика! При первом сообщении от нового Telegram-пользователя сервис создаёт запись (если её ещё нет).При callback из Webim с visitor_id сервис ищет запись в chat_mapping.Важно: если предполагается, что один и тот же Telegram-пользователь может иметь несколько различных сессий (и, соответственно, несколько visitor_id), нужно уточнить бизнес-логику. Наиболее распространённый случай: один chat_id ↔ один visitor_id. 4. Технические детали реализации 4.1. Структура проекта (пример на усмотрения разработчика) project/├── app/ │ ├── main.py # Точка входа FastAPI-приложения │ ├── config.py # Функции чтения настроек из БД или .env │ ├── db.py # Подключение к PostgreSQL (SQLAlchemy или psycopg2) │ ├── routers/ │ │ ├── telegram.py # Маршрут /telegram-webhook │ │ └── webim.py # Маршрут /webim-callback │ ├── schemas.py # Pydantic-схемы (валидация входящих данных) │ └── utils.py # Утилиты (отправка сообщений в Webim/Telegram) ├── requirements.txt # Зависимости (FastAPI, uvicorn, psycopg2 и т.д.) ├── README.md # Инструкция по развёртыванию и настройке ├── .env # Переменные окружения (не хранить в Git) └── ... 4.2. Взаимодействие с Webim Отправка входящих сообщений:Из telegram.py после получения chat_id и текста вызывается метод utils.send_to_webim(...).В аргументах передаются:visitor_id (из таблицы chat_mapping или вновь созданный).Текст сообщения.Авторизация по access_token Webim (из таблицы settings или переменной окружения).Приём сообщений (callback):В webim.py обрабатывается JSON с полями visitor_id, message, т. д.Находит в БД chat_id.Отправляет ответ в Telegram методами Bot API. 4.3. Взаимодействие с Telegram Отправка сообщений:Метод sendMessage Telegram Bot API.В качестве chat_id используется значение из chat_mapping.Токен бота читается из settings или переменной окружения.Приём сообщений (Webhook):Endpoint POST /telegram-webhook.Извлекает chat_id, текст и затем направляет сообщение в Webim. 4.4. Логирование Записывать в логи каждое входящее и исходящее сообщение (только факт получения/отправки, без сохранения полного текста в БД).При ошибках (например, Telegram вернул 4xx/5xx или Webim не ответил) логировать детальную информацию об ошибке. 5. Выходные материалы Исходный код в репозитории (Git) со структурой, описанной выше.Файлы миграции или SQL-скрипты:Для создания таблицы settings.Для создания таблицы chat_mapping.Инструкция в формате README.md (или аналог):Установка зависимостей (requirements.txt).Настройка переменных окружения (или заполнение таблицы settings).Запуск приложения (например, uvicorn app.main:app --host 0.0.0.0 --port 8000).Настройка Webhook в Telegram (setWebhook).Настройка Webim (callback URL).Пример полного цикла: пользователь → Telegram → Webim → оператор → Webim callback → Telegram.Тестовая сессия:Проверка, что при новом chat_id сервис корректно создаёт новую запись в chat_mapping.Проверка ответа оператора в Webim и доставки этого ответа в Telegram.Убедиться, что сообщения не сохраняются в БД. 6. Критерии приёмки Функциональность:Сообщения из Telegram доходят в Webim, ответы оператора — в Telegram.Связка visitor_id ↔ chat_id создаётся и поддерживается корректно в БД.Настройки (токены и пр.) считываются из PostgreSQL или .env, согласно требованиям.Стабильность:Приложение обрабатывает множественные запросы без критических сбоев.Логи содержат информацию об ошибках, при сетевых сбоях сервис не падает.Качество кода:Соблюдение PEP8 или аналогичных стандартов.Логичная структуризация (роуты, утилиты, модели/схемы).Документация:Наличие полного руководства по запуску/настройке 1-3 станицы.Примеры API-запросов и сценария тестирования.Сроки и соответствие ТЗ:Все перечисленные задачи выполнены.Предоставлен рабочий прототип, готовый к развёртыванию (при условии корректного наполнения таблицы settings и настройки Webim/Telegram).

Найдено 7014 результата

Программа правки текста на Python

Техническое задание: Программа для правки текста с использованием API GPT Цель: Создать программу-ассистента для интеграции с текстовыми редакторами (MS Word, Google Docs и др.). Пользователь вводит текст, нажимает кнопку "Исправь GPT", после чего текст отправляется на API для обработки и возвращается исправленным. Функционал: Проверка текстового блока (орфография, грамматика, стилистика). Возврат исправленного текста в редактор. Выбор стиля правки: Орфография и грамматика. Продающий стиль. Стиль специалиста по маркетингу. Официальный стиль. Разговорный тон. Настройка тона текста (дружеский, нейтральный, деловой). Режим проверки: быстрая или профессиональная. API: Поддержка модели GPT для редактирования текста. Настраиваемые параметры правки. Обратный отклик со статусом обработки и предложениями. Интерфейс: Кнопка "Исправь GPT" в редакторе. Индикация обработки текста (анимация или статус). Совместимость: Windows, macOS, плагины для Google Docs и MS Word, web-версия. Нефункциональные требования: Обработка текста до 3 секунд на 1000 символов. Низкие системные требования. Безопасность данных (шифрование передачи и хранения). Этапы разработки: Анализ требований. Дизайн и прототипирование.

Скрипты и боты
Опубликован:
23.12.24 09:44
Бюджет:
3000 руб.~$37.45
Создать чат-бот в Телеграмм или Вацап с использованием Python или JavaScript

Cтратегиz по созданию чат-бота для приема заявок на проведение праздников по индивидуальным предпочтениям заказчика. Вот... руб

Веб-разработка
Опубликован:
23.12.24 09:12
Бюджет:
35000 руб.~$436.9
Нужен одностраничник на react

Для проекта (разработка mini apps в telegram) нужен front Нужен одностраничник на react, Backend на Python Разработка в GitHub Фронт должен уметь упаковаться в одну HTML Макет: https://www.figma.com/slides/C0Ra3PJ9CO5YWdcjrUf9V1/Untitled?node-id=1-2&t=dGp74fEPj5Lu5sjR-1 Просьба сориентировать по возможности реализации, бюджету и срокам. Заранее благодарю за ответ.

Создание сайта
Опубликован:
23.12.24 06:19
Бюджет:
15000 руб.~$187.25
Разработка архитектуры БД, обработка ее AI передача API

Ищу уверенного программиста python/php для работы с большим объемом данных, их проверке, оптимизации, и разработки под них БД, для дальнейшей работы по API и CRM. опыт разработки и работы с БД, умение писать API и сервисы/микросервисы под сервера. опыт интеграции чат-ботов на фронт и бекенд, запуск и настройка CRM - приветствуется. Если есть опыт рассылок на Whatsapp/TG - он тоже будет очень кстати.

Скрипты и боты
Опубликован:
23.12.24 05:24
Бюджет:
100000 руб.~$1248.29
Фикс полей и добавление новых полей в python (django)

Добрый день, есть проект сделан на питоне (django), фронт на vue, swagger тоже присутствует. Необходимо: 1) Пофиксить проблему с обработкой заявки на перемещение члена в учете. Заявка создается и принимается корректно, однако перемещения не происходит. Необходимо разобраться почему и исправить проблему. 2) Ввести блок в учетную карточку членов с возможностью отмечать галочками наличие уже прописанных достижений. Данные должны сохраняться корректно для дальнейшего вывода на отдельную страницу и настройки фильтрации. 3) Добавить 1 настроенное поле в бд, чтобы оно сохранялось python manage.py makemigrations по каким-то причинам не проходит, поле во фронт вставлено.

Доработка и настройка сайта
Опубликован:
23.12.24 02:30
Бюджет:
12000 руб.~$149.8
Сделать функционал на python

У нас есть готовое апи, бот, и джанго админка, нужно доделать функционал 1. Получение позиций и создание их, верное вычисление на основе уже готовой формулы и сохранение в базе, отображение в режиме реального времени в админке и у пользователей 2. реферальная ( начисление новым приглашением многоуровнево и кто пригласил, и кого пригласили )

Скрипты и боты
Опубликован:
22.12.24 20:16
Бюджет:
2000 руб.~$24.97
Исправить ошибки в программе написанной на Python

При запуске обновления появляется сообщение об ошибках (см. файл). Выяснить и объяснить причины появления данных ошибок. Устранить ошибки, "допилив" функционал необходимый заказчику.

Десктоп программирование
Опубликован:
22.12.24 19:41
Бюджет:
3000 руб.~$37.45
Telegram бот с ИИ

Нужен бот в Telegram (ЯП: Python), в котором будет интегрировано несколько моделей ИИ. также добавить реферальную систему, проверку подписки на канал, платежную систему и админ-панель. важно также сделать бота асинхронным и добавить БД (MySQL/PostgreSQL - здесь нужно обсудить) более подробное ТЗ скину тому, кого выберу исполнителем.

Скрипты и боты
Опубликован:
22.12.24 16:07
Бюджет:
20000 руб.~$249.66
Мини-приложение для записи

Пример готового бота для записи уже есть @The_Dosia_bot на языке python+aiogram написан, необходимо перенести тоже самое в мини-апп с дизайном бота @MedSyncbot.

Скрипты и боты
Опубликован:
22.12.24 13:12
Бюджет:
20000 руб.~$249.66
Доработка программы по созданию скриншотов на Python

Саму программу можно скачать тут https://saveshot.ru Исходники предоставлю. Фактически вся программа была создана с помощью GPT Есть некоторые моменты которые не удалось победить, на это и требуется доработка. 1. Функционал назначения пользовательского сочетания клавиш в настройках программы. 2. При запуске программы всплывает системное уведомление по подсказке на какое сочетание клавиш делать скриншот. Но если системные уведомления отключены, этого не произойдет. Хочется организовать уведомление другим способом. 3. Возможность выбора автоматического запуска программы с запуском ПК - включать/отключать эту настройку в программе. Чуть позже также задача по редизайну когда будет готов макет и в будущем другие задачи, хотелось бы сотрудничать в долгую. Пожалуйста укажите цену для этих 3 задач.

Десктоп программирование
Опубликован:
22.12.24 10:04
Бюджет:
1000 руб.~$12.49
Скрипт подведения итогов розыгрыша Instagram

Нужно написать скрипт желательно Python (в дальнейшем он будет добавлен на сайт) в котором: 1) собирает комментарии из указанного поста/рилс 2) проверять дубли отметок в комментариях (чекбокс разрешать/запретить, в случае если в конкурсе разрешено только один коммент) 3) проверять подписку на аккаунт или подписки на указанные аккаунты 4) рандомно выбирать одного или нескольких победителей

Скрипты и боты
Опубликован:
22.12.24 08:42
Бюджет:
10000 руб.~$124.83
Работа по яп python

Здравствуйте, нужно сделать работу по яп python. Задание!!! _______________________________________________ 1) Создать программу на языке Python для решение задачи по выбранной теме. В работе должно быть - описание метода - блок-схема решения задачи - при составлении программы на языке Python представить сравнение возможных реализаций программы - рассмотреть есть ли встроенные функции в дополнительных модулях для решения выбранной задачи - при составлении программы на Python предусмотреть возможность создания модуля с функциями пользователя, которые встречаются при составлении программы (к созданным вами функциям должна быть представлена документация) - реализовать возможность ввода/вывода исходных данных/результатов из/в файл ( тип файла выбираете самостоятельно, делаете обоснование выбора типа файла) - в программу включаете обработку исключений - дружественный интерфейс 2) Выбираете дополнительную библиотеку( модуль) Python. Описываете назначение, приводите базовые примеры работы ( Pandas, Numpy, Matplotlib НЕ берёте) _______________________________________________ Задача: . Вычисление корней алгебраического уравнения методами - Ньютона-Рафсона - Берстоу. Тому кто возьмется, кину пример реализации другого варианта docx файла.

Скрипты и боты
Опубликован:
22.12.24 06:32
Бюджет:
1500 руб.~$18.73
Разработка парсера бк

Требуется написать парсер, а также адаптировать написанные разработчиком парсер, если сайты будут меняться.Среднее время реализации парсера при должной подготовке 1-3 дня.Основная задача состоит в том, чтобы парсить данные стабильно, быстро и незаметно для сайтов, язык разработки python.Вам предстоит исследовать сайт – выяснить как фронтенд взаимодействует в бэкендом, найти полезные эндпоинты, которые отдают данные. Наилучший вариант – если вы найдете как подписаться на пуши ( например по вебсокету или graphql) если они есть.Также достаточно хороши эндпоинты отдающие интересующие нас данные как текущие снимки состояний или инкрементальные обновления через pull.Подробное ТЗ составлено.#####По простому: основная работа не столько найти как доставать данные, сколько разобрать формат и отправить его в редис в нужном нам формате.#####Пожалуйста не отзывайтесь если у вас мало времени на реализацию этой задачи(она действительно довольно трудоемкая).

Bots
Опубликован:
21.12.24 12:24
Бюджет:
30000 руб.~$374.49
Необходимо пофиксить баги в простом webapp на python

Здравствуйте, недавно написали систему бронирование рабочих мест в организации (ТЗ этой задачи прикрепил в файлах), но при попытке забронирования места он выдает ошибку (приложил скрины ошибки). Необходимо пофиксить проблемы, что бы всё работало. Проект скину тем, кто заинтересуется в его выполнении.

Скрипты и боты
Опубликован:
20.12.24 20:36
Бюджет:
500 руб.~$6.25
Создание скрипта на Python для тик ток

Нужно создать шаблон на питоне 1.Заходим в куки 2.Проверяем зашли ли в аккаунт тик ток 2.Переходим к видео. 3.Нажимаем пару кнопок и все. И записывает в отчёт, ссылка на видео и название файла куки. Пишите кто может срочно сделать и просьба отвечайте и смотрите личные сообщения я сразу напишу кто устроит меня. Интересует подключение капчи и ещё в графической оболочке pycharm Желательно сделать в многопотоке

Скрипты и боты
Опубликован:
20.12.24 20:27
Бюджет:
1500 руб.~$18.73
Доработать софт уведомлений (сервер - бот)

Добрый день!Нужно доработать проект. Имеется ряд проблем из-за которых софт не выполняет часть функционала и падает.Если вы разбираетесь в запросах, methods api telegram, postgres, развертывании софта на сервере и умеете читать чужой код и логи на сервере, то пишите контакты для связи. Оплата по договоренности.Основной язык: python

Other
Опубликован:
20.12.24 15:50
Бюджет:
50000 руб.~$624.15
Морфологический анализ кода

Доработать для своих данных код на ЯП Python (код представлен). Провести обработку корпуса собранных текстов по теме выбранного проекта (формат файлов - ТХТ, не менее 10 текстов). Предоставить ссылку на папку с кодом и с данными (с доступом), которая содержит: - папку с исходными текстами - папку с обработанными текстами (без тегов). - папку с обработанными текстами с тегами - код на ЯП Python для своих данных (с выходными данными выполнения) DH_ Preprocessing_for_Russian - для обработки текстов на русском языке (mystem, pymorphy) DH_Preprocessing_with_Spacy - для обработки текстов на разных языках (spacy) DH_Preprocessing_with_Spacy_chinese - для обработки текстов на китайском языке

Скрипты и боты
Опубликован:
20.12.24 14:47
Бюджет:
500 руб.~$6.25
Доработать код

Доработать для своих данных код на ЯП Python, с помощью которого провести Токенизацию (с удалением пунктуации), удаление стоп-слов, приведение к нижнему регистру (код представлен). Провести тестирование на предложениях из своих текстов (в формате ТХТ). Представить ссылку на папку с доработанным кодом, ячейки которого выполнены. (DH_Preprocessing_data_Lemma.ipynb) Из zip. файла взять тексты.

Скрипты и боты
Опубликован:
20.12.24 14:42
Бюджет:
500 руб.~$6.25
Создать дизайн сайта для Python-тренажера

Стажёр-дизайнер (веб/UX/UI) для Python-тренажёра Ищем начинающего дизайнера или выпускника курсов для участия в интересном проекте — разработке онлайн-тренажёра для решения задач по программированию на Python. Это отличная возможность для вас: • Прокачать навыки на реальном проекте. • Получить опыт работы в команде. • Пополнить портфолио. • И даже немного заработать (достаточно на кофе для вдохновения). Что нужно сделать: Проект ещё в стадии планирования, поэтому работа поделена на этапы: Этап 1: Наброски (до 500 руб.) • Создание первых концептов и прототипов. • Совместное обсуждение идей и функционала с командой. • Добавление или удаление функций по ходу разработки. Этап 2: Базовый дизайн (до 500 руб.) • Детализация ранее созданных концептов. • Доработка страниц, внесение изменений и улучшений. • Формирование более-менее завершённого макета. Этап 3: Финализация дизайна (до 500 руб.) • Последние штрихи: доработки, улучшения, добавление деталей. • Подготовка конечного дизайна, готового к передаче разработчикам. Что мы от вас ожидаем: • Навыки работы в Figma (или аналогах). • Умение работать с интерфейсами для веб-приложений. • Базовое знание типографики и цветовых сочетаний • Базовое понимание UX/UI-дизайна. • Готовность обсуждать идеи и участвовать в процессе планирования. Что вы получите: • Опыт работы над реальным проектом. • Готовый проект в портфолио. • Сертификат или рекомендацию после завершения работы. • Гибкий график работы и поддержку команды. • Гонорар на каждом этапе. Как подать заявку: • Отправьте короткий рассказ о себе и ссылку на портфолио.

Sites
Опубликован:
20.12.24 14:14
Бюджет:
500 руб.~$6.25
Разработка телеграм бота +фронтенд

Добрый день! Ищем разработчика телеграм бота для выполнения задачи: - Перенос проекта из php в python (библиотека flask) - Доработка перенесённого проекта: внедрение нового функционала, исправление багов Описание самого проекта: - Есть админ панель, написанная на стеке html, css, javascript, bootstrap 5, php, mysql. - Есть телеграм бот, написанный на языке python с использованием библиотеки pytelegrambotapi - В админ панели задаются настройки для телеграм бота, эти настройки используются для функционирования бота.

Скрипты и боты
Опубликован:
20.12.24 13:01
Бюджет:
30000 руб.~$374.49

Текущая страница: 22

Всего страниц: 351