Skip to content

автоответчик на отзывы на маркетплейсах

Notifications You must be signed in to change notification settings

G0-G4/ResponseBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

инструмент для автоматизации ответов на отзывы на маркетплейсах

поддерживаемые маркетплейсы

  • wildberries
  • ozon
  • avito + чаты авито

использование

usage: main.py [-h] [--wildberries | --ozon | --avito | --avitochat] [--csv | --sqlite | --void]
               [--probabilistic | --fromlist | --llm] [--file FILE] [--shortsleep] [--maxanswers] [--fromstar]
               [--version] [--timeleft] [--companyid] [--cookies] [--apikey] [--everyminutes] [--brand] [--new] [--old]
               [--skipcanceled] [--skipnormal]

программа для автоматизации отзывов на маркетплейсах

options:
  -h, --help           show this help message and exit
  --wildberries, -wb   режим работы с wildberries
  --ozon, -oz          режим работы с ozon
  --avito, -av         режим работы с avito
  --avitochat, -avc    режим работы с чатами авито
  --csv                сохранять отзывы и ответы в csv файл
  --sqlite             сохранять отзывы и ответы в db файл. Может быть открыт, например с помощью sqlitebrowser
  --void               не сохранять отзывы и ответы
  --probabilistic      составление отзыва из частей.
  --fromlist           выбирает отзывы из списка.
  --llm                генерирует ответ с помощью GigaChat.
  --file FILE          файл для генерации ответов
  --shortsleep , -ss   пауза между ответами.
  --maxanswers , -ma   максимальное количество ответов
  --fromstar , -fs     оценка с которой начинать обработку.
  --version            показать текущую версию
  --timeleft           вывести оставшееся время лицензии в днях
  --companyid          id компании ozon
  --cookies            путь до cookies
  --apikey             api токен
  --everyminutes       пауза между запусками в минутах
  --brand              название бренда для подстановки в $brand$
  --new                сообщения с момента получения которых прошло меньше часов не будут обрабатываться. Только для     
                       чатов авито
  --old                сообщения с момента получения которых прошло больше часов не будут обрабатываться. Только для     
                       чатов авито
  --skipcanceled       не отвечать на отмененные отзывы из озона
  --skipnormal         не отвечать на не отмененные отзывы из озона

Запустить двойным кликом нужный файл: wildberries.cmd или ozon.cmd. Можно создать другие файлы с другими настройками запуска.

генерация ответов

файл шаблонов ответов передается через параметр --file <путь до файла>

составление по шаблону

для использования этого режима передайте параметр --probabilistic

Шаблоны задаются в json файле. Пример в settings/prob.json

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

Если оценка больше или равна 4, то
в 30% случаев к ответу будет добавлен один из шаблонов раздела с соответствующей оценкой.

В остальных 70% случаях, если комментарий не пустой, то к ответу добавится один из шаблонов раздела 'gratitude'. Если пустой, то добавится один из шаблонов раздела 'gratitude no comment'.

Дальше с вероятностью 0.5 совместно добавляются шаблоны из разделов 'main' и 'recommendations'.

Если оценка равна 3 и у отзыва есть комментарий, то к ответу добавляется шаблон из раздела '3', если комментария нет, то добавляется шаблон из раздела '3 no comment'.

Если оценка меньше 3 в 30% случаях добавляется шаблон из раздела с соответствующей оценкой. В остальных случаях шаблон выбирается из раздела 'apologies'. Если отзыв не пустой, то к нему также добавляется шаблон из раздела 'examination'.

В конце ко всем ответам добавляется шаблон из раздела 'goodbye'.

выбор из списка

для использования этого режима передайте параметр --fromlist

В json файле задаются списки для отмененных и не отмененных отзывов с разными оценками. Пример в settings/list.json

Программа будет выбирать случайный отзыв из подходящего списка и использовать его.

подстановка значений.

Чтобы персонализировать ответы, можно добавить обращение к покупателю по имени. Для этого в шаблонах где предполагается имя пользователя пишите $name$. В шаблонах нужно оставить варианты ответа без обращения по имени, т.к. программа не будет подставлять имя в случае если оно не распознано как имя (пользователи могут скрывать его или использовать ники).

Также можно использовать $brand$, туда будет подставлено значение переданное через --brand <назвние бренда>. Это можно использовать, чтобы не создавать для каждой компании свой файл с шаблонами.

Нейросеть

Для использования этого режима передайте параметр --llm

Для составления ответов будет использоваться API GigaChat. Для доступа к нему необходимо зарегистрироваться на сайте и сгенерировать Client Secret. Его необходимо будет вставить в файл с шаблоном. Пример файла с шаблоном ниже. В нем можно задать инструкцию, как нейросети отвечать на отзывы.

{
    "system" : "Ты менеджер маркетплейсов. Твоя задача отвечать на отзывы на товары. Отзывы будут в таком формате:\nstar = оценка товара\ncomment = комментарий пользователя, может быть пустым\nname = название товара\nclient_name = имя пользователя. Может быть пустым или чем-то вроде 'пользователь предпочёл скрыть свои данные'\n\nЕсли указано имя пользователя, то к нему можно обратиться по имени.\nЕсли комментарий пустой, то давай краткий ответ!",
    "credentials" : "<credentials>",
    "stop_words" : [
    ]
}

За использование GigaChat может взиматься дополнительная плата.

состав программы

  • main.exe - основная программа.
  • ozon.cmd - скрипт для запуска программы в режиме работы с ozon. Можно переименовывать и создавать свои.
  • wildberries.cmd - скрипт для запуска программы в режиме работы с wildberries. Можно переименовывать и создавать свои.
  • README.pdf - описание программы.
  • responderbot.cer - сертификат, с помощью которого подписана программа. Если на программу ругается антивирус, то можно попробовать добавить этот сертификат в доверенные или просто добавить программу в доверенные.
  • settings/prob.json - шаблоны ответов для вероятностного режима.
  • settings/list.json - шаблоны ответов для режима выбора из списка.
  • settings/settings.json - файл с настройками программы.

настройка

в файле settings/settings.json задаются:

  • database - путь до файла, куда будут сохранены ответы
  • email
  • key - ключ. Без него программа будет работать в демонстрационном режиме. Ответы не будут сохранены на маркетплейсе.

настройка отзывов на которые не надо отвечать

  • В файлах с ответами есть список stop_words. Если его заполнить программа не будет отвечать на отзывы, содержащие слова из этого списка.

  • Можно задать параметр --fromstar n, тогда программа будет отвечать на отзывы с оценкой большей или равной n

  • При параметре --skipnormal программа отвечает только на отмененные отзывы. Параметр работает только для озона.

  • При параметре --skipcanceled программа отвечает только на обычные отзывы, пропуская отмененные. Параметр работает только для озона.

настройка расписания

С помощью параметра --everyminutes n можно настроить запуск программы по расписанию. После того как программа ответит на отзывы она будет ждать n минут до следующего запуска.

сохранение ответов

Программа может сохранять отзывы и ответы в csv файл или в файл базы данных sqlite. Для этого нужно выставить соответственно --csv или sqlite. При выставлении --void ответы сохранятся не будут.

авторизация

ozon

Для авторизации на озон нужно зайти в личный кабинет через chrome. Закрыть chrome, после чего запустить программу в режиме работы с озон. После чего можно продолжать использовать chrome.

Если такой способ не работает нужно будет выгрузить cookie файл в ручную с помощью расширения как это описано ниже.

  • авторизоваться на озоне через chrome.
  • установить расширение
  • перейти на сайт маркетплейса. Нажать на расширение, выбрать export format json, нажать Export as и сохранить в удобное место, например в папку settings с настройками программы
  • задать параметр передающий cookies --cookies settings/seller.ozon.ru_cookies.json
  • для ozon выставить параметр задающий id компании --companyid <id>

wildberries

авторизация на wildberries производится посредством api ключа. Нужно создать api ключ с доступом к получению и редактированию отзывов и передать его через параметр --apikey

avito

задать параметры

  • --companyid Client_id
  • --apikey Client_secret

файлы запуска

Файлы запуска имеют расширение .cmd и содержат скрипт запуска программы вида "main.exe <параметр 1> <параметр 2> ..."

Для более удобного чтения параметры можно разносить на разные строки. Для этого в конце строки ставиться символ "^", который склеивает несколько строк в одну.

Последней строкой скрипта можно выставить команду "pause", которая предотвратит закрытие окна при завершении работы. В строке перед "pause" не надо ставить символ "^", т.к. команда "pause" не является параметром программы и должна находиться на следующей строке.

просмотр ответов

При сохранении в csv результаты можно импортировать в excel через вставку из текстового файла.

При использовании режима sqlite результаты сохраняются в специальный файл. Он может быть открыт, например, через sqlitebrowser.

При сохранении в sqlite дата сохраняется в виде timestamp. Чтобы отобразить в привычном формате нужно правой кнопкой мыши нажать на столбец 'date', далее 'edit display format' и вместо 'default' выбрать 'Unix epoch to local time'

Обновление

При запуске программа может предложить загрузить обновление. Новая версия будет скачана, а старая будет переименована в main_<версия>.exe. Также будет создан текстовый файл с описанием обновления.

При удачном обновлении старую версию можно удалить или оставить для возможности отката.

История версий доступна по адресу

About

автоответчик на отзывы на маркетплейсах

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published