{"id":26755108,"url":"https://github.com/cpscript/irc-client","last_synced_at":"2025-03-28T14:18:21.260Z","repository":{"id":282300747,"uuid":"860437199","full_name":"CPScript/IRC-Client","owner":"CPScript","description":"A simple \"internet relay chatting\"(IRC) client built using C based from \"https://github.com/IanMarcoMoffett/mini-irc-client\" :3","archived":false,"fork":false,"pushed_at":"2024-10-02T18:58:57.000Z","size":51,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-23T01:17:44.528Z","etag":null,"topics":["c","forum","forums","ipv4","irc","irc-client","irc-protocol","irc-server","makefile","network"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CPScript.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-20T12:38:40.000Z","updated_at":"2025-02-10T00:16:53.000Z","dependencies_parsed_at":"2025-03-13T21:16:25.844Z","dependency_job_id":"e632ed05-09c7-4a74-bfbf-2c8dac02a3ea","html_url":"https://github.com/CPScript/IRC-Client","commit_stats":null,"previous_names":["cpscript/irc-client"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CPScript%2FIRC-Client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CPScript%2FIRC-Client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CPScript%2FIRC-Client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CPScript%2FIRC-Client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CPScript","download_url":"https://codeload.github.com/CPScript/IRC-Client/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246042010,"owners_count":20714148,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","forum","forums","ipv4","irc","irc-client","irc-protocol","irc-server","makefile","network"],"created_at":"2025-03-28T14:18:20.573Z","updated_at":"2025-03-28T14:18:21.252Z","avatar_url":"https://github.com/CPScript.png","language":"C","readme":"# IRC-Client v2\n\u003e A command-line IRC client written in C that allows users to connect to an IRC server, join a channel, and send messages. This program provides a simple and intuitive interface for interacting with IRC servers.\n\n## Features\n- **Improved Error Handling**: Robust error handling ensures stability and reliability.\n- **Code Organization**: Modular code structure for better readability and maintainability.\n- **Memory Management**: Efficient use of system resources with no memory leaks.\n- **Logging**: Comprehensive logging for debugging and tracking program execution.\n- **Threading**: Concurrent input/output handling using threads for enhanced performance.\n\n## How to Use\n\n### Compiling the Program\n1. Navigate to the directory containing the `Makefile`.\n2. Run the command `make` to compile the program.\n3. The executable file `ircy` will be created in the `bin` directory.\n\n### Running the Program\n1. Navigate to the `bin` directory.\n2. Run the command: \n   ```bash\n   ./ircy -s \u003circ-server\u003e -n \u003cnick\u003e -c \u003cchannel\u003e\n   ```\n3. Replace `\u003circ-server\u003e` with the hostname or IP address of the IRC server.\n4. Replace `\u003cnick\u003e` with your desired nickname.\n5. Replace `\u003cchannel\u003e` with the channel you wish to join.\n\nExample: `./ircy -s irc.example.com -n Disease -c channel-1`\n\n\n## Using the Program\n\nType messages to send them to the channel.\n \nUse IRC commands like `/join` to switch channels or `/quit` to exit the program.\n\n### Available Options\n- `-s \u003circ-server\u003e`: Specify the IRC server to connect to.\n- `-n \u003cnick\u003e`: Specify the nickname to use.\n- `-c \u003cchannel\u003e`: Specify the channel to join.\n\n## Changes \u0026 Additions\n- **Error Handling**: Enhanced error handling for socket and connection operations.\n- **Code Organization**: Refactored the main function into separate, modular functions.\n- **Code Style**: Improved readability with consistent formatting and descriptive variable names.\n- **Security**: Input validation and safer string manipulation techniques.\n- **Performance**: Non-blocking and asynchronous I/O for improved responsiveness.\n- **Portability**: Utilized portable functions for network operations.\n- **Command-line Argument Parsing**: Implemented using the getopt library.\n- **IRC Protocol Implementation**: Added support for handling PING/PONG messages.\n- **User Interface**: Enhanced command-line interface with additional features.\n\n## Contributing\n\nContributions are welcome! Please fork the repository and submit a pull request with your improvements.\n\n#### License\n\u003e This project is licensed under the MIT License. 2024\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcpscript%2Firc-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcpscript%2Firc-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcpscript%2Firc-client/lists"}