sylvanaar / wow-instant-messenger

WIM (WoW Instant Messenger) is a World of Warcraft addon which brings an instant messenger feel to communication in game.
https://www.curseforge.com/wow/addons/wim-3
MIT License
12 stars 14 forks source link

New Feature in soon to be released version of Questie #13

Closed Dyaxler closed 4 years ago

Dyaxler commented 4 years ago

I'm one of the developers for Quesite and in the new 6.0 version coming out, you'll have the ability to link quests in chat. The only way to accomplish this is to link specifically formatted text that Questie will see and parse.... this is what Questie will be sending. It's friendly enough that those that don't have Questie can still make sense of what is being linked:

[[60] Barov Family Fortune (5343)]

image

Which results in a clickable link...

image

One of our devs ran into an issue where something was triggering a "smiley face"... we aren't sure which quest it was that triggered it sadly. Sorry...

sylvanaar commented 4 years ago

At what point do you transform the text into a link? MessageEventFilter or AddMessage hook (or something else)

Dyaxler commented 4 years ago

We're using Blizzards EventFilter --> parse the text --> send it to the users chat window as a hyperlink. But in the case of WIM, we aren't hooking into your frames so we're parsing what would appear in a WIM whisper window. If I remember correctly any quest that ends in 8 is triggering a smiley. "8)" Not sure if there are others... I haven't had the time to read through all of WIM's code base.

Dyaxler commented 4 years ago

So hypothetically speaking if [[60] Barov Family Fortune (5343)] questID were 5348 Questie would try to parse [[60] Barov Family Fortune (534'SMILEYFACE_GRAPHIC']

Pazza commented 4 years ago

Using the EventFilters solely to manipulate the args to include the link, should be good. The emoticons filtering ignores hyperlinks and color syntax.

Dyaxler commented 4 years ago

Hmm... interesting. OK then. I'll circle around and see if we can't repo this. I wasn't able to but based on the info I got, it made sense. :D

Dyaxler commented 4 years ago

I managed to repro it finally. The first one I sent myself: [[60] Barov Family Fortune (5348)] I was correct. It captured the 8) and turned it into a smiley face, which freaks Questie out. The second string I sent was the correct string: [[60] Barov Family Fortune (5343)] and as you can see... it's a perfectly formed Hyperlink...

image

Dyaxler commented 4 years ago

...erface\AddOns\Questie\Modules\Quest\QuestieQuest.lua line 1489: bad argument #1 to 'unpack' (table expected, got nil)

Line 1489 --> refers to a failure to parse the correct QuestID due to the ID being malformed: realQuestName, realQuestLevel = unpack(QuestieDB.QueryQuest(questId, "name", "questLevel"))

Dyaxler commented 4 years ago

NM... I see what is going on. The user who submitted this info was synthetically inserting junk for testing purposes... VALID quest seem to work fine. :) My apologies...

image

The smiley face is still there for users who aren't running Questie which is fine with us. But for users who do have Questie... all is good as it should be on both ends.

Dyaxler commented 4 years ago

Both users with Questie. :) In both directions...

image

image

Pazza commented 4 years ago

Great news! And good idea.