1. #1

    Post Decliner - Automatically declines common player interactions


    Screenshot of the options

    http://mods.curse.com/addons/wow/decliner
    http://www.wowinterface.com/download...-Decliner.html

    While leveling a guildless toon, I've noticed that unsolicited invites and duel requests are common. Yea, there's options to block guilds and trades, and addons to block duels, but something in me sparked some interest in coding, as I've done in the past for Javascript and minor Batch files for personal use. After finding several abandoned addons that used to do what I wanted to do, my mind was set.

    Create an addon that blocks player interactions while letting through players you want.

    Learning Lua and the WoW API was a rewarding process, developing Decliner over the past year. Here's part of my addon's description page:

    automatically declines:
    • duel requests
    • pet-battle duel requests
    • group invites
    • guild invites
    • guild petitions
    • trade requests
    • channel invites

    from players when:
    • you haven't recently whispered them
    • they aren't in your party or raid
    • they aren't in your guild
    • they aren't on your friends list
    • they aren't a battle.net friend

    Features

    • Account or character settings

      Save your options account-wide or per character.

    • Blocks sounds and other ui messages

      All the clicks, event sounds, and chat/info text that occurs from interactions are silenced when an action is blocked. If you disabled notifications, you wouldn't know if anything was blocked at all.

    • Spam prevention

      You will be notified only once within a certain time if a player is repeatedly sending you blocked invites or requests. The more they send, the longer that specific notification is hidden.

    • Forgetting players you whispered

      After some time, players that were allowed because you whispered them will be forgotten.

    • Opening group invites when you need them

      Sometimes you need an invite to a world boss group or to get a portal from someone nearby. When you say "invite" or "portal" in a public message, anyone will be allowed to invite you. Once you join a group, change zones, or after 5 minutes, invite blocking will return to normal.
      You can edit the words that trigger open invites, as well as what channels are watched, in the options.


    Type /decliner, /decline, or /dcl for the options.
    As a preemptive reply, since I've gotten this comment before, the only three options Blizzard has is "Block Trades", "Block Guild Invites", and "Block Chat Channel Invites" and they are all or nothing. Decliner, as described above, lets players through based on what options you set.

    I hope this addon is useful to many people. I use the curseforge ticket system for bugs, issues, and suggestions. I'll keep an eye on this thread as well and welcome any kind of reply, but to keep things organized, I would appreciate tickets.
    Last edited by Kanegasi; 2017-05-01 at 12:46 AM.
    Originally Posted by Zarhym (Blue Tracker)
    this thread is a waste of internet

  2. #2
    High Overlord Anthas's Avatar
    10+ Year Old Account
    Join Date
    Mar 2011
    Location
    Florida
    Posts
    168
    This looks like a great mod. Thank you!

    Do you have any ideas/plans to make a mod that blocks people at the account level, so alts are ignored as well?

  3. #3
    Haha I've wanted an addon like this a few times over the years. How did you go about teaching yourself Lua? Any great resource or did you just take in bits and pieces from everywhere?

  4. #4
    Quote Originally Posted by bjoswald View Post
    This looks like a great mod. Thank you!

    Do you have any ideas/plans to make a mod that blocks people at the account level, so alts are ignored as well?
    Thank you.

    As for your question, that is impossible for an addon to do. There is nothing in the API available to an addon that can mark characters belonging to a certain player. The only way I can think of is to generate an achievement "fingerprint" based on what achievements that character has and what times they were earned, but if they use the Blizzard option to not show achievements, each one of their characters will have their own "fingerprint". Even without that option, it wouldn't be reliable since achievement queries aren't reliable.

    That level of blocking shouldn't be necessary with my addon anyways, since it focuses on allowing people you know and one-time interactions you want, such as trading and porting, while blocking everyone else and of course letting you initiate any interaction. I have vague plans to add a whitelist and a blacklist, but I can't promise that will happen.

    Quote Originally Posted by Octa View Post
    Haha I've wanted an addon like this a few times over the years. How did you go about teaching yourself Lua? Any great resource or did you just take in bits and pieces from everywhere?
    I already had a minor understanding of Lua from occasional addon tinkering over the years I've played, and knowing Javascript made it easier to just learn the differences. I guess my answer would be "bits and pieces" but here's a list of some resources I've hunted and pecked while looking for what I want my code to do:

    Lua:

    - http://www.lua.org/pil/contents.html
    - http://www.lua.org/manual/5.3/
    - http://lua-users.org/wiki/
    - http://stackoverflow.com/questions/tagged/lua

    WoW:

    - http://wow.gamepedia.com/World_of_Warcraft_API
    - http://wowprogramming.com/docs
    - https://www.townlong-yak.com/framexml (an online copy of the game's UI)
    - http://wow.gamepedia.com/Viewing_Bli...interface_code (search and view the UI locally by extracting it into files)

    Finally:

    - http://www.google.com (seriously, so many code snippets were found just by searching, such as Phanx's github (i like your SpamAway addon if you ever see this) and random threads all over the place, like wowinterface, curseforge, mmo-champion, and even the main WoW forums)
    - http://www.curse.com/addons/wow (when you want your code to do something specific, see if it has already been done, then work from there)
    Last edited by Kanegasi; 2016-01-05 at 05:04 AM.
    Originally Posted by Zarhym (Blue Tracker)
    this thread is a waste of internet

  5. #5
    Updated for Legion. Remember to go to http://wow.curseforge.com/addons/decliner/tickets to report bugs, issues, and suggestions. I can't fix what I haven't found.

    Thank you to everyone who has helped me with this addon while I was on random low characters on a few realms. I appreciate everyone's patience of me asking in trade, general, and lfg for requests. I hope my addon continues to be an effective firewall for those that want or need it.

    Since this is simply an update post in a relevant thread, given that a major patch occurred since the start of this thread, this is not a necro.
    Originally Posted by Zarhym (Blue Tracker)
    this thread is a waste of internet

  6. #6
    Just popping back in here for another update, haven't updated it since September.

    The two major changes for this update is no more dropdown code (which caused raidframe taints) and a new option to save settings account-wide or per character.

    Thank you for your time.
    Originally Posted by Zarhym (Blue Tracker)
    this thread is a waste of internet

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •