Giter Site home page Giter Site logo

tinychat's Introduction

TinyChat

A simple toy telnet chat server built in 5 hours

Supported Go Version

>=1.11

Clone Server

git clone https://github.com/jaredfolkins/tinychat

$ ./run.sh

Env Variables

Set the log file location

export TCLog="./"

Set the port

export TCPort="8091"

Set the host

export TCHost="localhost"

See examples in run.sh

Connect Client

telnet localhost 8091

Help

--|Help|-----------------------------------------------------------------------------------------

{no flag needed}
send a message to the room you are in
(example: hi freeze, i'm batman)

/help
prints this banner
(example: /help) 

/quit
quits the application
(example: /quit) 

/nick
sets your nickname
(example: /nick batman)

/room 
change chat room, only 1 room may be joined
(example: /room gotham)

/blast
blast a message to all connected clients 
(example: /blast the ice man cometh)

-------------------------------------------------------------------------------------------------

Features

  • Connect a client to the server
  • Send a message to the server
  • The server relays messages to all connected clients, including a timestamp and name of the client sending the message

Extra Features

  • Log messages to a file
  • Read in config from a config file for port, IP, and log file location
  • Support multiple channels or rooms
  • Support changing clients changing their names
  • An HTTP API to post messages
  • An HTTP API to query for messages

Test Coverage

coverage: 28.3% of statements

tinychat's People

Contributors

jaredfolkins avatar

Watchers

 avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.