{"id":21038355,"url":"https://github.com/qlaffont/livechatcacabox","last_synced_at":"2025-08-21T19:03:51.413Z","repository":{"id":226175569,"uuid":"767963673","full_name":"qlaffont/LiveChatCaCaBox","owner":"qlaffont","description":"Send content to Stream from Discord","archived":false,"fork":false,"pushed_at":"2025-05-11T09:55:02.000Z","size":127,"stargazers_count":19,"open_issues_count":0,"forks_count":6,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-11T10:28:29.552Z","etag":null,"topics":["discordjs","iframe","obs","typescript","xsplit"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/qlaffont.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-03-06T08:13:45.000Z","updated_at":"2025-05-11T09:55:06.000Z","dependencies_parsed_at":"2024-03-06T09:31:13.665Z","dependency_job_id":"6922ebc2-402b-47f0-8d24-16b85da08914","html_url":"https://github.com/qlaffont/LiveChatCaCaBox","commit_stats":null,"previous_names":["qlaffont/livechatccb"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qlaffont%2FLiveChatCaCaBox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qlaffont%2FLiveChatCaCaBox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qlaffont%2FLiveChatCaCaBox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qlaffont%2FLiveChatCaCaBox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qlaffont","download_url":"https://codeload.github.com/qlaffont/LiveChatCaCaBox/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254367887,"owners_count":22059582,"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":["discordjs","iframe","obs","typescript","xsplit"],"created_at":"2024-11-19T13:31:35.851Z","updated_at":"2025-05-15T15:33:31.581Z","avatar_url":"https://github.com/qlaffont.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LiveChat CCB\n\nDemonstration :\n\n[![Watch the video](https://img.youtube.com/vi/SVI3SKVrznE/default.jpg)](https://youtu.be/SVI3SKVrznE)\n\nFor english language, please scroll down to ENGLISH.\n\n## FRANÇAIS\n\nCette application est inspirée d'un projet (LiveChat) qui a été développé par un groupe de streameur appelé [Cacabox](https://www.youtube.com/channel/uc6izvpg2aik83k-rqs6agma).\n\nL'objectif de cette application est d'envoyer du contenu sur une page Web qui est utilisée dans un logiciel de diffusion comme OBS, XSplit, etc.\n\nUne version hébergée existe sur la plateforme [LeStudio](https://lestudio.qlaffont.com) !\n\n**Aucun support ne sera traitée si vous ne maitrisez pas Docker OU JavaScript.**\n\n### Caractéristiques\n\n- Envoyez tout type de contenu (audio, vidéo, image, texte) sur le stream\n- Générez un audio de bot à jouer sur le stream\n\n### Commandes Discord\n\n- `/dispo` -\u003e Vérifiez si le bot est vivant\n- `/client` -\u003e Obtenez un lien pour intégrer livechat dans obs, xsplit\n- `/msg` -\u003e Envoyer du contenu au flux\n- `/cmsg` -\u003e Envoyez du contenu au flux (mais caché 😈)\n- `/dire` -\u003e Demandez à un bot de dire quelque chose\n- `/cire` -\u003e Demandez à un bot de dire quelque chose (mais caché 😈)\n\n### Customisation\n\nSi vous souhaitez modifier le rendu du bot, il vous suffit de modifier le fichier dans `src/components/client/client.html` !\n(Attention si vous êtes sur docker il faut rebuild l'application !)\n\n### Installation\n\n#### 1 - Informations Discord\n\n- Vous devez d'abord créer une application Discord: https://discord.com/developers/applications?new_application=true\n- Vous devez définir un nom du bot (ce nom sera affiché)\n- Après cela, vous devez **copier l'ID de l'application sur cette page**\n- Accédez à la barre latérale gauche et cliquez sur \"Bot\" et cliquez sur le bouton \"Réinitialiser le jeton\".\n- Après cela, vous devez **copier le Token sur cette page**\n\n#### 2 - Installation\n\nVous pouvez installer cette application par deux manières.\n\nSi vous avez [Docker](https://www.docker.com/get-started/) et vous voulez la construire vous:\n\n```bash\ngit clone https://github.com/qlaffont/LiveChatCCB\n\ndocker build -t qlaffont-livechatccb .\n\ndocker run -p 3000:3000 qlaffont-livechatccb \\\n-e DISCORD_TOKEN='DISCORD-TOKEN-TO-REPLACE' \\ # \u003c-- Remplacer par le token Discord\n-e DISCORD_CLIENT_ID='DISCORD-ID-TO-REPLACE' \\ # \u003c--Remplacer par l'ID de l'application Discord\n-e DEFAULT_DURATION='5' \\ # \u003c-- Durée par défaut si le contenu n'est pas vidéo ou audio\n-e HIDE_COMMANDS_DISABLED='false' \\ # \u003c-- Si vous souhaitez désactiver les commandes masquées, vous pouvez modifier la valeur de 'false' à 'true'\n-e API_URL='API-URL-TO-REPLACE' # \u003c-- Remplacer par l'adresse où l'utilisateur se connectera (Ex: https://livechat.domainname.com)\n```\n\nOU\n\nVous voulez l'installer manuellement:\n\n**Exigences**\n- [Node 20](https://nodejs.org/en)\n- [pnpm](https://pnpm.io/fr/installation)\n- OS avec [ffmpeg](https://ffmpeg.org/)\n\n```bash\ncp .env.example .env # Remplacer DISCORD_TOKEN/DISCORD_CLIENT_ID/API_URL avec vos informations\npnpm install\npnpm dev\n```\n\n#### 3 - Invitez le bot\n\nLorsque vous demarrez l'application, dans le journal, vous verrez l'invitation.\n\nExemple:\n\n```bash\nINFO : [DISCORD] En ligne ! Connecté en tant que xxxx\nINFO : [DISCORD] Pour inviter le bot : https://discord.com/oauth2/authorize?client_id=xxxx\u0026scope=bot\n```\n\n\n## ENGLISH\n\nThis application is inspired from a project (LiveChat) who have been developed by streamer group called [Cacabox](https://www.youtube.com/channel/UC6izVPg2AiK83K-rqS6AgmA).\n\nThe objective of this application is to send content on a webpage who is used in a broadcast sofware like OBS, XSplit, etc.\n\nAn hosted version exist on [LeStudio](https://lestudio.qlaffont.com) !\n\n**No support will be answered if you don't know Docker OR JavaScript.**\n\n### Features\n\n- Send any type of content (audio, video, image, text) to the stream\n- Generate a bot audio to be played on stream\n\n### Discord Commands\n\n- `/alive` -\u003e Check if bot is alive\n- `/client` -\u003e Get OBS link to integrate LiveChat into OBS, XSplit\n- `/send` -\u003e Send content to stream\n- `/hsend` -\u003e Send content to stream (but hided 😈)\n- `/talk` -\u003e Ask a bot to say something\n- `/htalk` -\u003e Ask a bot to say something (but hided 😈)\n\n### Customisation\n\nIf you want to change the rendering of the bot, simply modify the file in `src/components/client/client.html` !\n(Be careful if you run on Docker you have to rebuild the application !)\n\n### Installation\n\n#### 1 - Discord Informations\n\n- First you need to create a Discord Application : https://discord.com/developers/applications?new_application=true\n- You need to set a Discord Name (This name will be displayed)\n- After that you need to **copy APPLICATION ID on this page**\n- Go to the left sidebar and click on \"Bot\" and click on \"Reset Token\" button.\n- After that you need to **copy TOKEN on this page**\n\n#### 2 - Installation\n\nYou can install this application by two way.\n\nIf you have [Docker](https://www.docker.com/get-started/) and want to build it: \n\n```bash\ngit clone https://github.com/qlaffont/LiveChatCCB\n\ndocker build -t qlaffont-livechatccb .\n\ndocker run -p 3000:3000 qlaffont-livechatccb \\\n-e DISCORD_TOKEN='DISCORD-TOKEN-TO-REPLACE' \\ # \u003c--Replace with Discord Token\n-e DISCORD_CLIENT_ID='DISCORD-ID-TO-REPLACE' \\ # \u003c--Replace with Discord Application Id\n-e DEFAULT_DURATION='5' \\ # \u003c-- Default duration if content is not video or audio\n-e HIDE_COMMANDS_DISABLED='false' \\ # \u003c-- If you want to disable hided commands, you can change the value from 'false' to 'true'\n-e API_URL='API-URL-TO-REPLACE' \\ # \u003c--Replace with the endpoint where user will connect (Ex: https://livechat.domainname.com)\n-e I18N='en'\n```\n\nOR\n\nYou can install it manually :\n\n**Requirements**\n- [Node 20](https://nodejs.org/en)\n- [PNPM](https://pnpm.io/en/installation)\n- System with [FFmpeg](https://ffmpeg.org/) install\n\n```bash\ncp .env.example .env # Replace DISCORD_TOKEN/DISCORD_CLIENT_ID/API_URL with your informations\npnpm install\npnpm dev\n```\n\n#### 3 - Invite the bot\n\nWhen you will start the application, in log you will see the invite.\n\nExemple :\n\n```bash\nINFO : [DISCORD] Ready ! Logged in as xxxx\nINFO : [DISCORD] To invite bot : https://discord.com/oauth2/authorize?client_id=xxxx\u0026scope=bot\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqlaffont%2Flivechatcacabox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqlaffont%2Flivechatcacabox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqlaffont%2Flivechatcacabox/lists"}