{"id":17242329,"url":"https://github.com/negue/meme-box","last_synced_at":"2026-03-04T00:09:45.418Z","repository":{"id":37181236,"uuid":"276143292","full_name":"negue/meme-box","owner":"negue","description":"Manage and trigger media in OBS as a browser source","archived":false,"fork":false,"pushed_at":"2023-11-14T17:47:43.000Z","size":17997,"stargazers_count":116,"open_issues_count":97,"forks_count":16,"subscribers_count":3,"default_branch":"develop","last_synced_at":"2025-03-26T08:51:34.906Z","etag":null,"topics":["hacktoberfest","hacktoberfest-2022","hacktoberfest2022","obs","obs-studio","streamdeck-plugin","twitch","twitch-api"],"latest_commit_sha":null,"homepage":"meme-box.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/negue.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2020-06-30T15:47:00.000Z","updated_at":"2025-02-21T10:41:47.000Z","dependencies_parsed_at":"2023-11-14T18:50:42.346Z","dependency_job_id":"2a02b229-a71a-4242-bbc5-5c6bd6934fdf","html_url":"https://github.com/negue/meme-box","commit_stats":null,"previous_names":[],"tags_count":36,"template":false,"template_full_name":"maximegris/angular-electron","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/negue%2Fmeme-box","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/negue%2Fmeme-box/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/negue%2Fmeme-box/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/negue%2Fmeme-box/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/negue","download_url":"https://codeload.github.com/negue/meme-box/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248578874,"owners_count":21127714,"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":["hacktoberfest","hacktoberfest-2022","hacktoberfest2022","obs","obs-studio","streamdeck-plugin","twitch","twitch-api"],"created_at":"2024-10-15T06:12:59.298Z","updated_at":"2026-03-04T00:09:45.369Z","avatar_url":"https://github.com/negue.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Meme-Box | [Getting Started](#getting-started) | [How to contribute](#how-to-help--contribute)\n\n\u003cp align=\"center\"\u003e\n\n\u003cimg src=\"./assets/memebox-optimized.svg\" width=\"128\" height=\"128\"\u003e\n\n\u003c/p\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --\u003e\n[![All Contributors](https://img.shields.io/badge/all_contributors-11-orange.svg?style=flat-square)](#contributors-)\n\u003c!-- ALL-CONTRIBUTORS-BADGE:END --\u003e\n\nA complete management app for [`image / audio / video / iframe / widgets`](/tutorials/type_overview.md) \"media\" to be used inside OBS. Or trigger other custom actions.\n\n|**Media Setup Example + Mobile View**|**Setup a Twitch-Trigger**|\n|--|--|\n|![memebox example setup gif](./assets/memebox_example_mobile_view.gif)|![memebox example twitch trigger gif](./assets/memebox_example_twitch.gif)|\n\n## Installation\n\n### Pre-built binaries\n\n[Download latest release!](https://github.com/negue/meme-box/releases) (currently a bit ouf of date, new release soon) - [latest nightly Builds](https://github.com/negue/meme-box-nightly/releases)\n\n### From source\n\nIf you would like to build MemeBox from source, have a look at our dedicated [BUILD.md](BUILD.md).\n\n### From AUR\n\nIf you're an Arch Linux user, you can install directly from the [AUR](https://aur.archlinux.org), using one of the [AUR helpers](https://wiki.archlinux.org/title/AUR_helpers).\n\nFor example, with `paru`:\n\n```sh\nparu -S memebox\n```\n\n## Working Features\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003cth\u003eShow Media\u003c/th\u003e\n    \u003cth\u003eScreens (in OBS) \u003c/th\u003e\n    \u003cth colspan=2\u003eTriggers \u003c/th\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eImages\u003c/td\u003e\n    \u003ctd rowspan=7\u003e\n\nAnimations on show / hide\n[Visibility][URL_ADVANCED_SETTINGS]:\n- Play (on a trigger)\n- Toggle (per trigger)\n- Always Visible\n\n[Custom Position per Media / Screen][URL_ADVANCED_SETTINGS]:\n- Fullscreen\n- Fixed (on a position)\n- Centered\n- Random\n\nMisc:\n- [Custom CSS per Media / Screen][URL_ADVANCED_SETTINGS]\n- drag\u0026drop for better position items\n- rotate/size/warp items\n\u003c/td\u003e\n\u003ctd rowspan=7 valign=\"top\"\u003e\n\n[✅ `Streamdeck Plugin`][STREAMDECK_PLUGIN]\n\u003cbr/\u003e\n[✅ `Deckboard Plugin`](https://github.com/gigili/deckboard-memebox)\n\u003cbr/\u003e\n✅ Timers \u003cbr/\u003e\n✅ Mobile View \u003cbr/\u003e\n✅ Twitch Events\u003cbr/\u003e\n\u003cul\u003e\n    \u003cli\u003e Bits \u003c/li\u003e\n    \u003cli\u003e Channel Points \u003c/li\u003e\n    \u003cli\u003e Message \u003c/li\u003e\n    \u003cli\u003e Raid \u003c/li\u003e\n    \u003cli\u003e User Ban \u003c/li\u003e\n    \u003cli\u003e Subscription \u003c/li\u003e\n    \u003cli\u003e Gift Sub \u003c/li\u003e\n\u003c/ul\u003e\n\n\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eVideos\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eIframes\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eWidgets\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003ePlay Audio\u003c/td\u003e\n  \u003c/tr\u003e\n   \u003ctr\u003e\n    \u003cth\u003eActions\u003c/th\u003e\n  \u003c/tr\u003e\n\n  \u003ctr\u003e\n    \u003ctd\u003e\n\n[`Trigger multiple / random Media`][URL_RECIPE]\n\u003c/td\u003e\n  \u003c/tr\u003e\n   \u003ctr\u003e\n    \u003cth colspan=3\u003eScripts (Action)\u003c/th\u003e\n  \u003c/tr\u003e\n\n  \u003ctr\u003e\n    \u003ctd colspan=3\u003e\n\n- Trigger other Actions with custom logic/timeouts/overrides\n- Trigger OBS functions\n- Write to Twitch Chat\n\u003c/td\u003e\n\n\u003c/tr\u003e\n   \u003ctr\u003e\n    \u003cth colspan=3\u003ePermanent Script\u003c/th\u003e\n  \u003c/tr\u003e\n\n\u003ctr\u003e\n    \u003ctd colspan=3\u003e\n\n- Same as Scripts just that those will run and stay active all the time.\n- Used for Bots or other functionalities\n- React on custom callbacks from Twitch / OBS Events\n- Create your own WebSocket-Server - see [`Script-API examples`][URL_SCRIPTS]\n\u003c/td\u003e\n  \u003c/tr\u003e\n\n  \u003ctr\u003e\n    \u003cth colspan=3\u003eAPI for Developers\u003c/th\u003e\n  \u003c/tr\u003e\n\n  \u003ctr\u003e\n    \u003ctd colspan=3\u003e\n\n- Trigger Actions with WebSockets\n- Receive all Twitch Events using WebSockets `/ws/twitch_events` to use in other Apps / Overlays\n- Twitch Helix REST bridge `/api/twitchData/helix/*` instead of `https://api.twitch.tv/helix/`\n  \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n-----\n\n## Getting Started\n\n\u003e Note: These are the current `Getting Started` / Tutorials for this branch.\n\u003e\n\u003e To see the updated `Getting Started` / Tutorials from the released version - [click here!](https://github.com/negue/meme-box/tree/release#getting-started)\n\n[`Installation and Getting Started`](https://github.com/meme-box/memebox-101/blob/main/00/README.md)\n\n`Advanced`:\n\n- [`Trigger multiple / randoms`][URL_RECIPE]\n- [`Screen / Media Settings`][URL_ADVANCED_SETTINGS]\n- [`Scripts`][URL_SCRIPTS]\n- [`Widgets`][URL_WIDGETS]\n\n[URL_RECIPE]: tutorials/recipe.md\n[URL_SCRIPTS]: tutorials/scripts.md\n[URL_WIDGETS]: tutorials/widgets.md\n[URL_ADVANCED_SETTINGS]: ./tutorials/screen_media_advanced_settings.md\n[STREAMDECK_PLUGIN]: ./memebox-streamdeck/Release/com.memebox.memebox-streamdeck.streamDeckPlugin\n\n___\n\n## Roadmap\n\n### 2023.1 (maybe 2024.1, depending how long it takes) \n\n- Main Feature: [Refactor Trigger System / Config](https://github.com/negue/meme-box/pull/560)\n  - Easier way to add more types of triggers\n  - Also adds the command blocks per trigger (easier way to just \"do\" stuff)\n \nDependencies for that: ^\n  - https://github.com/negue/meme-box/pull/558 \u0026\n  - a current big refactor to how the repository is working internally (NPM -\u003e PNPM)\n    - these changes will be hopefully soon(TM) done/merged (Current Date of Writing this: 14th of November 2023)\n    - been already working on this for 3 months... yay.   \n\n### [Future Version](ROADMAP.md)\n\n## How to help / contribute?\n* Improve Docs / Translations\n* Find bugs\n* Suggestions to make `things` (UI, Text, Docs etc) more understandable\n* Help fix bugs / improve features\n  * [Good First Issues](https://github.com/negue/meme-box/labels/good%20first%20issue)\n  * [Open for Contribution](https://github.com/negue/meme-box/labels/open%20for%20contribution)\n  * [Developers Sanity](https://github.com/negue/meme-box/labels/developers%20sanity)\n  * or all other Issue, in case I missed to label them: https://github.com/negue/meme-box/issues\n* Star it :)\n\n[`Getting started with Development`](README_DEV.md)\n\n## Contributors ✨\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"http://www.twitch.tv/littleheroesspark\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/1301564?v=4?s=100\" width=\"100px;\" alt=\"Aaron Rackley\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAaron Rackley\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/negue/meme-box/commits?author=ageddesi\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"http://twitch.tv/whitep4nth3r\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/52798353?v=4?s=100\" width=\"100px;\" alt=\"Salma @whitep4nth3r\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eSalma @whitep4nth3r\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/negue/meme-box/commits?author=whitep4nth3r\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#ideas-whitep4nth3r\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"#design-whitep4nth3r\" title=\"Design\"\u003e🎨\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://twitch.tv/gacbl\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/2153382?v=4?s=100\" width=\"100px;\" alt=\"Igor Ilic\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eIgor Ilic\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/negue/meme-box/issues?q=author%3Agigili\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"#ideas-gigili\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"https://github.com/negue/meme-box/commits?author=gigili\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/negue/meme-box/commits?author=gigili\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/CrypticEngima\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/30286773?v=4?s=100\" width=\"100px;\" alt=\"CrypticEngima\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eCrypticEngima\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#design-CrypticEngima\" title=\"Design\"\u003e🎨\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/owehmer\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/45573843?v=4?s=100\" width=\"100px;\" alt=\"Oliver\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eOliver\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/negue/meme-box/issues?q=author%3Aowehmer\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"https://github.com/negue/meme-box/commits?author=owehmer\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/jonathanbucci\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/29556823?v=4?s=100\" width=\"100px;\" alt=\"jonathanbucci\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ejonathanbucci\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/negue/meme-box/commits?author=jonathanbucci\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://www.linkedin.com/in/divs/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/55018955?v=4?s=100\" width=\"100px;\" alt=\"Divyanshu Singh\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eDivyanshu Singh\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/negue/meme-box/commits?author=divshacker\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://brandonroberts.dev\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/42211?v=4?s=100\" width=\"100px;\" alt=\"Brandon\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eBrandon\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/negue/meme-box/commits?author=brandonroberts\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://www.linkedin.com/in/chirag-mahawar/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/34866279?v=4?s=100\" width=\"100px;\" alt=\"Chirag Mahawar\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eChirag Mahawar\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/negue/meme-box/commits?author=chiragmahawar7\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://varunkhalate.me/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/68511458?v=4?s=100\" width=\"100px;\" alt=\"Varun Khalate\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eVarun Khalate\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/negue/meme-box/commits?author=khalatevarun\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://home.dnaka91.rocks\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/36804488?v=4?s=100\" width=\"100px;\" alt=\"Dominik Nakamura\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eDominik Nakamura\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/negue/meme-box/commits?author=dnaka91\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/negue/meme-box/commits?author=dnaka91\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#platform-dnaka91\" title=\"Packaging/porting to new platform\"\u003e📦\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n  \u003ctfoot\u003e\n    \n  \u003c/tfoot\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnegue%2Fmeme-box","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnegue%2Fmeme-box","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnegue%2Fmeme-box/lists"}