hubot-teeworlds

Teeworlds adapter for Hubot

Usage no npm install needed!

<script type="module">
  import hubotTeeworlds from 'https://cdn.skypack.dev/hubot-teeworlds';
</script>

README

Hubot Teeworlds Adapter

NPM version Dependency Status

Connects Hubot to your Teeworlds game server.

Getting started

  1. Configure Teeworlds external console. See Teeworlds configuration section.
  2. Install adapter: $ npm install --save hubot-teeworlds.
  3. Set the environment variables specified in Hubot configuration section.
  4. Run Hubot: $ bin/hubot -a teeworlds.

Teeworlds configuration

Add the following lines to Teeworlds server config:

ec_port         8303
ec_password     secret
ec_output_level 2

Restart server and test connection using telnet or ncat: $ telnet localhost 8303.

Hubot configuration

The adapter requires only HUBOT_TW_SERVERS environment variable — comma separated list of Teeworlds servers. Server list should be in the following format: hostname:port:password,.... Example: localhost:8303:secret,localhost:8304:secret.

Specifying of one server also supported.

Teeworlds specific events

This adapter also generates messages when someone picks a weapon or kills another player. You can handle such messages this way:

{ PickupMessage, KillMessage } = require 'hubot-teeworlds'
{ HammerWeapon, KatanaWeapon } = require 'hubot-teeworlds'

module.exports = (robot) ->

  isKatanaPickup = (msg) ->
    msg instanceof PickupMessage and msg.weapon instanceof KatanaWeapon

  isHammerKill = (msg) ->
    msg instanceof KillMessage and msg.weapon instanceof HammerWeapon

  robot.listen isKatanaPickup, {}, (msg) ->
    msg.send 'Katana!'

  robot.listen isHammerKill, {}, (msg) ->
    msg.send 'Today is Thor\'s day'

Note: ec_output_level 2 required for this functionality.

License

MIT © Black Roland