Back to Portfolio
IRC Server with Weather Bot
Networking Application

IRC Server with Weather Bot

An IRC server implementation in C++ with support for real-time messaging and a weather bot feature, inspired by LimeChat.

Project Overview

This project is a custom IRC server written in modern C++, developed as part of the 42 Network curriculum. It follows the IRC protocol (RFC 1459) and supports multi-user, multi-channel real-time communication.

Inspired by the LimeChat client, this server was tested using a self-developed terminal client to validate protocol compliance and stability across multiple connections.

A key feature of this server is the integrated weather bot that listens on channels and responds to user queries by fetching live weather data from an external API.

The server is built using non-blocking sockets and uses I/O multiplexing to handle multiple clients efficiently. It includes features like nickname registration, private messaging, and channel moderation.

Key Features

  • IRC-compliant server in C++
  • Real-time communication via TCP sockets
  • Weather bot that fetches current weather info via an API
  • Support for channels, private messages, and admin commands
  • I/O multiplexing using `poll()`
  • Tested using a self-developed client and LimeChat as reference

Technologies Used

C++POSIX SocketsMultithreadingIRC Protocol (RFC 1459)API IntegrationMakefileLinux

Project Gallery

IRC Server Running in Terminal
Multi-user Chat in Channel
Weather Bot Responding to Queries
Server Handling Multiple Clients

Project Details

Client

Personal Project

Timeline

3 weeks (Q2 2025)

Role

IRC Server Developer & Bot Creator

© 2025 Younes Bouyzem. All rights reserved.

0%