https://github.com/gregoirebrn/internet-relay-chat
Communication by channels in group or in private
https://github.com/gregoirebrn/internet-relay-chat
bot clientdata-yes server
Last synced: 2 months ago
JSON representation
Communication by channels in group or in private
- Host: GitHub
- URL: https://github.com/gregoirebrn/internet-relay-chat
- Owner: Gregoirebrn
- License: mit
- Created: 2024-11-05T14:26:40.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-01-20T16:30:50.000Z (5 months ago)
- Last Synced: 2025-02-13T13:41:32.741Z (4 months ago)
- Topics: bot, clientdata-yes, server
- Language: C++
- Homepage:
- Size: 148 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Internet-Relay-Chat
Communication by channels in group or in private## -Guidelines
We Will use hexchat as a client reference.
We Will use the base of the RFC 1459 and add the required of the modern.
The full name is Request For Comments and it is used to handle the errors in differents informatique material like an IRC chat.## -PROCESSUS-
#### Mise en place de la Socket
- [x] Declarations des protocols
- [x] Mettre a l'ecoute
- [x] Lien entre la socket et le setup reseaux
#### Gestion de nouveaux clients
- [x] Parsing de reception des messages
- Utilisation de recv()
- Traiter le "CAP LS" de la part de Hexchat (ou non)- [x] Accepter le nouveau client
- [x] Authentification de nickname, password & username
- Attention au repetitions de check comme des arguments manquants#### Operateurs de Canaux
- [x] Channels operateurs a traiter :
- INVITE
- JOIN
- KICK
- TOPIC- [x] Ajouter MODE avec les flags i, t, k, o & l
- [x] Ajouter la commande PRIVMSG qui gere les messages envoye au channel ou au autre client.
- [x] Ajouter part pour quitter un channel
## -DOCUMENTATION-
Modern Irc Documentation :
https://modern.ircdocs.horse/#topic-message
Numerique Reply & Error Message :
https://script.quakenet.org/wiki/Categories
Server Fuction & Explaination :
https://www.tala-informatique.fr/wiki/index.php?title=C_socket
Rfc 1459 :
https://www.rfc-editor.org/rfc/rfc1459.html#section-4.1.2
// Fast checkin
if (buff == "ff\r") {
Pass("pass", fd_cli);
Nick("defni", fd_cli);
User("defus 0 * :noreal", fd_cli);
return (3);
}
if (buff == "fff\r") {
Pass("pass", fd_cli);
Nick("fn", fd_cli);
User("fu 0 * :norh", fd_cli);
return (3);
}
//End Fast Check