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).

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

Автоматизированный бот с помощью python selenium

ТЗ --- ### 1. Общее описание проекта Бот для мессенджера Telegram должен автоматизировать процессы подбора грузов для траков на основе статусов водителей, получаемых из Amazon Relay. Бот будет интегрироваться с платформой Amazon Relay для получения данных о статусах водителей и отсылать уведомления о найденных грузах в Telegram-группу. Система предназначена для логистических компаний, с целью ускорить процессы поиска и назначения грузов, повысить эффективность работы диспетчеров и минимизировать простой водителей. вот ссылка на общее ТЗ ( https://docs.google.com/document/d/1YrUqCFhXQTjOBGaQokGRo9QKSLrcxm--rO63reUZeyU/edit?tab=t.0 )

Скрипты и боты
Опубликован:
24.12.24 13:19
Бюджет:
60000 руб.~$748.98
Надо выполнить на Collabe (Python)

Необходимо решить задачу срочно сегодня до 18:30 Необходимо выбрать представленный набор. Что ищут в Wildberries https://www.kaggle.com/datasets/demartlectus/wildberries-search-queries-from-wildhack-2021-21 Сделайте следующие задания 1) загрузите набор данных в Python, используя любой изученный вами фреймворк (например seaborn, pandas, numpy,...) 2) проанализируйте набор данных и представьте любых 5 Data Insights, которые по вашему мнению раскрывают набор данных с точки зрения полезной информации Если вам необходимо будет делать расчет -то вы можете добавить новые столбцы на основании функций / lambda-функций 3) на найденные 5 Data Insights представьте визуализацию (matplotlib/seaborn/plotly/networkx), которая подкрепляет найденные вами интересные моменты 4) полученные агрегатные данные для найденных 5 Data Insights загрузите в базу данных SQ Lite.

Скрипты и боты
Опубликован:
24.12.24 12:48
Бюджет:
1500 руб.~$18.73
Бот в Telegram для предложки в канал

Нужен Telegram бот на Python. Суть работы: есть канал, и подписчики этого канала кидают в бота свои предложения (сообщение любого формата), а это сообщение отправлялось админу. Важно сделать график работы бота, чтобы он отправлял админу сообщения только с 10:00 до 20:00. Пишите свои идеи, может быть улучшения какие-либо и сроки на выполнение

Скрипты и боты
Опубликован:
24.12.24 12:43
Бюджет:
1000 руб.~$12.49
Проведение вебинаров по python

Школа программирования ищет Преподавателя python для проведения вебинаров. Цену называйте свою. Расскажите о своем опыте

Юзабилити, тесты и помощь
Опубликован:
24.12.24 11:55
Бюджет:
4000 руб.~$49.94
Разработка REST API для существующего React-приложения

Ищу backend-разработчика для создания REST API, которое будет взаимодействовать с уже готовым frontend, разработанным на React.Реализовать CRUD-операции для управления данными.Аутентификация и авторизация (JWT).Обработка и валидация входных данных.Интеграция с базой данных (PostgreSQL).Логирование запросов и ошибок.Технические требования:Использование Python (Django/Flask/FastAPI) или Node.js (Express).API должно быть задокументировано (Swagger).Чистый, читаемый код с комментариями.Производительность и масштабируемость.Дополнительно:Frontend на React уже готов, нужно только обеспечить взаимодействие через API.Тестирование API (юнит-тесты).Поддержка CORS для корректной работы с фронтендом.

Backend
Опубликован:
24.12.24 08:21
Бюджет:
40000 руб.~$499.32
Исправить или переписать скрипт на Python библиотека Polars

Добрый день! Есть часть скрипта, который отвечает за подбор документов. Что он делает: проходи по документам "прихода" и "расхода". На документы "прихода" ставит остаток, а к документам "расхода" должен подобрать документ "прихода". Если к "расходу" подходит 2 и более "приходов" строка разбивается по количеству остатка в "приходе". Скрипт работает не совсем корректно. Когда товар продан и остаток по нему 0, а позже произошел возврат товара, скрипт данный факт пропускает и просто не проходит по этим строчкам. Возможно, он еще и не очень оптимально написан, т.к. постоянно возвращается к предыдущей строке.В вложенных файлах: - Excel - лист "Комплектации (вход)" - входные данные для скрипта; лист "РЕЗУЛЬТАТ" - то, что должно получиться после отработки скрипта- Word - полное ТЗ и ссылка на gist, где выложен кусочек кода.

