{"id":20518276,"url":"https://github.com/tricked-dev/printer-livestream","last_synced_at":"2025-03-05T23:42:26.994Z","repository":{"id":257855077,"uuid":"871761812","full_name":"Tricked-dev/printer-livestream","owner":"Tricked-dev","description":null,"archived":false,"fork":false,"pushed_at":"2024-10-15T17:22:13.000Z","size":892,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-24T22:46:08.402Z","etag":null,"topics":["circe","minifb","niimbot","niimbot-rs","twitch","twitch-irc"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/Tricked-dev.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}},"created_at":"2024-10-12T21:28:43.000Z","updated_at":"2024-10-15T17:22:17.000Z","dependencies_parsed_at":"2024-10-16T18:50:53.177Z","dependency_job_id":"109576c3-9983-403f-9871-693104573399","html_url":"https://github.com/Tricked-dev/printer-livestream","commit_stats":null,"previous_names":["tricked-dev/printer-livestream"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tricked-dev%2Fprinter-livestream","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tricked-dev%2Fprinter-livestream/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tricked-dev%2Fprinter-livestream/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tricked-dev%2Fprinter-livestream/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Tricked-dev","download_url":"https://codeload.github.com/Tricked-dev/printer-livestream/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242123191,"owners_count":20075344,"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":["circe","minifb","niimbot","niimbot-rs","twitch","twitch-irc"],"created_at":"2024-11-15T21:39:21.517Z","updated_at":"2025-03-05T23:42:26.974Z","avatar_url":"https://github.com/Tricked-dev.png","language":"Rust","readme":"# Niimbot \u0026 Twitch printing stream!\n\nThis is a project where the idea is to create a twitch stream that allows people to chat and based on the chat messages labels will be printed.\n\n## Tech Stack\n\n1. Messaging - Twitch IRC\n2. Label Printing - Niimbot \u0026 Custom Made library based on [NiimBlue](https://github.com/MultiMote/niimbluelib) as reference implementation of niimbot's printers\n3. Custom Framebuffer Drawing Library using MiniFB and AB_Glyph.\n4. Text Extraction - OpenAI's GPT-4-MINI\n\n![Preview](./.github/preview.png)\n\n## Utilities\n\nSo i made a couple never before made crates afaik.\nYou can \"install\" these crates by just copying over the files this is by far the most reliable way. Just add a tiny notice above the files saying you got it from this repo :).\n\nAlternative method:\nYou can add this to your Cargo.toml\n\n```toml\n[dependencies]\nniimbot = {git=\"https://github.com/Tricked-dev/printer-livestream\"}\ncirce ={git=\"https://github.com/Tricked-dev/printer-livestream\"}\nntfy = {git=\"https://github.com/Tricked-dev/printer-livestream\"}\n```\n\nI will provide minimal support for people using these crates but feel free to open an issue if you have any problems.\n\n## How to run\n\n1. Good Luck lol this Niimbot printer is unreliable AF\n\n---\n\nOk so you are daring?\nHere we go\n\n1. Create a config.json file in your PWD it should include these fields, see [1](#twitch) for twitch\n\n```json\n{\n  \"openai_api_key\": \"\",\n  \"irc_token\": \"oauth:SECRET\",\n  \"irc_channel\": \"#username\",\n  \"irc_username\": \"\",\n  \"width\": 400, // Round these to nearest 8 btw remove this comment cause json parser is pretty strict :)\n  \"height\": 240,\n  \"clock_time\": 30,\n  \"notify_url\": \"Optional insert full ntfy url here\",\n  \"set_shutdown_timer\": 4 // Would probably set this to 4 otherwise printer will shutdown pretty quickly after the program crashes and heartbeats stop :)\n}\n```\n\n[Full config spec](https://github.com/Tricked-dev/printer-livestream/blob/main/src/config.rs) can be found here\n\n2. Run the program\n\nA white window will open and after that you can type in chat in the following format `text x,y` ai will parse other patterns too but this one is the most reliable\n\n3. Setup obs\n\nThe countdown is placed in `timer.txt` in PWD when this program starts and as you might guess it counts down use this as text source in obs to get a live countdown.\nAnd obviously place the window this program spawns in obs too.\nYou might also want to add a webcam and setup obs stream credentials\nGood luck yet again!\n\n### Twitch\n\n\u003chttps://twitchapps.com/tmi/\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftricked-dev%2Fprinter-livestream","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftricked-dev%2Fprinter-livestream","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftricked-dev%2Fprinter-livestream/lists"}