Macros, controllers, and other ways to automate the process of fishing. On this page:

Wii Remote

Those with a Wii Remote ("Wiimote") may be interested to know that it can be configured to be used as a fishing pole. The method requires a Bluetooth adapter, GlovePIE, and Chris Heald's script (see Appendix). Suddenly fishing becomes a lot more interactive, as can be seen from the movie above.

Happyclapper posted these instructions for setting up the Wiimote for fishing (edited slightly):

  1. Hardware needed: You will need a bluetooth adapter on your computer, and a Wii remote.
  2. Software needed:
  3. Connecting the Wii remote to the PC [using a programme such as BlueSoleil].
  4. Getting GlovePie to work: Download and unzip all the files for GlovePie to a suitable location. Copy and paste Chris Heald's fishing script into Notepad and save it as WowFishing.pie (change the .txt extension to .pie) in the same location as the GlovePie files. Now it is a simple task of running the GlovePie executable, opening the Wowfishing.pie and hitting the run button in GlovePie.
  5. Configuring WoW: The only thing now needed is to bind the action button your fishing skill is on to Shift-F, and turn off auto-loot.
  6. Put your feet up and start fishing: To cast hold down the A button and cast with the remote. Use the Nunchuk joystick to position the cursor over the float as you would with the mouse. When you get a bite just jerk the remote up to reel it in and auto loot. By holding down the Nunchuk buttons you can use the joystick to change the camera view, and can zoom in and out with the + and - buttons.

A similar application is available for iPhones.


Macros can be made to automate aspects of fishing. Wowpedia gives a basic introduction to using and writing macros.

The example below is written by Boon. Once you see how it works, you'll realise it can be customised to suit your own style. From Boon, "Click is cast fishing, shift click is apply lure, alt click is mount, and if you are mounted and click it you dismount. Just change the mount and fishing lure name to the ones you want to use."

/cast [nomodifier, nomounted]fishing
/use [modifier:alt, flyable]Tawny Windrider; [modifier:alt, noflyable]Swift Orange Raptor
/dismount [mounted]
/use [modifier:shift] Aquadynamic Fish Attractor
/use [modifier:shift] 16

The next example, from Galdrin and Oberweiss, recasts if the bobber lands in water that is too shallow (more information).

/console Sound_EnableSFX 0
/script UIErrorsFrame:Hide()
/cast Fishing
/cast Fishing
/cast Fishing
/cast Fishing
/script UIErrorsFrame:Clear()
/script UIErrorsFrame:Show()
/console Sound_EnableSFX 1

Fishing 'Bots

Fishing 'bots are utilities that automatically catch fish and recast without human interaction. Most identify the location and movement of the bobber by analysing the colour of pixels on the screen. Fishing 'bots are commonly either scripted within in-game addons or run within 3rd-party scripting utilities.

The use of these fishing 'bots is considered an exploit and may result in a ban if detected. They also distort the economy, making it harder for legitimate fishermen and women to profit. For these reasons, you will not find any further details here.

All geared up and ready to start some serious fishing? It is time learn more about pools (or schools) of fish.

Learn More

Appendix: Wiimote Script

The original source of Chris Heald's fishing script for GlovePie is no longer available, so I have copied it here, since some anglers still want to use it:

// WoW Fishing Script
// By Chris Heald (Antiarc)

var.speed = 0.008

var.button = Wiimote.A or Wiimote.1 or Wiimote.2
if Wiimote.RawAccY <= -15 m per s per s and var.button then
  Wiimote.Rumble = 1
  Shift+F = true
  wait 10 ms
  Shift+F = false
  Wiimote.Frequency = 350
  wait 180 ms
  var.lineOut = true

  Wiimote.Frequency = 255
  wait 170 ms
  Wiimote.Frequency = 155
  wait 160 ms
  Wiimote.Frequency = 100
  wait 100 ms
  Wiimote.Frequency = 0
  Wiimote.Rumble = 0

mouse.LeftButton = Wiimote.Nunchuk.ZButton or Wiimote.Nunchuk.CButton
mouse.RightButton = Wiimote.B
if Wiimote.Plus then Mouse.DirectInputZ = Mouse.DirectInputZ + 1
if Wiimote.Minus then Mouse.DirectInputZ = Mouse.DirectInputZ - 1

if Wiimote.B and Wiimote.Nunchuk.CButton then
  A = Wiimote1.Nunchuk.JoyX < -0.2
  D = Wiimote1.Nunchuk.JoyX > 0.2
  S = Wiimote1.Nunchuk.JoyY > 0.2
  W = Wiimote1.Nunchuk.JoyY < -0.2
  var.cSet = true
  if var.cSet then
    A = false
    D = false
    S = false
    W = false
    var.cSet = false
  if (Wiimote1.Nunchuk.JoyX > 0 and Wiimote1.Nunchuk.JoyX  >= 0.15) or (Wiimote1.Nunchuk.JoyX < 0 and Wiimote1.Nunchuk.JoyX <= -0.15) then mouse.x = mouse.x + (Wiimote1.Nunchuk.JoyX * var.speed)
  if (Wiimote1.Nunchuk.JoyY > 0 and Wiimote1.Nunchuk.JoyY  >= 0.15) or (Wiimote1.Nunchuk.JoyY < 0 and Wiimote1.Nunchuk.JoyY <= -0.15) then mouse.y = mouse.y + (Wiimote1.Nunchuk.JoyY * var.speed)

if Wiimote.RawAccY >= 20 m per s per s and not var.button then
  if var.lineOut then Wiimote.Rumble = 1
  Shift = true
  mouse.RightButton = true
  wait 100 ms
  mouse.RightButton = false
  Shift = false
  Wiimote.Rumble = 0
  var.lineOut = false

Notes on use:

There are no comments on this yet. If you would like to comment, start a new topic on the forums: Either use the page's name (Automation) as the topic title, or tag the topic with that name. Comments take a few minutes to appear here.