Please disable response on trigger with nothing else #5

Closed
opened 2020-03-30 22:13:13 -07:00 by alphabitnz · 9 comments
alphabitnz commented 2020-03-30 22:13:13 -07:00 (Migrated from github.com)

Whenever someone just puts a ? by itself in guild chat they get a whisper from the addon.

Can there please be a way to disable this as it interrupts standard conversation.

Thanks!

Whenever someone just puts a ? by itself in guild chat they get a whisper from the addon. Can there please be a way to disable this as it interrupts standard conversation. Thanks!
scrable commented 2020-03-30 23:02:10 -07:00 (Migrated from github.com)

Clearly this is an issue! Thank you for bringing this up. It should be patched in the latest release.

Manual searches without a clickable item link can now be typed with the format ? [itemname]
Typing ? or ? itemname or ? this is a reply to someone should not reply with item not found

My apologies for the oversight! Please let me know if the latest release found here works for you.

Clearly this is an issue! Thank you for bringing this up. It should be patched in the latest release. Manual searches without a clickable item link can now be typed with the format `? [itemname]` Typing `?` or `? itemname` or `? this is a reply to someone` should not reply with `item not found` My apologies for the oversight! Please let me know if the [latest release found here](https://github.com/scrable/TradeSkillMaster_PriceChecker/releases/tag/v1.15) works for you.
alphabitnz commented 2020-03-30 23:09:00 -07:00 (Migrated from github.com)

Thanks, latest release does fix this issue. However searches with no link aren't working yet - I have attached a screenshot.
image

Thanks, latest release does fix this issue. However searches with no link aren't working yet - I have attached a screenshot. ![image](https://user-images.githubusercontent.com/9102111/77992682-0f21ba00-7383-11ea-90fa-8ad2c47dcd9f.png)
scrable commented 2020-03-30 23:42:08 -07:00 (Migrated from github.com)

Did you happen to have that dark rune in your inventory when you tried using the text query? I just looked at the API for GetItemInfo and it only applies when the player has had the item in the inventory at some point during the session.

I will continue looking into this, but I'll have to work around it if it is even possible.

Until I discover a solution, if any, I recommend you revert to a previous version here

If I find a solution, I'll reply here.

Also, thank you for the image! It is a little hard to debug this since I am not playing the game.

Edit -To amend my previous comment, it is still possible to use this if you use itemID in the query instead of a text.

Did you happen to have that dark rune in your inventory when you tried using the text query? I just looked at the API for `GetItemInfo` and it only applies when the player has had the item in the inventory at some point during the session. I will continue looking into this, but I'll have to work around it if it is even possible. Until I discover a solution, if any, I recommend you revert to a [previous version here](https://github.com/scrable/TradeSkillMaster_PriceChecker/releases/tag/1.12) If I find a solution, I'll reply here. Also, thank you for the image! It is a little hard to debug this since I am not playing the game. Edit -To amend my previous comment, it is still possible to use this if you use itemID in the query instead of a text.
scrable commented 2020-03-31 00:30:49 -07:00 (Migrated from github.com)

Just as an update, I really don't know if this is possible. I'll just revert to the latest complete working version for now, and investigate this further.

I really do wish that it worked. It was a good suggestion, but I suppose it will be quite a bit more difficult to implement than anticipated, if it even can be at all.

Just as an update, I really don't know if this is possible. I'll just revert to the latest complete working version for now, and investigate this further. I really do wish that it worked. It was a good suggestion, but I suppose it will be quite a bit more difficult to implement than anticipated, if it even can be at all.
alphabitnz commented 2020-03-31 00:46:12 -07:00 (Migrated from github.com)

yeah I didnt have any in inventory or even bank, which is going to be the case for 99% of items people want pricing on

yeah I didnt have any in inventory or even bank, which is going to be the case for 99% of items people want pricing on
jerejere commented 2020-04-04 06:05:04 -07:00 (Migrated from github.com)

Yeah, searching with text doesn't work well with trigger such "?". That's why I've been using !price, something no one prolly types randomly.

Possible fixes:

  • Changing the default trigger to something more "complicated" would do the trick.
  • Changing the default trigger to ? with space, "? " & expecting exact command, messages that have anything before the trigger word would get ignored. ? "Item Name" or ? [Linked Item] would only work.
  • Removing the "No such item" error text and would not return any message for the user.

Also:

  • Idea behind text search is to fastly find price for everyday items (herbs, runecloth, major potions..) without having the item link. If you're trying to find anything exotic you need to use linked item (WIP: Generating links for every item on the go)

  • In your example picture someone is trying to use brackets with non-linked item (timestamp 19:06:05). When searching with text you don't put brackets ( [ ] ) around the the word. !price Dark Rune should work or with linked item !price [Dark Rune] (like in timestamp 19:06:32, not like in 19:06:05)

Good: !price Dark Rune
Good: !price [Dark Rune] <-- Linked item
Bad: !price [Dark Rune] <-- Text

image


  • When searching with text, "No such Item" would be returned if client hasn't seen the item yet. Limitation in WoW API:
    GetItemInfo (vanilla-wow.fandom) - "If you have never seen the item that belongs to the Item ID or Item Link it will return nil".
    GetItemInfo (wow.gamepedia) - "If the item hasn't been encountered since the game client was last started, this function will initially return nil."

Possible fixes:

  • Having whole item database, client would always find the item.
  • Generating item links on the fly somehow, convert searched text to linked item and use it instead. This could be done by integrating features from addons like GetLink WoW-Classic.
  • Addon could ask from other TSM(-PC) users if they've seen the item.
    This is something that i've been thinking about lately, not sure if it's possible. Another usage for this feature would be to check if any other TSM(-PC) user would have more recent price data. For example:
    !price Black Lotus
    ->Pings other TSM-PC plugin owners (from guild), asking whats their latest scan time
    ->Asks the price from the one who has the most recent
    ->Uses those values in reply for the user
    https://wow.gamepedia.com/ChatThrottleLib

Also Part 2:

yeah I didnt have any in inventory or even bank

Well, you need to find linked item for your queries anyway. That means for example getting link from guildie or generating one from Wowhead.

, which is going to be the case for 99% of items people want pricing on

IMO: Not really. People get random blues and want to check their prices. People want to see if herb prices have moved. People want to see prices for items they're farming. TSM is powerful addon which provides lots of information. Checking prices for items that you don't have in bank or inventory isn't the case for 99%.


@scrable - Shall we find a solution or should I just keep developing this feature on my own (fresh :D) fork?

Yeah, searching with text doesn't work well with trigger such "?". That's why I've been using !price, something no one prolly types randomly. Possible fixes: - Changing the default trigger to something more "complicated" would do the trick. - Changing the default trigger to ? with space, "? " & expecting exact command, messages that have anything before the trigger word would get ignored. ? "Item Name" or ? [Linked Item] would only work. - Removing the "No such item" error text and would not return any message for the user. Also: - Idea behind text search is to fastly find price for everyday items (herbs, runecloth, major potions..) without having the item link. If you're trying to find anything exotic you need to use linked item (WIP: Generating links for every item on the go) - In your example picture someone is trying to use brackets with non-linked item (timestamp 19:06:05). When searching with text you don't put brackets ( [ ] ) around the the word. !price Dark Rune should work or with linked item !price [Dark Rune] (like in timestamp 19:06:32, not like in 19:06:05) **Good**: !price Dark Rune **Good**: !price [Dark Rune] <-- Linked item **Bad**: !price [Dark Rune] <-- Text ![image](https://user-images.githubusercontent.com/12045551/78450738-755f5300-7689-11ea-9001-c8c09c7245e5.png) --- - When searching with text, "No such Item" would be returned if client hasn't seen the item yet. Limitation in WoW API: [GetItemInfo (vanilla-wow.fandom)](https://vanilla-wow.fandom.com/wiki/API_GetItemInfo) - _"If you have never seen the item that belongs to the Item ID or Item Link it will return nil"._ [GetItemInfo (wow.gamepedia)](https://wow.gamepedia.com/API_GetItemInfo) - _"If the item hasn't been encountered since the game client was last started, this function will initially return nil."_ Possible fixes: - Having whole item database, client would always find the item. - Generating item links on the fly somehow, convert searched text to linked item and use it instead. This could be done by integrating features from addons like [GetLink WoW-Classic.](https://www.curseforge.com/wow/addons/get-link-classic) - Addon could ask from other TSM(-PC) users if they've seen the item. _This is something that i've been thinking about lately, not sure if it's possible. Another usage for this feature would be to check if any other TSM(-PC) user would have more recent price data. For example:_ _!price Black Lotus_ _->Pings other TSM-PC plugin owners (from guild), asking whats their latest scan time_ _->Asks the price from the one who has the most recent_ _->Uses those values in reply for the user_ https://wow.gamepedia.com/ChatThrottleLib --- Also Part 2: > yeah I didnt have any in inventory or even bank Well, you need to find linked item for your queries anyway. That means for example getting link from guildie or generating one from Wowhead. >, which is going to be the case for 99% of items people want pricing on IMO: Not really. People get random blues and want to check their prices. People want to see if herb prices have moved. People want to see prices for items they're farming. TSM is powerful addon which provides lots of information. Checking prices for items that you don't have in bank or inventory isn't the case for 99%. --- @scrable - Shall we find a solution or should I just keep developing this feature on my own (fresh :D) fork?
scrable commented 2020-04-04 10:08:27 -07:00 (Migrated from github.com)

In your example picture someone is trying to use brackets with non-linked item (timestamp 19:06:05). When searching with text you don't put brackets ( [ ] ) around the the word. !price Dark Rune should work or with linked item !price [Dark Rune] (like in timestamp 19:06:32, not like in 19:06:05)

In a recent version, I had added the brackets to differentiate between messages and items. Brackets were used to ensure that the user meant an item and not a message, which is why I had instructed him to use the brackets as you see in the image.

I believe the most realistic approach would be to implement something similar to GetLink. There shouldn't need to be a second database as the AH information is already contained in AppData within the TSM app addon. Also, using this information rather than a database of every item in the game would allow for correct results when an item is actually not found on the AH.

Furthermore, I believe that asking other tsm-pc users for responses is not really needed since the tsm-pc user should have the TSM app working in the background anyways, and will most likely have up to date information. It would be interesting to develop, but I don't believe that it is ultimately needed.

I don't have a significant amount of time to devote to developing this addon further. If at some point I either get more free time to work on projects or perhaps I play the game again, then I might consider implementing these features. But for now, I won't be working on them. @jerejere Feel free to work on it if you'd like though.

> In your example picture someone is trying to use brackets with non-linked item (timestamp 19:06:05). When searching with text you don't put brackets ( [ ] ) around the the word. !price Dark Rune should work or with linked item !price [Dark Rune] (like in timestamp 19:06:32, not like in 19:06:05) In a recent version, I had added the brackets to differentiate between messages and items. Brackets were used to ensure that the user meant an item and not a message, which is why I had instructed him to use the brackets as you see in the image. I believe the most realistic approach would be to implement something similar to GetLink. There shouldn't need to be a second database as the AH information is already contained in `AppData` within the TSM app addon. Also, using this information rather than a database of *every* item in the game would allow for correct results when an item is actually not found on the AH. Furthermore, I believe that asking other tsm-pc users for responses is not really needed since the tsm-pc user *should* have the TSM app working in the background anyways, and will most likely have up to date information. It would be interesting to develop, but I don't believe that it is ultimately needed. I don't have a significant amount of time to devote to developing this addon further. If at some point I either get more free time to work on projects or perhaps I play the game again, then I might consider implementing these features. But for now, I won't be working on them. @jerejere Feel free to work on it if you'd like though.
jerejere commented 2020-04-04 10:43:05 -07:00 (Migrated from github.com)

I believe the most realistic approach would be to implement something similar to GetLink.

Agreed

Furthermore, I believe that asking other tsm-pc users for responses is not really needed since the tsm-pc user should have the TSM app working in the background anyways, and will most likely have up to date information. It would be interesting to develop, but I don't believe that it is ultimately needed.

Yeah, it's not needed - just thought it would be fun feature. TSM Application data is usually ~2hours late, that's why the idea of checking recent manual scans.


I'll continue working on my own fork, since text search with current default trigger isn't going to work.

> I believe the most realistic approach would be to implement something similar to GetLink. Agreed > Furthermore, I believe that asking other tsm-pc users for responses is not really needed since the tsm-pc user should have the TSM app working in the background anyways, and will most likely have up to date information. It would be interesting to develop, but I don't believe that it is ultimately needed. Yeah, it's not needed - just thought it would be fun feature. TSM Application data is usually ~2hours late, that's why the idea of checking recent manual scans. --- I'll continue working on my own fork, since text search with current default trigger isn't going to work.
alphabitnz commented 2020-04-04 19:55:57 -07:00 (Migrated from github.com)

I think how it is now is fine, people can link an item if they want a price check. If engineering for a use case where they can't link an item is too complex then just don't do it.

Syntax should always be ? then item link to replicate the Auctioneer function most people calling for pricing are expecting, it's just nice to have TSM responses to those as Auctioneer pricing is extremely subjective based on user manual scans.

I believe TSM pricing is updated by manual scans in addition to running desktop client.

I think how it is now is fine, people can link an item if they want a price check. If engineering for a use case where they can't link an item is too complex then just don't do it. Syntax should always be ? then item link to replicate the Auctioneer function most people calling for pricing are expecting, it's just nice to have TSM responses to those as Auctioneer pricing is extremely subjective based on user manual scans. I believe TSM pricing is updated by manual scans in addition to running desktop client.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
scrable/TradeSkillMaster_PriceChecker#5
No description provided.