@KOTE-debug

Как создать базу ответов?

Как можно сделать базу ответа для бота, например
команда/ответ
В файле base.txt?
Например
привет/привет молодой.
Я: бот, привет
Бот: привет молодой.
  • Вопрос задан
  • 140 просмотров
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
Ну если делать красиво, я бы сделал структуру такого вида:
[
  {
    "inputs" : [ "привет", "здорово" ],
    "responses" : [ "привет {0}", "и тебе приветы" ]
  },
  {
    "inputs" : [ "пока" ],
    "responses" : [ "досвидос, {0}", "и тебе удачи!" ]
  },
]

inputs - это список регулярных выражений, описывающих входящее сообщение.
responses - это список строк-ответов.

Идея такая:
1. входящее сообщение проверяется на соответствие всем регулярным выражениям поочередно
2. Если выражение совпало, выбирается случайная строка из числа ответов
3. с помощью метода format() в строку подставляется имя отправителя сообщения
4. результат отправляется как ответ на сообщение.

Загружать вышеописанную структуру данных удобно с помощью модуля json.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы