Получение данных из личного сообщения WeakAuras2

Добрый день, занялся созданием очень нужной мне ауры. Встал вопрос о том как получить информацию из личного сообщения. А именно когда приходит сообщение определенного формата, например “?[линк на предмет]” производить некоторые действия с именем отправителя и названием предмета который он отправил. Подскажите пожалуйста пример получения таких данных в коде. Мне нужен только способ получения данных, дальнейшие манипуляции с ними я уже сделаю сам. Спасибо!

UPD:
Способ получения данных я нашел, даже нашел способ разделить сообщение на ключевое слово и на тело сообщения.
first, second = msg:sub(1,1), msg:sub(2)
itemString = string.match(second, "item[%-?%d:]+") or ""
Теперь встает другой вопрос, при нажатии на ауру нужно производить некоторые действия, как сделать ауру кликабельной и куда указывать действия?

Моя аура не будет работать во время боя, она предназначена для работы вне боя.

Как пример кликабельный локовский камень. В дейстиве -> при инициализации. Код.

local f = WeakAuras["regions"][aura_env.id]["region"]
if not f.button then
    f.button = CreateFrame("Button", nil, f,"SecureActionButtonTemplate")
    f.button:SetAttribute("type", "item")
    f.button:SetAttribute("item", "item:5512")
    f.button:SetAllPoints(f)
end

https://wow.gamepedia.com/SecureActionButtonTemplate

Большое спасибо за пример, а есть возможность при нажатии делать объявление рейду? Само объявление делается так:

SendChatMessage("Текст","RAID_WARNING")

А вот куда это поставить чтобы срабатывало только при нажатии не понимаю.

Наверное, я сейчас не помню. Но вроде на Мегакрута WAшки были кликабельные, они слали сообщения в канал аддона, ну тут наверное никакой разницы, я сам такую почти доделал, но бросил ибо тестировать её никто не хотел помогать

local f = WeakAuras["regions"][aura_env.id]["region"]
if not f.button then
    f.button = CreateFrame("Button", nil, f,"SecureActionButtonTemplate")
    f.button:SetAllPoints(f)
    f.button:SetScript("OnClick", function()
            SendChatMessage("msg" ,"SAY")
    end)
end

Вот вроде работает то что тебе нужно. Но с боем это верно сказано, могут быть ошибки при работе/
Может и не нужен этот защищеный шаблон, Хз может было просто кнопку создать, я хз, не разбираюсь в этом :frowning:
Может кто тебе подскажет получше

local f = WeakAuras["regions"][aura_env.id]["region"]
if not f.button then
    f.button = CreateFrame("Button", nil, f)
    f.button:SetAllPoints(f)
    f.button:SetScript("OnClick", function()
            SendChatMessage("msg" ,"SAY")
    end)
end

Я делаю ауру которая работает только вне боя, в бою она не будет грузиться, смысл в чем, в рейде бывает так, что выпадает шмотка но она не нужна человеку, он линкует ее в чат и ее ролят, но часто бывает что ролят от 2 до 5 шмоток, и начинается путанца кто что ролил, по этой причине все шмотки на рол кидают лидеру в личку, а лидер уже их по очереди ролит. Эта аура призвана построить список шмоток на рол и при нажатии объявлять рейду о том кто отдает и что. /Спасибо попробую.

Я бы предложил лучше взять специализированный для этого аддон :slight_smile: Но это такое