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

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

Нужна доработка проекта на Python (Flask) с интерфейсом

Ищу опытного разработчика для завершения проекта на Python (Flask). Необходимо помочь с доработкой скрипта на последнем этапе разработки. Описание задачи: Доработка существующего функционала. Оптимизация и исправление ошибок (если требуется). Тестирование и проверка работы интерфейса. Что важно: Опыт работы с Flask и Python. Ответственность и соблюдение сроков.

Скрипты и боты
Опубликован:
09.12.24 17:17
Бюджет:
5000 руб.~$62.42
Frontend-разработка (React) Связать по API

Добрый день. Бэкенд написан на Python, а фронтенд реализован на React. Сейчас мы ищем талантливого Frontend-разработчика, который поможет в тандеме с разработчиком настроить взаимодействие между фронтом и бекендом мини приложения в ТГ Ссылку на верстку и описание скину кандидатам

Верстка
Опубликован:
09.12.24 14:40
Бюджет:
10000 руб.~$124.83
Доработка уже готового скрипта

Необходимо добавить в уже готовый скрипт на Python новую функцию по парсингу цен на игры с PS Store US и изменять цены в соответствии установленному курсу. Вроде 1 USD = 120 (руб)

Скрипты и боты
Опубликован:
09.12.24 13:47
Бюджет:
2000 руб.~$24.97
Скрипт на Python для взаимодействия с телефонией

Подключена телефония от Plusofon: https://plusofon.ru/products/cloudpbx https://plusofon.ru/products/siptrunk Требуется реализовать такого бота: на вход поступают два номера телефона, бот звонит сначала на первый номер, потом на второй, и соединяет два номера между собой в конференц-связь, чтобы они могли общаться между собой. На выходе должен получиться скрипт на Python с вышеописанным функционалом. Если необходимо будет подключить стороннее ПО - это ок, главное, чтобы был интерфейс для взаимодействия с ним через Python. К сожалению, понятия не имею, как это всё должно работать, так что рассмотрю любые варианты [:1f642]

Скрипты и боты
Опубликован:
09.12.24 11:52
Бюджет:
7000 руб.~$87.38
Интеграция chat gpt с базой cian

Необходимо создать чат бота, интегрировать библиотеку cian по api. Язык программирования python.сроки сжатые.

Скрипты и боты
Опубликован:
09.12.24 11:40
Бюджет:
10000 руб.~$124.83
Настройка шаблона NiceAdmin под рекламную платформу

Необходимо настроить шаблон административной панели NiceAdmin для использования в рекламной платформе. Основной функционал: 1.Кампании: Создание, редактирование, удаление кампаний. Управление бюджетом, целевой аудиторией, настройками таргетинга. Отображение статистики: клики, показы, CTR, расходы. 2.Креативы: Загрузка рекламных материалов (тексты, изображения, видео). Управление заголовками и описаниями. Привязка к конкретным кампаниям. 3.Пользователи: Таблица пользователей с ролями (рекламодатель, модератор, администратор). Управление ролями и правами доступа. 4.Аналитика: Отображение графиков и таблиц по кампаниям. Фильтры по дате, пользователям, и кампаниям. 5.Баланс: Просмотр текущего баланса пользователя. История транзакций. Форма пополнения. 6.Настройки: Управление API-ключами, уведомлениями, логотипом платформы. Технические требования: Использование шаблона NiceAdmin. Бэкенд: Python (Flask) или Node.js. База данных: MySQL или PostgreSQL. Полная адаптивность интерфейса. Результат: Рабочая административная панель. Подключение к серверу с документацией по развёртыванию. Сроки и бюджет: Ожидаем предложения от исполнителей.

Доработка и настройка сайта
Опубликован:
09.12.24 11:10
Бюджет:
20000 руб.~$249.66
Тех. поддержка бота

Ищу разработчика для тех. поддержки готового бота-магазина с простыми функциями каталога, оформления заказа, рассылки и админкой Задача: Следить, чтобы бот стабильно работал (поднимать его в случае падения) + изредка добавлять новые функции Язык: python БД: sqlite Ищем ответственно и заряженного разработчику на постоянку, оплата ежемесячная Пиши почему должен выбрать именно тебя! Выберу лучшего!

Скрипты и боты
Опубликован:
09.12.24 10:45
Бюджет:
6000 руб.~$74.9
Антидетект браузер + python

Автоматизация на связке антидетект браузер + python для сайта store.playstation.com. Жду запросов на ТЗ от людей с релевантным опытом.

