Ticket #90 (closed defect: fixed)
Phergie_Driver_Streams::doAction() does not work
| Reported by: | Obsidian | Owned by: | tobias382 |
|---|---|---|---|
| Priority: | normal | Component: | core |
| Version: | 2.0 | Severity: | normal |
| Keywords: | Cc: |
Description
I've been looking at the source for Phergie 2.0 again, and I just noticed something. The method Phergie_Driver_Streams::doAction() does not even internally reference the params in the method, and will not even properly send an ACTION. http://trac2.assembla.com/phergie/browser/branches/2.0.0/Phergie/Driver/Streams.php#L538
It actually looks like the internal code of the method is copy-pasted from this method right here, Phergie_Driver_Streams::_doCtcpResponse() http://trac2.assembla.com/phergie/browser/branches/2.0.0/Phergie/Driver/Streams.php#L518
I wrote something that will work as a replacement to the internal method code, I've tested it within my own IRC botscript (which has the IRC integration and plugins forked from Phergie) and it works like a charm.
This is it, ported over for the Phergie codebase:
public function doAction($target, $text)
{
$this->doPrivmsg($target, chr(1) . 'ACTION ' . rtrim($text) . ' ' . chr(1));
}