{"id":19837343,"url":"https://github.com/e-e-e/hyperchat","last_synced_at":"2025-05-01T18:30:38.245Z","repository":{"id":57110316,"uuid":"96053164","full_name":"e-e-e/hyperchat","owner":"e-e-e","description":"hypercore + chat","archived":false,"fork":false,"pushed_at":"2017-07-05T10:19:14.000Z","size":14,"stargazers_count":13,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-16T23:09:53.315Z","etag":null,"topics":["chat","hypercore","p2p","p2p-chat"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/e-e-e.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-07-02T22:53:30.000Z","updated_at":"2023-09-05T11:25:14.000Z","dependencies_parsed_at":"2022-08-20T20:50:43.442Z","dependency_job_id":null,"html_url":"https://github.com/e-e-e/hyperchat","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/e-e-e%2Fhyperchat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/e-e-e%2Fhyperchat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/e-e-e%2Fhyperchat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/e-e-e%2Fhyperchat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/e-e-e","download_url":"https://codeload.github.com/e-e-e/hyperchat/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251924588,"owners_count":21665998,"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":["chat","hypercore","p2p","p2p-chat"],"created_at":"2024-11-12T12:14:08.388Z","updated_at":"2025-05-01T18:30:37.959Z","avatar_url":"https://github.com/e-e-e.png","language":"JavaScript","readme":"# Hyperchat\n\nAn experiment with using hypercore to share and record chat histories.\n\n## install\n\nThere are two options.\n\n### 1. Globally\n\nInstall globally to use from the command line as a chat client:\n```bash\nnpm install -g @e-e-e/hyperchat\nhyperchat\n# you will be promped to add a username\n? What is your name? ...\n# this will create a hypercore file in your home directory for this name\n# from the chat interface you can enter any of the following commands\n? \u003e\u003e\u003e\n# :h or :help - prints out the comments the chat cli accepts\n# :w or :whoami - logs out your address\n# :c [key] or :connect [key] - listens to conversation at key\n# :d [key] or :disconnect [key] - stops listnening to conversation at key\n# :q or :quit [key] - stops sharing and kills all connections\n```\n\n### 2. Package\nInstall and build your own chat app on top of hyperchat\n```bash\nnpm install @e-e-e/hyperchat --save\n```\nand import in your project;\n```js\nvar hyperchat = require('@e-e-e/hyperchat')\nvar chat = new Hyperchat('username')\n\n// you can listen to chat events\nchat.on('ready', () =\u003e console.log(chat.name, 'now available on public key:', chat.key))\nchat.on('connection', () =\u003e console.log('i am connected to someone'))\nchat.on('listening', data =\u003e console.log('i am listening to', data.key))\nchat.on('disconnecting', key =\u003e console.log('disconnecting from', key))\nchat.on('disconnected', key =\u003e console.log('disconnected from', key))\nchat.on('destroyed', () =\u003e console.log('Hyperchat is destroyed'))\nchat.on('started', data =\u003e console.log(data.name, 'joined conversation'))\nchat.on('ended', data =\u003e console.log(data.name, 'exited conversation'))\nchat.on('heard', data =\u003e console.log(data.name, 'heard', data.who, '-', data.index))\nchat.on('message', data =\u003e console.log(`${data.name}:`, data.message))\n\n// connect to multiple other clients\nchat.add('some-public-key')\nchat.add('some-other-public-key')\n\n// disconnect from other clients\nchat.remove('some-public-key')\n\n// and chat to any client who is also connected to you\nchat.chat('hello world')\n```\n\n## config\n\nAt the moment there are no config options exposed.\nChats are by default stored at the users home: `~/hyperchats`\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fe-e-e%2Fhyperchat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fe-e-e%2Fhyperchat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fe-e-e%2Fhyperchat/lists"}