GithubHelp home page GithubHelp logo

cs594irc's Introduction

Build Status codecov.io

CS594IRC

Mitch Souders

This project is a simple IRC server and client combination that is similar to the existing RFC1459. The primary differences are the absence of federated connections between IRC servers and the usage of JSON in the basic IRC communication protocol. For more details about the underlying protocol, see the (unformatted) RFC.

Installation Instructions

If you are on Ubuntu you may need to install python-numpy via apt-get, since it requires other system packages to be installed.

pip install numpy              # Optional: Only needed for math_bot
python setup.py develop --user

To generate the fully formatted text RFC:

gem install kramdown-rfc2629 --user
sudo apt-get install xml2rfc -y
cd rfc && make

Project Details

  • irc_server
    The server process that provides a platform that can be connected to by multiple IRC clients.
  • irc_client
    Note: The client has the entrypoint: src/IRC/Client.py:main and not a specific script. This allows easy use of the client for creation of bots.
    The client process that gives an easy to use interface to chat with other users on the same server. The client can be invoked with --gui for an ncurses interface. For a list of full commands in the IRC client type /help.
  • irc_bot
    Effectively a spam bot. This invokes 100 randomly generated commands to test the coverage of a client and server pair.
  • math_bot
    A basic bot that responds to simple math equations when messaged directly at mathbot or any messages sent to #math.

Note about Code Coverage

The code coverage stats could be higher if there was an easy way to automatically run the ncurses GUI as that is the primary cause of the lower coverage results.

cs594irc's People

Contributors

crzysdrs avatar

Watchers

 avatar  avatar  avatar

cs594irc's Issues

Update RFC

Commands now sent as replies rather than just OKs. Keeps all clients in sync.

Handle Name Replys

This probably entails adding a little more info to the name replies (like the target channel).

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.