GithubHelp home page GithubHelp logo

chatty's Introduction

Chatty

Chatty the chat program allows users to communicate in real time, either via channels or through private messages.

Get started

Start by opening a shell and navigating to the client folder as follows:

 $ cd client/
 $ npm install

Next navigate to the server folder as follows:

$ cd ../server/
$ npm install

This will install all dependencies for the program.

To use the program, open a shell and navigate to the server folder and run:

node chatserver.js

Then, in a new shell, navigate to the client folder and run:

ng serve

Now, you can open your browser of choice (we recommend Google Chrome or Mozilla Firefox, other browsers may behave unexpectedly), and go to http://www.localhost:4200

Usage

Commands can be executed through the chat itself by typing in messages starting with an exclamation mark. Following is a full list of available commands:

!op username        gives the specified user op privileges,
!deop username      removes op privileges from the specified user,
!kick username      kicks the specifid user from the channel,
!ban username       bans the specifed user from the channel,
!part               leaves the current channel.

All of these commands have buttons in the UI that you can use as well. To send a private message, click the messaging icon next to a users name.

Run gulp tslint to run tslint on the code.

Bonus features

  • Possible to change the topic of a channel using the !topic sometopic command
  • Possible to give op privileges to a user using the !op command
  • Possible to remove op privileges from a user using the !deop command
  • Possible to set a password using the !setpassword command (A user that has entered a password for a channel does not need to do so again)

Known Issues

  • As of now, there is no way to unban a user that has previously been banned.
  • There is no way to remove a password from a channel, nor change it.
  • TSlint complains about syntax being wrong that is required for ng2-bootstrap to work properly, so we did not figure out how to fix these without breaking the functionality.
  • When you send a private msg to a user, the sender sees his message twice, while the recipient only sees the msg once.

chatty's People

Contributors

gdgunnars avatar

Watchers

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.