Логирование в тг

Мобиле игрок

Новичок
Автор темы
9
0
Версия MoonLoader
Другое
function sampev.onServerMessage(color, text) getLastUpdate() sendTelegramNotification('[' .. os.date("%x") .. '] ' .. text) lua_thread.create(get_telegram_updates) end


как заменить єтот текст на чтобы писало в тг не все сообщения а эти
%[Семья %(Новости%)%] (%w+_%w+)%[%d+%]:{B9C1B8} пригласил в семью нового члена: (%w+_%w+)
 

kyrtion

Известный
1,080
387
%[Семья %(Новости%)%] (%w+_%w+)%[%d+%]:{B9C1B8} пригласил в семью нового члена: (%w+_%w+)
Для парсинг лучше убрать hex-цвет в формате {FFFFFF}

Lua:
local function printf(pattern, ...)
    pattern = string.format(pattern, ...)
    return print(pattern)
end

function sampev.onServerMessage(color, text)
    text = text
        :gsub('{%x%x%x%x%x%x}', '')
        :gsub('^%s+', '')
        :gsub('%c+', ' ')
        :gsub('%s+', ' ')

    getLastUpdate()
    sendTelegramNotification(string.format('[%s] %s', os.date('%x'), text)
  
    if text:find('^%[Семья %(Новости%)] %S-%[%d+%]: пригласил в семью нового члена: %S+$') then
        local nickname, id, target = text:match('^%[Семья %(Новости%)] (%S-)%[(%d+)%]: пригласил в семью нового члена: (%S+)$')
        printf(
            'Hey! Player %s[%d] invited new member family %s',
            nickname, id, target
        )
    end
  
    lua_thread.create(get_telegram_updates)
end

Если не работает, добавь print(text) после :gsub('%s+', ' ') и пришли