от твоего кода захотелось выпрыгнуть в окно
сколько лет уже прошло? на бх столько материала, а люди так и не научились пользоваться таблицами и регулярками
вместо тысяч строк кода с "(%d+) плюс (%d+)", так сложно сделать простейшую регулярку, которая сама будет искать примеры в тексте?
local text = 'привет, реши мне пожалуйста пример - 228 * 443'
local n = text:match('(%d+%s-%p%s-%d+)')
а вместо ваще непонятно чего (так и не смог понять как скрипт решает примеры), можно использовать
local text = 'привет, реши мне пожалуйста пример - 228 * 443'
local n = text:match('(%d+%s-%p%s-%d+)')
if n then
print(assert(load('return '..n))())
end
если ты там боишься того, что вместо математических символов там будут слова, заменяй регулярку
local text = 'привет, реши мне пожалуйста пример - 228 плюс 443'
local n, l = text:match('(%d+%s-(.-)%s-%d+)')
и создавай таблицу, в которой будешь сравнивать слова с символами (в таблице, не поверишь, можно даже грамматических ошибок избежать на случай если адм решит специально наделать ошибок, я хз кто таким будет заниматься но почему нет)
почему бы не сделать пользователям возможность самим создавать таблицы в .txt, в которых они будут сами заполнять нужные им ключевые слова, предложения и ответы на них? вроде с момента создания первого авто-ответчика прошло более года, не нашлось умельцев?
как бы вы не хотели - вы не сможете без поддержки пользователей сделать идеальный ответчик, потому что такие скрипты нужно "учить"