Hello,
I am using lisppaste on my work's private IRC servers, and it works
great. However, after a while, I see a ping timeout. I ornamented
the ping-message-hook as follows, and set irc::*debug-p*:
* (setf irc::*debug-p* t)
* (defmethod irc::default-hook ((irc::message irc::irc-ping-message))
(format t "Got PING message.~%")
(irc::pong (irc::connection irc::message)
(irc::trailing-argument irc::message)))
On the next PING message, I saw:
#<CL-IRC:IRC-PING-MESSAGE PING {912F1C1}>
is an instance of class #<STANDARD-CLASS CL-IRC:IRC-PING-MESSAGE>.
The following slots have :INSTANCE allocation:
"RAW-MESSAGE-STRING "PING :riker.yyz.COMPANY.COM
RECEIVED-TIME 3311096689
CONNECTION #<CL-IRC:CONNECTION riker.yyz.COMPANY.COM
{A3D0341}>
TRAILING-ARGUMENT "riker.yyz.COMPANY.COM"
ARGUMENTS NIL
COMMAND "PING"
HOST ""
USER ""
SOURCE ""
NILGot PING message.
UNHANDLED-EVENT:3311096689: PING: "riker.yyz.COMPANY.COM"
So then I ornamented irc::pong:
* (defmethod irc::pong ((connection irc::connection)
(server string) &optional (server2 ""))
(format *debug-stream* "Sending PONG: ~A"
(describe server))
(irc::send-irc-message connection :pong nil server server2))
The next ping I saw:
#<CL-IRC:IRC-PING-MESSAGE PING {93DCC01}>
is an instance of class #<STANDARD-CLASS CL-IRC:IRC-PING-MESSAGE>.
The following slots have :INSTANCE allocation:
"RAW-MESSAGE-STRING "PING :riker.yyz.COMPANY.COM
RECEIVED-TIME 3311097683
CONNECTION #<CL-IRC:CONNECTION riker.yyz.COMPANY.COM
{A3D0341}>
TRAILING-ARGUMENT "riker.yyz.COMPANY.COM"
ARGUMENTS NIL
COMMAND "PING"
HOST ""
USER ""
SOURCE ""
NILGot PING message.
"riker.yyz.COMPANY.COM" is a vector with 26 elements.
Its element type is specialized to CHARACTER.
Sending PONG: NILUNHANDLED-EVENT:3311097683: PING: "riker.yyz.COMPANY.COM"
I changed my company's name, because I'm not sure how they feel about
Lisp in the workplace. ;)
Not knowing the code, it's difficult for me to debug this much
further. It appears that everything is working correctly, but the IRC
server kicks the bot off the channel after a few minutes.
Any advice you have on starting to debug this problem would be greatly
appreciated.
Sincerely,
Eric
**
Eric Moncrieff eric(a)ping.ca
"The totalitarian message is being transmitted while you're zoned out
in front of the television watching the feelies, high on soma -- which
is some combination of Prozac and Budweiser." --John Perry Barlow