Giter Club home page Giter Club logo

ft_irc's Introduction

๐Ÿ’ฌ ft_irc

ft_irc is a project from the 42 school, focused on creating an IRC server following standard internet communication protocols. The server's performance is evaluated using a real IRC client.

Top used language GitHub last commit

๐Ÿ“š Table of Contents

๐Ÿ‘จโ€๐Ÿซ Quick demonstration

basic-demo.mov

Basic demonstration

bot-demo.mov

Demonstration with our chatbot powered with OpenAI.

๐Ÿ“ฆ Installation

Clone the repository from GitHub:

git clone https://github.com/okbrandon/ft_irc.git

Compile the server executable:

make

Compile the server executable with debug logs:

make logs

With this executable you'll be able to see every input going to the server and every output from the server.

Note

The executable contains the mandatory and bonus part combined.
Our reference client is IRSSI.

๐Ÿ“ Usage

Run the server executable:

./ircserv <port> <password>

Where the port parameter is on which your IRC server will be listening to for incoming IRC connections. And password is the connection password. It will be needed by any IRC client that tries to connect to your server.

Note

Be aware that the port should only be between 1 inclusive and 65535 exclusive.

๐Ÿ“ Example

The subject asks to implement the following commands: KICK, TOPIC, INVITE and MODE with the flags i, t, k, o and l. We also implemented other commands such as: PRIVMSG, CAP, JOIN, NICK, PART, PING, QUIT and USER.

When joining the server with our reference client, you should be automatically authentified. welcome-img

From here you can send other commands, for instance if you want to create a channel or join an existing one use: /JOIN myChannel. Now you're inside a channel, you can send messages and do what ever you want on this wonderful server! :) inside-channel-img

๐Ÿ“Ž References

โฌ† Back to Top

๐ŸŒ Meta

bsoubaig - [email protected]
evmorvan - [email protected]

ft_irc's People

Contributors

evnsh avatar okbrandon avatar

Stargazers

 avatar  avatar  avatar

Watchers

 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.