Skip to content

Semiannual project of the Advanced Topics in Networks discipline, taught at Centro Universitário FEI. It is a server, which allows the integration of users in rooms and chats, very similar to Discord

License

Notifications You must be signed in to change notification settings

antuniooh/chat-irc-protocol

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub language count GitHub repo size GitHub last commit GitHub


Logo

Ubuntu Python SQLite

Table of Contents
  1. About The Project
  2. Documentation
  3. How To Run
  4. Commands
  5. Authors

💻 About The Project

In this project, we implemented a chat application mirroring that of discord's and whatsapp's main feature: a room to chat with friends.

Our application runs on the terminal using telnet.

Our application server was implemented according to the RFC 1459, which defines the IRC protocol.

app

📖 Documentation

You can read the code documentation here:

a

🚀 How To Run

⚠️ For a better experience, make the server terminal and client terminal the same size ⚠️

Server

# Clone the repository
$ git clone https://github.com/WebisD/chat-irc-protocol.git

# Access the project folder in your terminal / cmd
$ cd chat-irc-protocol

# Download dependencies
$ pip3 install -r requirements.txt

# Enter the main file folder
$ cd src

# Run the application
$ python3 main.py

# The application will open on the port: 8083

Client

# Use telnet to connect with our server
$ telnet localhost 8083

🛠 Commands

🆘 Help

Type /help to see all commands and arguments if needed

The available commands depend on whether you are logged in:

or not:

®️ Register

Type /register <name> <nick> <pass> to register in discord

This needs 3 arguments:

name: your name

nick: your nick name. This will show up for other users

pass: your password. Don't forget this!

🔒 Login

Type /login <nick> <pass> to login in Concord

This needs 2 arguments:

nick: your nick name. This will show up for other users

pass: your password. I hope you remember that

🆕 Create

Type /create <room_name> <size> to create a new room and chat with your friends

This needs 2 arguments:

room_name: the name of your room. Don't put spaces in the name, use '_' instead

size: maximum number of users who can enter the room

📜 List room

Type /listroom or /lr to list all rooms in Concord

🚪 Join

Type /join <room_name> to enter in a room

room_name: the name of the room you want to join

💬 Message

Type /message <your_message> or /m <your_message> to send a message to your friends

your_message: the message you want to send to your friends server Sender's view:

Receiver's view:

📜 List users

Type /listusers or /lu to list all users in your current place

If you are in a room, this command will only show users in the room

If you are in the lobby, this command will only show users in Concord who are also not in a room

🚪 Leave

Type /leave to leave the room you are in

🚪 Logout

Type /logout to logout of your account

🚪 Quit

Type /Quit to fully get out of Concord

🤖 Authors

Antonio Gustavo João Vitor Dias Weverson da Silva
drawing drawing drawing
22.119.001-0 22.119.006-9 22.119.004-4

About

Semiannual project of the Advanced Topics in Networks discipline, taught at Centro Universitário FEI. It is a server, which allows the integration of users in rooms and chats, very similar to Discord

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%