Написать скрипт автоматизированного нейро-чаттинга в Telegram от имени канала (тендер № 7169)


Поделиться тендером:

Статус тендера:
Открыт
Описание задания:
1. Цель Создать скрипт на Python (Telethon + OpenAI), который автоматически общается в выбранном Telegram-чате от имени моего канала. Скрипт должен уметь: - слушать целевой чат в реальном времени; - сохранять сообщения в PostgreSQL (с предварительной фильтрацией по списку стоп-слов); - периодически (по условиям из конфига) выбирать подходящее сообщение и формировать на него короткий, «человеческий» ответ через OpenAI API; - публиковать ответ в чат в режиме reply от лица заданного канала; 2. Сроки Срок выполнения: 1–1.5 недели. 3. Основные технологии - Python 3.10+ - Telethon — для взаимодействия с Telegram - PostgreSQL — для хранения данных - OpenAI API — для генерации ответов - PyYAML — для чтения конфига - logging — логирование в консоль и файл 4. Пример конфигурации (пример config.yaml). telegram: target_chat_id: -1001234567890 post_as_channel_id: -1009876543210 session: phone: "+358000000000" session_path: "./sessions/main.session" api_id: 123456 api_hash: "abcdef1234567890abcdef1234567890" openai: api_key: "ENV_OPENAI_API_KEY" model: "gpt-4o-mini" temperature: 0.6 max_tokens: 300 database: host: "127.0.0.1" port: 5432 user: "neurochat" password: "neurochat_pass" name: "neurochat_db" strategy: min_messages_per_cycle: 10 max_messages_per_cycle: 25 # между этими значениями при старте каждого цикла выбирается случайное число сообщений, после которых сработает ответ min_minutes_per_cycle: 10 selection_window_minutes: 60 reply_max_words: 120 language: "ru" personal_style: | Я — дизайн-студия. Отвечаю только на темы, связанные с дизайном, визуалом, инфографикой, брендингом, упаковкой и оформлением маркетплейсов. content_requirements: | Коротко, профессионально, без эмодзи и канцелярита. Ответы должны звучать естественно, как от живого человека. Без ссылок и оффтопа. excluded_patterns: - "реферал" - "подпишись" - "ставка на спорт" - "казино" - "взаимная подписка" runtime: dry_run: false log_file: "./logs/neurochat.log" log_level: "INFO" timezone: "Europe/Helsinki" 5. Поведение программы 5.1 Мониторинг чата Скрипт подключается через Telethon к указанному чату и отслеживает все новые сообщения. Если сообщение содержит слова из excluded_patterns — оно не сохраняется и не обрабатывается. Все остальные сообщения сохраняются в базу данных с базовой информацией (текст, автор, дата и т.д.). Для каждого сообщения вычисляется некоторый «score» — насколько оно близко к тематике студии (дизайн, визуал, брендинг и т.д.). Логику оценки реализует разработчик. Возможно подключение другой AI модели – от replicate, или локальный алгоритм подсчета score по ключевым словам, вопросительности предложения и тд. Если данный функционал будет слишком сложным, то можно рассмотреть набор ключевых слов на входе к скрипту + рандомизацию (ответ на рандомное сообщение). Однако приветствуется подключение алгоритма высчета score. 5.2 Условия запуска ответа Проверка срабатывает по двум условиям: 1. Прошло время min_minutes_per_cycle; 2. Накоплено случайное количество сообщений, выбранное при старте цикла в диапазоне от min_messages_per_cycle до max_messages_per_cycle. Если время вышло, но нужное количество сообщений (случайно выбранное в этом диапазоне) ещё не достигнуто — программа продолжает ждать. 5.3 Выбор сообщения для ответа При срабатывании условия скрипт выбирает самое релевантное сообщение за период selection_window_minutes. Критерий релевантности (score) — по усмотрению разработчика, но должен учитывать: - тематическое совпадение с описанием personal_style; - адекватную длину текста; - приоритет вопросам, обращённым к аудитории. 5.4 Формирование ответа Через OpenAI формируется короткий ответ (до reply_max_words слов). Тон и формат — как указано в personal_style и content_requirements. Ответ должен быть естественным, вежливым, без шаблонности и повторов. 5.5 Отправка сообщения Ответ публикуется как reply на исходное сообщение от имени канала post_as_channel_id. Если Telegram не позволяет ответить от имени канала — допускается fallback-отправка от имени аккаунта владельца. В режиме dry_run: true публикация не выполняется, но ответ фиксируется в лог-файле. 6. База данных Используется только PostgreSQL. Схему БД (таблицы, связи, индексы) и модель хранения разработчик продумывает самостоятельно. Важно, чтобы база позволяла: - хранить сообщения и их параметры; - хранить оценки релевантности (score); - фиксировать факты публикации ответов; - предотвращать повторные ответы на одно и то же сообщение. 7. Логирование Ведение логов в файл и консоль. Минимум: дата, уровень, действие, результат, chat_id, msg_id. При dry_run: true логировать текст сгенерированного ответа и целевое сообщение. 8. Комментарии и документация У каждой функции — короткий docstring (назначение, ключевые аргументы, возвращаемое значение). Структура кода — модульная и читаемая. В README.md описать: - как запустить скрипт; - как настроить config.yaml; - порядок подключения к PostgreSQL; - пример dry-run лога. 9. Критерии приёмки - Скрипт успешно подключается к Telegram, сохраняет сообщения и логирует их. - После накопления нужного количества сообщений генерирует релевантный ответ. - В режиме dry_run ответ не публикуется, но отображается в логе. - В обычном режиме ответ публикуется в чат корректно в виде reply. - Код хорошо структурирован и снабжён комментариями, написаны тесты pytest с покрытием кода ±70% кода. 10. Что требуется от разработчика в отклике - Короткое описание подхода к архитектуре (структура модулей, как будет реализован scoring). - Пример использования Telethon для reply от имени канала (если есть). - Срок и фиксированная стоимость работы. - Опционально — предложения по улучшению (анализ контекста, фильтрация по авторам, кеширование и т.д.).
Ориентировочная стоимость:
200
Тип субъекта:
Физическое лицо
Варианты оплаты:
Возможна предоплата
Место работы:
В офисе
Дата публикации:
03.11.2025 11:00
Контакты:
Контакты видны только авторизованным пользователям, которые оформили подписку.
Чтобы посмотреть контакты, необходимо:
Авторизоваться

