User:Ogreinside/AutoLink

=Changelog= Changelog

=Description= AutoLink monitors chat communications for profession link requests, and generates a whisper to the person by default, but can optionally respond to the channel the request came from. By default it will monitor incoming chat whispers, guild, party, and raid channels, and can optionally monitor say, yell, trade, and general channels.

AutoLink works without requiring the requester to have knowledge of your mod. It scans for keywords like "link" and "enchanting", and checks to see if you have the enchanting skill before sending a link. It can also respond to command requests such as "!enchant". Additionally, AutoLink responds to requests like "link" and "all" and will send a link for all professions you currently have.

By default AutoLink will not respond during AFK or DND status. To override this, set /al always (really works this time!). You can also maintain an AutoLink ignore list with /al ignore. I will look at synching this with the game's ignore list in the future.

AutoLink was inspired by Ronin1337's Linker mod. While I really liked the simplicity of that mod, it required others to know you had it. While using his mod, I still had friends (you know who you are, pete!) sending me whispers like "can you link me your enchanting dude please" when it was less characters to just type "!enchant" :) So I decided I needed a way to have a mod respond without others needing to know you have it.  AutoLink does not interfere with Linker or other mods like CraftList, both mods will still trigger.

Notes:
 * Currently there is no negative detection, so if someone says "Please do not link me your enchanting" it will still send a link, a future version will fix this.
 * Version 0.3 added a small measure of spam prevention. Any user that receives a link will be temporarily ignored for the rest of that minute.  If this proves helpful I may expand on this and potentially add options to increase this time.  This is based on the in-game time, so if someone sends a request at 08:05:59 and again at 09:06:01 they will receive a link both times, but not again until 09:07.
 * Update: this is still on by default, but you can turn it off with /al nospam

Usage:

By default, AutoLink loads and is ready to go. You can modify and list which channels it monitors with /autolink or /al.

Update v0.4.1: New Commands: /autolink all_skills - toggle responding to requests for all links (!link, link all, show all) /autolink all_chats - changed from previous "/autolink all" to monitor all chat channels /autolink append - changed from "/autolink message", though both work

Commands: /autolink enable|on - enable the mod /autolink disable|off - disable the mod /autolink  - toggle monitoring that channel /autolink all_chats - monitor all chat channels /autolink - toggle linking that profession /autolink list - list channel and profession status /autolink self|me - toggle monitoring your own chat /autolink prefix  - prefix to all outgoing links, or disable if no text /autolink append  - append to all outgoing links, or disable if no text /autolink always - toggle responding during AFK/DND /autolink ignore  - add/remove a name from the AutoLink ignore list /autolink nospam - toggle anti-spam (1 min ban to each person) or allowing people to trigger you endlessles (careful) /autolink public - toggle responding via whispers or original channel the request came from /autolink reset - reset all settings to default

Example commands: /autolink prefix (10G per) - All links will be prefixed with this /autolink trade - toggle monitoring trade channel /autolink list - list all channels and professions /autolink self - toggle this on to test the mod yourself /autolink ignore Somejerk - AutoLink will ignore the user Somejerk and not send them links. If Somejerk is already on the AutoLink ignore list, this command will remove them. /autolink ignore - List all users on the AutoLink ignore list /autolink message (I tip YOU if I level!) - Appends this to all links

Examples that will trigger AutoLink: "Can someone link me their bs?" "!tailor" "LF LW"

These following examples will generate a link for all professions you know: "Please do not list me any professions" (it still triggers on this) "link skills" "!link"

=Download=
 * from Curse
 * from CurseForge
 * from WoWUI
 * from WoW Interface