Scripts
Опубликован:
24.12.24 06:01
Бюджет:
2000 руб.~$24.97
Решение капчи

Нужно написать код на python 3.8 не выше, для поиска координат иконок на картинке, без использования строгих сервисов, дата сет есть уже из 500 примеров, если нужно то можно еще сделать. На фото есть иконки внизу, нужно в таком порядке получить массив х,у координат этих иконок на основном фоне. Фон тоже меняются!

Скрипты и боты
Опубликован:
24.12.24 05:26
Бюджет:
150000 руб.~$1872.43
Доработать backend для платформы Full-time, Mid+/Senior

Ищу Full-time (хотя бы 6 часов в день) разработчика на наш проект - www.companycentral.co.ukДелаем клон www.rekvizitai.lt (Система поиска фирм), только на UK рынок.Бек частично сделан, хотим быстрее завершить, потому ищем бека.Нам нужен:Backend: Python (SQL илм NoSQL база) Django/FastAPI/FlaskСильный дев (High-Middle, Senior)Опыт: 3+ стаж реальных проектов (чтобы был бы коммерческий опыт)(домашние проекты не считаются)Английский: минимум B2 уровень, разгаворчивий Большая часть проекта уже сделана.Стэк:-Python (SQL илм NoSQL база) Django/FastAPI/Flas-Используем Jira + Slack + Hubstaff (тайм-трекер)-Docker-Есть хостинг- в команде 1 бэк, 1 фронт.Оплата в EUR/USD/RUB, по часовой ставке.Начало работы с 2-ого январяЖду ваших сообщений!

Backend
Опубликован:
23.12.24 20:04
Бюджет:
1500 руб.~$18.73
Нужно задеплоить проект

Настройка и запуск проекта, включающего MongoDB, Python, Node.js, Appium и Android Studio.  Задачи: развернуть эмуляторы, настроить сервер Appium, API для управления задачами и эмуляторами, интегрировать мобильное приложение в среде эмулятора. Все инструкции и исходный код предоставлены.  Нужно полностью настроить окружение и запустить проект. Человека ищем в долгосрок, поэтому важно быть на связи.

Скрипты и боты
Опубликован:
23.12.24 18:44
Бюджет:
20000 руб.~$249.66
Запуск Loki Promtail Grafana

Необходима регулярная помощь в настройке контейнеров, запуске compose, метрик. Оплата почасовая. Сейчас есть проблема с отражением labels в grafana, не все отражается. В целом помощь нужна регулярная. Помимо работы devops еще потребуются консультации по архитектуре приложений на python.

Скрипты и боты
Опубликован:
23.12.24 15:43
Бюджет:
2000 руб.~$24.97
Написать код на Python. Оптимальный раскрой листа

Решить задачу оптимального раскроя листа. Имеется таблица типа Excel с исходными данными. В таблице указаны размеры листовых деталей, которые необходимо произвести. Размеры вписаны в столбцы "Длина, мм", "Ширина, мм". Количество деталей, которые необходимо изготовить вписаны в столбец "Количество, шт.". Также у каждого типа Деталей имеется Наименование исходного материала. См. файл "Исходные данные для 2D раскроя". Имеется вторая таблица, в которой для каждого материала прописаны параметры "Длина, мм" и "Ширина, мм". Это размеры исходных заготовок. Необходимо решить симплекс методом задачу оптимального раскроя листа, т.е. Необходимо определить минимальное количество исходных заготовок, которые позволять произвести требуемое количество деталей. При этом детали могут располагаться как в исходном состоянии на заготовке, так и в повернутом на 90 градусов состоянии. Все исходные заготовки - прямоугольники Все детали - прямоугольники

Десктоп программирование
Опубликован:
23.12.24 15:04
Бюджет:
20000 руб.~$249.66
Модернизация софта (Python)

Здравствуйте! Ищу программиста работающего на python для модернизации софта. Основные задачи:- добавление функции мультиаккаунтинга- работа с интерфейсом программы.Работа очень срочная, максимальные сроки 3 дня.

Scripts
Опубликован:
23.12.24 14:16
Бюджет:
35000 руб.~$436.9
Бот ТГ на python с сервисом по поиску упоминаний в Инст

Я постараюсь текстом кратко описать функционал который нам необходимо реализовать.похожий функционал уже реализован в одном боте, пишите, скину ссылку на бота.нам из него по сути нужна только часть на первое время, а именно это поиск упоминаний бренда в Instagram. С целью поиска блогеров, у которых данный бренд рекламировался.И выдача этих данных в TG для пользователя.этот функционал о котором я говорю называется в боте выше «поиск по бренду»Моя мысль, что не делать этот сервис с нуля, а сделать через «прокладку» т.е через обращение к другому сервису, я уже нашел похожие, но не знаю подходят ли они нам. Обработку запроса и отдавать пользователю данные в установленном формате.Мы уже начали делать бот с сервисом Mention, но появились некоторые трудности и всё затянулось. Нужно доделать бота и подключить к сервису (возможно, вы найдете другой сервис)

Other
Опубликован:
23.12.24 14:08
Бюджет:
10000 руб.~$124.83
API YandexART и Python

Нужно создать копию новогодней елки как на https://ya.ru/ https://disk.yandex.ru/i/d5nSqiNq_13KoA используя API YandexART для генерации картинок в виде елочных игрушек (можно рассмотреть аналог, но я не нашел где можно делать нормальные картинки в виде игрушек) Здесь документация по api https://yandex.cloud/ru/docs/foundation-models/operations/yandexart/request еще полезная информация которая может пригодиться https://telegra.ph/Rabota-s-API-YandexART-na-Python-08-25?ysclid=m4zyc3iz32507011046 Воссоздаем все как на оригинале https://ya.ru/ кроме: 1. Выбора различных дизайнов елки (используем первую); 2. Иконки "нравится" рядом с именем На форме для создания картинки елочной игрушки, перед описанием инструкции для промта добавляем поле куда пользователь может вписать свое имя https://disk.yandex.ru/i/l8OoWEoleusBjQ это имя выводим под игрушкой при выводе на елке. Добавляем для этого поля ограничение в 22 символа. Добавляем таймаут в 40 секунд между генерацией картинок для одного пользователя и общее ограничение в пять генераций картинок для одного пользователя в сутки. Сделать надо за пару дней.

Скрипты и боты
Опубликован:
23.12.24 13:40
Бюджет:
16000 руб.~$199.73
Админка для бота

Добрый день! Есть рабочий проект бота по сбору и сокращению новостей. Нужна самописная админка для взаимодействия с базой данных бота: - управление настройками пользователей - управление подписками - просмотр статистики по добавленным каналам - дашборды Желаемый (но не окончательный) стек: Бэк на Python Django Фронт можно как на шаблонах, так и на React Дизайн и стили пока не принципиальны, можно через ChatGPT На первом этапе нужно получить минимальный рабочий продукт с перспективой доработок. Для отклика обязателен опыт в подобных проектах, хорошее знание Python, умение работать в команде, Git. Пишите цену, сроки и пути реализации.

Скрипты и боты
Опубликован:
23.12.24 13:02
Бюджет:
24000 руб.~$299.59
Доработать бота по саммари видео

