Coder Social home page Coder Social logo

bebalix / irc Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 1.81 MB

Recreate an IRC chat [Internet Relay Chat: TCP/IP protocol to communicate by message on the internet] with basics commands in c++

Makefile 3.61% C 14.32% Roff 1.62% C++ 80.45%
42project chat cpp98 protocol server tcp-ip

irc's Introduction

IRC

School 42 project: (group)

Server : ./ircserv <port 6665-6669> <keyword>

Client : cd Client/ ./sic -h <localhost> -p <port> [-n <nickname>] [-k <keyword>]

Recreate an IRC chat [Internet Relay Chat: TCP/IP protocol to communicate by message on the internet] with the following basic commands:

ALL USERS

  • PASS password
  • NICK nickname
  • USER username
  • JOIN #channel key
  • TOPIC #channel :topic
  • PRIVMSG receiver :text_to_be_sent
  • PART #channel :reason
  • LIST channel
  • QUIT :message

OPERATORS'S CHANNEL

  • KICK #channel nickname :comment
  • INVITE nickname #channel
  • TOPIC #channel :topic
  • MODE #channel +|- i|t|k|o|l limit user

Various information

  • Operator's channel only :

    • INVITE : Send an invitation to someone to enter a specific channel
    • KICK : Kick someone from the channel and send a notification to all user's channel
    • MODE : Change the channel’s mode by an operator
      • i : Set/remove Invite-only channel
      • t : Set/remove the restrictions of the TOPIC command to channel operators
      • k : Set/remove the channel key (password)
      • o : Give/take channel operator privilege
      • l : Set/remove the user limit to channel
  • All users :

    • PASS : Set the password for the connection with server
    • NICK : Set the Nickname
    • USER : Set the Username
    • JOIN : Create or join a channel(s)
    • TOPIC : Display or set a specific channel topic
    • PART : To exit a a one or more channel(s)
    • LIST : List all the channels or the member's channel if the channel is specified
    • PRIVMSG : Send a message to a user(s) or a channel(s)
    • QUIT : Quit the server with or without a reason

IRC protocol

  • The IRC protocol uses a system of servers and clients to allow users to connect to discussion channels in real time.
  • IRC clients must connect to an IRC server using a nickname, username and password, then they can join public or private chat channels.
  • IRC commands are used to perform actions, such as joining a channel, leaving a channel, sending a private message, etc.
  • IRC channel operators are users who have special privileges on a channel, such as kicking other users or changing channel settings.

irc's People

Contributors

bebalix avatar

Watchers

 avatar

irc's Issues

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.