Скрипты и боты
Опубликован:
09.12.24 07:15
Бюджет:
20000 руб.~$249.66
Бот автоответчик Telegram с подвязкой ИИ

**Техническое задание на разработку бота Telegram (автоответчик с AI)** **1. Общая информация** Разработать Telegram-бота для автоответа на личные сообщения с использованием AI для моделирования ответов от имени пользователя. **2. Функциональные требования** 2.1. **Основные функции** - Автоматическая обработка и ответ на входящие сообщения. - Генерация ответов AI, имитирующего стиль и лексикон пользователя. - Интеграция с API AI (например, OpenAI API). 2.2. **Опции общения** - Анализ и адекватная генерация ответов. - Сохранение контекста диалога в сессии. - Интерактивные элементы: кнопки, команды для завершения диалога. 2.3. **Пользовательский интерфейс** - Простой интерфейс. - Команды управления диалогом (например, начать, стоп). **3. Технические требования** 3.1. **Технологии и инструменты** - Язык программирования: Python, Node.js или другой поддерживаемый язык. - Telegram API и библиотека (например, python-telegram-bot). - Интеграция с AI API. - База данных для хранения сессий и контекста (например, SQLite, PostgreSQL). 3.2. **Базовые функции** - Получение, обработка сообщений. - Генерация и отправка ответов. - Подключение к API для генерации текстов. - Логирование (по необходимости). **4. Дополнительно** - Возможность расширения функционала (новые команды, сервисы). - Поддержка нескольких языков (по желанию). **5. Ожидаемые результаты** Рабочий бот, ведущий диалог в личных сообщениях с имитацией человеческого общения и контекстными ответами через AI.

Скрипты и боты
Опубликован:
09.12.24 06:57
Бюджет:
1000 руб.~$12.49
Автоматизация Chromium python

Необходимо разработать кроссплатформенный скрипт на Python для работы с Chromium + Selenium/Playwright. Скрипт должен включать следующие функции: ____ - Работа с Google Sheets. - Работа с прокси. - Создание и восстановление профилей браузера. - Имитация поведения Chrome Android (Насколько это возможно), в т.ч. подмена Client Hints, Canvas, WebGL и других параметров. ____ В отклике: - Напишите, какой опыт у вас есть в разработке с использованием Playwright, Selenium или других инструментов автоматизации браузера. - Ваш опыт работы с подменой браузерных параметров (Anti-detect). ____ Имеется полное ТЗ, предоставлю его откликнувшимся. Сроки и цену до ознакомления писать не обязательно. Главная часть задачи — реализация anti-detect функционала. Если у вас нет опыта в этой области или вы не уверены в своих навыках, пожалуйста, не откликайтесь.

Скрипты и боты
Опубликован:
09.12.24 05:46
Бюджет:
50000 руб.~$624.15
Автоматизация Chromium python

Необходимо разработать кроссплатформенный скрипт на Python для работы с Chromium + Selenium/Playwright с anti-detect функционалом. Скрипт должен включать следующие функции:Работа с Google Sheets.Работа с прокси.Создание и восстановление профилей браузера.Имитация поведения Chrome Android (Насколько это возможно), в т.ч. подмена Client Hints, Canvas, WebGL и других параметров.В отклике:Напишите, какой опыт у вас есть в разработке с использованием Playwright, Selenium или других инструментов автоматизации браузера.Ваш опыт работы с подменой браузерных параметров (Anti-detect).Имеется полное ТЗ, предоставлю его откликнувшимся. Сроки и цену до ознакомления писать не обязательно.Главная часть задачи — реализация anti-detect функционала. Если у вас нет опыта в этой области или вы не уверены в своих навыках, пожалуйста, не откликайтесь.

Desktop
Опубликован:
09.12.24 05:44
Бюджет:
25000 руб.~$312.08
Внести функционал имеющиеся бот

внести коректировки в рабочий меня всё устраивает просто надо добавить новые функции бот задача публиковать посты бот aiogram 3 python

Скрипты и боты
Опубликован:
08.12.24 16:24
Бюджет:
4000 руб.~$49.94
Сделать постинг статей в раздел "Cтатьи" на vk.com

Необходимо сделать автопостинг статей (размещенных на сайте в раздел черновики, необходима авторизация через API) в раздел "Статьи" на vk.com, используя редактор статей vk.com ( раздел "Статьи", "Добавить статью") или API VK для разработчиков (но вроде бы там нельзя публиковать статьи через API, надо уточнять). Код должен быть написан на Python.

Скрипты и боты
Опубликован:
08.12.24 13:15
Бюджет:
5000 руб.~$62.42
Написать простой проект на Flask

