Forum: Ruby Connecting via Net::Telnet

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.
Will S. (Guest)
on 2006-01-03 08:52
(Received via mailing list)
Thanks for all the suggestions in the previous email about getting
started.  I looked at a lot of resources today and thought I would
just get started. :)

The first thing I have to do is get connected and logged in.  However
nethack.alt.org doesn't use a traditional telnet login prompt.  it
uses a menu displayed with a => prompt waiting for user input.  So
here is what I have so far.  it does connect :) but I can't get logged
in

<code>
require 'net/telnet'

# Telnet into the Nethack server and login
# The Nethack server doesn't have a traditional telnet login.  It used
a "=> " prompt where you enter
# a letter from a menu displayed
#

host = Net::Telnet::new("Host" => "nethack.alt.org",
				  "Port" => 23,
				  "Timeout" => 10) { |str| print str }
host.telnetmode=true
host.waitfor('=>') { |str| print str }
host.puts("l") { |str| print str }
</code>

Here is the output:

<output>
E:\Ruby\mkNethackbot>ruby mkNethackbot.rb
Trying nethack.alt.org...
Connected to nethack.alt.org.
Debian GNU/Linux 3.0 zaphod.alt.org
Error opening terminal: network.
c:/ruby/lib/ruby/1.8/net/telnet.rb:551:in `waitfor': timed out while
waiting for
 more data (Timeout::Error)
        from mkNethackbot.rb:20
</output>

I found the code "{ |str| print str }" on another site using Ruby's
net/telnet, but I don't yet know exactly what it means, but I think it
waits for any strings sent ( |str |) and then displays it ( print str
).

Thanks,
Will


--
Will S.  ( willshattuck.at.gmail.com )
Home Page:  http://www.thewholeclan.com/will

When you get to your wit's end, you'll find God lives there.
This topic is locked and can not be replied to.