{"id":21846249,"url":"https://github.com/bossslime/reply-all","last_synced_at":"2026-05-09T16:14:02.361Z","repository":{"id":221915981,"uuid":"755772582","full_name":"Bossslime/reply-all","owner":"Bossslime","description":"Add reply functionality to your network messages.","archived":false,"fork":false,"pushed_at":"2024-02-11T23:19:27.000Z","size":22,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-07T13:54:24.826Z","etag":null,"topics":["javascript","protocol","reply","socket-io","tcp","tcp-client","tcp-server","udp","udp-client","udp-server"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Bossslime.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING.txt","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-02-11T02:05:58.000Z","updated_at":"2024-07-18T11:25:56.000Z","dependencies_parsed_at":"2024-02-11T03:22:18.218Z","dependency_job_id":"e088cee0-df2d-4bfe-a039-54bc99a1a718","html_url":"https://github.com/Bossslime/reply-all","commit_stats":null,"previous_names":["bossslime/reply-all"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Bossslime/reply-all","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bossslime%2Freply-all","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bossslime%2Freply-all/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bossslime%2Freply-all/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bossslime%2Freply-all/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Bossslime","download_url":"https://codeload.github.com/Bossslime/reply-all/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bossslime%2Freply-all/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278240432,"owners_count":25954198,"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","status":"online","status_checked_at":"2025-10-03T02:00:06.070Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["javascript","protocol","reply","socket-io","tcp","tcp-client","tcp-server","udp","udp-client","udp-server"],"created_at":"2024-11-27T23:13:23.487Z","updated_at":"2025-10-03T23:18:19.592Z","avatar_url":"https://github.com/Bossslime.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Reply All\n\nReply All is a library that adds the ability to reply to messages sent using messaging protocols. \n\nThe reason I made this is I got tired of making variables and finding out where in my code the message was sent from. This helps with this issue by allowing me to add a callback to my message requests that is called when I call a reply function on the receiver side.\n\nSupported Protocols:\n - TCP\n - UDP\n - Socket.IO (I made it for this not realizing it was already a feature)\n\n# TCP Example\nIn this example I send a message to the server and reply to the client, but this can be done either way.\n\n## Client\n```javascript\nconst net           = require('net');\nconst client        = new net.Socket();\n\n//Import and init the library\nconst SocketReply   = require('../../index');\nlet sock            = new SocketReply(client, \"tcp\");\n\nclient.connect(3000, '127.0.0.1', function() {\n    //This send a message to the server, notice the callback\n    //That is called when (or if) the server replies\n    //If the callback is not provided, the message is sent without reply functionality\n    sock.write('Hello, server! Love, Client.', (data) =\u003e {\n        console.log(data);\n    });\n\n    \n    //No packet will be received if the message is a reply\n    //Hoewever if you listen for packets the normal way, you will receive the reply which you dont want.\n    //So make sure you only listen for packets using the libraries socket instance\n    sock.on('data', (packet, reply) =\u003e {\n        console.log(packet);\n    });\n});\n\n//All other events must be listened to by the normal means\nclient.on('error', (err) =\u003e {\n    console.log(err);\n});\n```\n\n## Server\n```javascript\nconst net               = require('net');\nconst SocketReply       = require('../../index');\n\nconst server = net.createServer(function(socket) {\n    //This must be initialized for each socket\n    let sock            = new SocketReply(socket, \"tcp\");\n\n    sock.on('data', (packet, reply) =\u003e {\n        console.log(packet);\n        reply({success: true});\n    });\n    \n    //All other events must be listened to by the normal means\n    socket.on('error', function(err) {\n    });\n});\n\nserver.listen(3000, '127.0.0.1');\n```\n\nCheck out the `examples` folder for other examples on how to use this library.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbossslime%2Freply-all","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbossslime%2Freply-all","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbossslime%2Freply-all/lists"}