Добрый день! Есть рабочий проект бота по сбору и сокращению новостей. Хотим подключить функцию саммаризации видео c YouTube. У нас уже есть отдельный бот под это, но есть проблемы и соответсвующие задачи: - скорость работы. Мы стремимся к качеству на уровне Eightify или https://300.ya.ru/, для примера. Хотя бы отдалённо) -на данный момент скрипт извлекает аудио из видео, распознаёт текст и обрабатывает его через ChatGPT. Нужно учесть, что ко многим видео есть субтитры, в таком случае нужно делать саммари по ним, что значительно ускорит работу, так как не будет необходимости скачивать видео, извлекать из него аудио и распознавать текст по голосу. - основной бот работает синхронно. Бот по саммаризации - асинхронно. В свете новой задачи для одновременного взаимодействия с несколькими пользователями без простоя работы основных функций бота необходимо переписать его на асинхронный движок Aiogram. Задача срочная, на реализацию до 5 дней. Для отклика обязателен опыт в подобных проектах, хорошее знание Python, умение работать в команде. Если сработаемся, возможны новые задачи.

Скрипты и боты
Опубликован:
23.12.24 12:44
Бюджет:
24000 руб.~$299.59
Доработать парсер на Telethon

Добрый день! Есть рабочий проект бота на Python по сбору и сокращению новостей. Пользователи добавляют в него каналы. Параллельно работает скрипт на Telethon, который подписывается на эти каналы, прослушивает их и пересылает новые сообщения в бота. Проблема в том, что один Telethon-клиент может быть подписан максимум на 500 каналов. Задача в том, чтобы подключить новые Telethon-сессии для одновременной работы. При этом, чтобы подписки на этих аккаунтах не дублировались. Поскольку сессии будут запускаться на одном сервере, нужно будет использовать прокси. Все данные будут предоставлены в личных сообщениях при выборе исполнителя. Задача срочная, до 5 дней! Откликайтесь, если есть опыт в решении подобных задач. В откликах пишите сроки, цену и пути реализации.

Скрипты и боты
Опубликован:
23.12.24 12:18
Бюджет:
24000 руб.~$299.59
Бот ТГ на python с сервисом по поиску упоминаний в Инст

Я постараюсь текстом кратко описать функционал который нам необходимо реализовать. похожий функционал уже реализован в одном боте, пишите, скину ссылку на бота. нам из него по сути нужна только часть на первое время, а именно это поиск упоминаний бренда в Instagram. С целью поиска блогеров, у которых данный бренд рекламировался. И выдача этих данных в TG для пользователя. этот функционал о котором я говорю называется в боте выше «поиск по бренду» Моя мысль, что не делать этот сервис с нуля, а сделать через «прокладку» т.е через обращение к другому сервису, я уже нашел похожие, но не знаю подходят ли они нам. Обработку запроса и отдавать пользователю данные в установленном формате. Мы уже начали делать бот с сервисом Mention, но появились некоторые трудности и всё затянулось. Нужно доделать бота и подключить к сервису (возможно, вы найдете другой сервис)

Скрипты и боты
Опубликован:
23.12.24 10:49
Бюджет:
30000 руб.~$374.49
ML-инженер для интеграции нескольких моделей искусственного интеллект

Ищем опытного ML-инженера для интеграции нескольких моделей искусственного интеллекта в Telegram ботаНа текущий момент уже написан код на питоне, который генерирует изображение, однако присутствуют проблемы с недостаточно качественной генерацией изображений (генерация производится при помощи одной модели)Бот должен эффективно анализировать текстовые промты и выбирать наиболее подходящую комбинацию моделей для генерации изображений на основе полученных входных данных.Исходя из этого, необходимо решить следующие задачи:- Интеграция нескольких AI-моделей для создания изображений.- Реализация логики выбора комбинации моделей в зависимости от текста промта.- Обеспечение качества генерации изображений (необходимо не просто выбирать соответствующие модели, но произвести корректную оптимизацию для генерации качественных изображений)Требования к кандидату:- Глубокие знания в области машинного обучения и работы с AI моделями.- Опыт разработки и интеграции AI-моделей - Опыт программирования на Python (другой ЯП и переписку кода с нуля не рассматриваем)- Опыт работы с Telegram Bot API.- Умение обрабатывать текстовые промты и адаптировать логику выбора моделей.- Примеры выполненных проектов или портфолио.

Scripts
Опубликован:
23.12.24 09:45
Бюджет:
5000 руб.~$62.42
Программа правки текста на 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

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

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