Forum: Ruby IRC bot test

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
6cd89bb751e19c97e17b026e88c08da5?d=identicon&s=25 Deniz Dogan (Guest)
on 2007-05-22 20:27
(Received via mailing list)
Hey!

I'm trying to create a very simple IRC bot using Ruby. I don't have very
much experience with sockets programming and I have a rather simple
question for you.

I have been able to receive information from the connection to the
server and identify to it and all of that, and I have been able to
implement timestamps when the program prints to stdout. The problem is
that I use a receive buffer at 512 bytes and sometimes the rows get
"split" like this:

20:13:13 !! :irc.du.se 372 krisss :- Maybe buy shells to IRC from at
http://www.KIREnet.com. If that one
20:13:13 !! :irc.
20:13:13 !! du.se 372 krisss :- mentioned before isnt't enough,
http://www.JEAH.net is around, too!

How should I go about making it printing it "correctly"?

--Deniz Dogan
Ef53c4abeae8cc46327030bae489a33c?d=identicon&s=25 Fred Phillips (Guest)
on 2007-05-22 21:08
(Received via mailing list)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

If it's of any interest, I already have an IRC bot written in Ruby at
http://ltbot.sourceforge.net
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)

iD8DBQFGUz832vy7v+d+psQRAuqpAJ42MdueU7UB21B2nPB5MhMTPgXEVACg6v73
FNx/lGfgAB/jRYNX+lmEH4Q=
=I2p9
-----END PGP SIGNATURE-----
Cf7cd97cdc8ed7d4ae92965b24f0dfad?d=identicon&s=25 Stefan Rusterholz (apeiros)
on 2007-05-22 22:29
Deniz Dogan wrote:
> The problem is
> that I use a receive buffer at 512 bytes and sometimes the rows get
> "split" like this:

That's indeed the problem IMHO which is why I suggest you solve that
instead. You can use gets("\r\n") to get one full message at a time.

Regards
Stefan
This topic is locked and can not be replied to.