Try replacing
if (!empty($off_guild))
$msg = "<font color=#ffff00>" . $off_guild . "</font> <font color=#dddddd>(" . $off_side . ")</font> has attacked <font color=#ffff00>" .
$def_guild . "</font> <font color=#dddddd>(" . $def_side . ")</font> in " . $zone . " at " . $x_coords . "x" . $y_coords. ". Attacker: <font color=#ffff00>" .
$off_player . "</font> <font color=#dddddd>(LvL " . $player["level"] . " " . $player["profession"] . ")</font>";
else
$msg = "<font color=#ffff00>" . $off_player . "</font> <font color=#dddddd>(LvL " . $player["level"] . " " . $player["profession"] . ")</font> just attacked " .
$def_guild . "</font> <font color=#dddddd>(" . $def_side . ")</font> in " . $zone . " at " . $x_coords . "x" . $y_coords. ".";
with
if (!empty($off_guild))
$msg = "<font color=#ffff00>" . $off_guild . "</font> <font color=#dddddd>(" . $off_side . ")</font> has attacked <font color=#ffff00>" .
$def_guild . "</font> <font color=#dddddd>(" . $def_side . ")</font>. " . $this -> bot -> make_blob("More info", "The fight is in " . $zone . " at " . $x_coords . "x" . $y_coords. ".\nAttacker: <font color=#ffff00>" .
$off_player . "</font> <font color=#dddddd>(LvL " . $player["level"] . " " . $player["profession"] . ")</font>");
else
$msg = "<font color=#ffff00>" . $off_player . "</font> just attacked " . $def_guild . "</font> <font color=#dddddd>(" . $def_side . ")</font>" .
$this -> bot -> make_blob("More info", "The fight is in " . $zone . " at " . $x_coords . "x" . $y_coords. ".\nAttacker: <font color=#ffff00>" .
$off_player . "</font> <font color=#dddddd>(LvL " . $player["level"] . " " . $player["profession"] . ")</font>")";
Can't guarantee no errors, just did that quick on the fly. If it works it should shorten the output a bit.