моя задача,на работе я взял задачу (время потянуть:)) изучить python и в итоге нужно что-то презентовать начальству я работаю в грузоперевозках и поэтому мне нужен веб сайт который на мобилках и пк будет работать там должна быть работа с API по теме грузоперевозок можно там что нибудь парсить с авито или АТI. SU есть сайт перевозчиков и т.д в общем жду предложений так же требования я в файлах накидал если что могу дать в лс

Создание сайта
Опубликован:
08.12.24 10:32
Бюджет:
1000 руб.~$12.49
Создать чат бота

Цель: Создать бота, который будет проводить тесты и показывать результаты пользователям. Основные функции: Регистрация пользователей: Приветствие и регистрация новых пользователей. Создание тестов: Возможность добавления тестов с вопросами и вариантами ответов. Прохождение тестов: Пользователи могут выбирать тесты и проходить их. Оценка результатов: Бот предоставляет пользователю результат с количеством правильных ответов. Стек технологий Язык программирования: Python Библиотека: aiogram База данных: SQLite Хостинг: Heroku Контроль версий: GitHub .

Скрипты и боты
Опубликован:
07.12.24 23:10
Бюджет:
10000 руб.~$124.83
Доработка/помощь в разработке трейдинг бота на solana

Нужна помощь в активной разработке проекта. Есть разные задачи для выполнения. Одна из главных - фронтенд. Но так же есть и задачки с бэкендом. Фронт - интерфейс для взаимодействий, оповещений и обновления цен. По бэку - парсинг пулов, и некоторые функциональные механики.В большей степени нужна помощь с front-endСтэк на текущей стадии: Rust back-end для формирования и исполнения транзакцийPython API (FastAPI) React front-end NATS для event-sourcing MongoDB Так же есть необходимость в разработке смарт-контракта/программы на солане через фреймворк Anchor.Обязательно сообщите если у вас есть таковой опыт. Желателен опыт и понимание работы блокчейнов и их инфраструктуры.Ориентирован на дальнейшее сотрудничество, так как проект будет постепенно развиваться Оставляйте ТГ в отклике, покажу ТЗ и подробности.

Bots
Опубликован:
07.12.24 22:30
Бюджет:
150000 руб.~$1872.43
Нужна автоматизация действий для Octo браузера

За подробностью к задаче в лс. Думаю что скрипт не сложный, проблема в том, чтобы сделать его для браузера Octo. Тут скажу только то, что при запуске скрипта на нужной мне странице, не должно открываться новых окон браузера, надо чтобы начинал работать в уже открытом окне. Срок выполнения: 1 день. Умения: думаю python или javascript.

Скрипты и боты
Опубликован:
07.12.24 19:08
Бюджет:
40000 руб.~$499.32
Телеграм бот

Здравствуйте, задача сделать тг бота Язык python, библиотека aiogram3, бд на усмотрение исполнителя Ссылка на ТЗ https://miro.com/app/board/uXjVL6Gup4I=/?share_link_id=492111853799 Просьба откликаться только после ознакомления с заданием, хотя бы поверхностным Результатом работы является полностью рабочий код или добавление меня в github/gitlab репозиторий В отклике также указывайте Ваш опыт, по возможности прикрепляйте Ваши проекты. По возможности, то код или ссылку на github, если есть открытые проекты Код писать можно без комментариев, как привыкли, но проект должен иметь чёткую архитектуру (не 1-2 файла). Код должен быть легко-читаем

Скрипты и боты
Опубликован:
07.12.24 18:13
Бюджет:
30000 руб.~$374.49
Требуется создать парсер данных из you tube на Python

Требуется создать парсер данных из you tube на Python. Задача парсера: Собирать данные о количестве выпущенных на you tube видео за каждый день в динамике. Поиск видео производится по ключевому слову в названии ролика. Пример: интересуют ролики со словом «Тимати» с начала года. Парсер собирает данные и создает таблицу с количеством роликов за каждый день содержащих в названии слово «Тимати» и гистограммой. Важно сделать парсер под ключ так, что бы я мог самостоятельно задавать запросы путем ввода искомого слова и периода времени, а парсер бы формировал таблицу.

Скрипты и боты
Опубликован:
07.12.24 03:46
Бюджет:
50000 руб.~$624.15
Парсер историй Инстаграм

Написать Python скрипт, который в ответ на Имя Пользователя Инстаграм скачивает и присылает его истории.

Скрипты и боты
Опубликован:
07.12.24 02:35
Бюджет:
1000 руб.~$12.49

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

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