0.2.0 • Published 7 years ago

teletype v0.2.0

Weekly downloads
23
License
ISC
Repository
github
Last release
7 years ago

Teletype

Node.js package Build status

A simple Telnet client.

Installation

$ npm install teletype --save

Usage

const teletype = require('teletype')
const client = teletype('localhost')

client.exec('?PWR', /PWR[01]/)
  .then(response => {
    console.log(response) // PWR0
  })

API

teletype(host, port, options)

Creates a Teletype client.

host

Type: String

The hostname or IP address of the host to connect to.

port

Type: Number
Default: 23

The port to connect to.

options

Type: Object

timeout

Type: Number or false
Default: false

The number of milliseconds before a call is considered to be timed out. This applies to the initial connection, readUntil(), and exec() if called with match. exec() without match and close() will never time out.

client.exec(command, match)

Sends a command to the host and reads incoming data until match is encountered. If match is given, it returns a promise for a response string which contains the first line where match was encountered.

command

Type: String

The command to send to the host.

match

Type: RegExp

The regular expression to match against incoming data. If omitted, Teletype won’t read any incoming data but will send the command to the host.

client.readUntil(match)

Reads incoming data from the host until match is encountered. Returns a promise for a response string which contains the first line where match was encountered.

client.close()

Sends a FIN packet and destroys the socket.

Errors

If a required argument is missing, Teletype will reject a TypeError. If a call times out, it will reject an error with the code ETIMEDOUT. Any other error will be the same as emitted by Node.js’s net.

Acknowledgments

Teletype is inspired by Ruby’s Net::Telnet and Python’s telnetlib.

If you need something more advanced, take a look at telnet-client.

License

Teletype itself is licensed under the ISC license. See LICENSE for the full license.