Просмотров: 77

Место для Вашей рекламы ;)
Хотите разместить рекламу ваших услуг, сервиса или компании в данном месте?
7 дней — 1500 руб.; 14 дней — 2700 руб.; 30 дней — 5700 руб.
Пишите на почту: freten.site@yandex.ru



Похожие задания и вакансии

Тендер № 7188
Нужна запись клиента, чтоб исчезала из его записей (backend-доработка в мобильном приложении) Laravel
Добрый день! Нужна доработка для мобильного приложения на бэкенд-стороне Задача https://docs.google.com/document/d/1o8V-1tJuhVtTW_6vCKEWNQVBoDHRy-070-NPAJhdxIw/edit?usp=sharing Подробности можем обсудить ...
Открыт
Просмотров: 35
Опубликован: 07.11.2025 11:55
Тендер № 7178
Написать скрипт для автоматизации выводов
Срочно нужен скрипт для автоматизации выводов по данной теме: telegra.ph/Novaya-tema-zarabotka-na-birzhe-MEXC-09-15 Нужно успеть за пару дней желательно. ...
Открыт
Просмотров: 29
Опубликован: 04.11.2025 21:31
Тендер № 7156
Требуется Full-stack Разработчик
MiniApp для работы с промокодами СТАТУС: открыт Что за проект: Разработка мини-приложения в Telegram и скидочного бота, который поддерживает интеграцию промо-партнёров ...
Открыт
Просмотров: 78
Опубликован: 26.10.2025 15:06
Тендер № 7139
Требуется Backend-разработчик ИИ-платформы
Мы запускаем MVP платформы для соискателей (HRTech). Цель – быстро вывести на рынок ядро продукта, которое помогает кандидатам улучшить свои резюме и видеопрезентации с ...
Открыт
Просмотров: 99
Опубликован: 16.10.2025 17:43


Работа и вакансии на Freten.ru

Для более удобной навигации в разделе работа, ниже указаны разделы и подразделы сайта по разным направлениям, странам, городам, специальностям и профессиям. На нашем сайте вы найдете разделы:

Работа в России:

Работа за границей:

Надеемся что наш сайт по поиску работы и вакансию будет вам полезен и вы найдете работу вашей мечты!