{"id":25012483,"url":"https://github.com/tinarskii/manao","last_synced_at":"2025-04-12T21:05:39.520Z","repository":{"id":224298940,"uuid":"762928520","full_name":"tinarskii/manao","owner":"tinarskii","description":"lemon soda🥤🍋","archived":false,"fork":false,"pushed_at":"2025-02-05T04:51:41.000Z","size":502,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-12T21:05:06.841Z","etag":null,"topics":["bun","bunjs","elysia","elysiajs","socket-io","twitch","twitch-api","twitch-bot","twitch-chat-bot","twitch-chat-overlay","twurple"],"latest_commit_sha":null,"homepage":"https://my.tinarskii.com:3000","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tinarskii.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"tinarskii"}},"created_at":"2024-02-25T04:45:40.000Z","updated_at":"2025-02-08T19:27:12.000Z","dependencies_parsed_at":"2025-02-05T05:27:02.378Z","dependency_job_id":"e392cda1-ebb1-49b9-9903-04a4f5e97f96","html_url":"https://github.com/tinarskii/manao","commit_stats":null,"previous_names":["tinarskii/twitch-utils","tinarskii/manao"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tinarskii%2Fmanao","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tinarskii%2Fmanao/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tinarskii%2Fmanao/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tinarskii%2Fmanao/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tinarskii","download_url":"https://codeload.github.com/tinarskii/manao/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248631684,"owners_count":21136562,"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":["bun","bunjs","elysia","elysiajs","socket-io","twitch","twitch-api","twitch-bot","twitch-chat-bot","twitch-chat-overlay","twurple"],"created_at":"2025-02-05T06:16:32.192Z","updated_at":"2025-04-12T21:05:39.481Z","avatar_url":"https://github.com/tinarskii.png","language":"TypeScript","funding_links":["https://github.com/sponsors/tinarskii"],"categories":["TypeScript"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/tinarskii/twitch-utils\"\u003e\n    \u003cimg src=\"\" /\u003e\n    \u003ch2 align=\"center\"\u003e\n      Manao\n    \u003c/h2\u003e\n  \u003c/a\u003e\n  \u003cp align=\"center\"\u003e\n    A collection of utilities and tools for Twitch streamers\n  \u003c/p\u003e\n  \u003cdiv style=\"display: flex; flex-wrap: wrap; justify-items: center; justify-content: center\"\u003e\n\u003ca href=\"https://wakatime.com/badge/user/5cb7cd14-ac7e-4fc0-9f81-6036760cb6a3/project/018dddd9-a419-43b0-95cd-8348fafaccad\"\u003e\u003cimg src=\"https://wakatime.com/badge/user/5cb7cd14-ac7e-4fc0-9f81-6036760cb6a3/project/018dddd9-a419-43b0-95cd-8348fafaccad.svg\" alt=\"wakatime\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/tinarskii/twitch-utils/pulse\"\u003e\u003cimg src=\"https://img.shields.io/github/commit-activity/m/badges/shields\" /\u003e\u003c/a\u003e\n    \u003cimg src=\"https://img.shields.io/github/license/tinarskii/twitch-utils\" /\u003e   \n    \u003cimg src=\"https://img.shields.io/github/languages/top/tinarskii/twitch-utils\" /\u003e\n    \u003ca href=\"https://discord.gg/vkW7YMyYaf\"\u003e\u003cimg src=\"https://img.shields.io/discord/964718161624715304\" /\u003e\u003c/a\u003e\n    \u003ca href=\"/.github/CODE_OF_CONDUCT.md\"\u003e\u003cimg src=\"https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg\" /\u003e\u003c/a\u003e\n    \u003cimg src=\"https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=plastic\" /\u003e\n  \u003c/div\u003e\n\u003c/p\u003e\n\n## Table of Contents\n\n- [About](#-about)\n- [Features](#-features)\n- [Installation](#-installation)\n- [Contributing](#-contributing)\n- [License](#-license)\n- [FAQ](#-faq)\n\n## 🤔 About\n\nThis repo is a collection of utilities and tools for my Twitch channel (tinarskii). Inspired\nfrom [thananon/twitch_tools](https://github.com/thananon/twitch_tools)\nand [lucidkarn/luciabot](https://github.com/lucidkarn/luciabot).\nThe project is written in TypeScript and uses Bun instead of Node.js, many features may be unavailable or not working as\nexpected if you are not using Bun.\n\n## 📍 Features\n\n### Chat bot\n\n- Moderation\n    1. `Announce` - Announce a message to the chat\n    2. `Game    ` - Change stream's game\n    3. `Shoutout` - Shoutout a user\n    4. `Stream  ` - Change stream's title\n\n\n- Capitalism\n    1. `Balance ` - Check your balance\n    2. `Daily   ` - Claim your daily reward\n    3. `Gamble  ` - Gamble your money\n    4. `Give    ` - Give money to another user\n    5. `Weekly  ` - Claim your weekly reward\n\n\n- Miscellaneous\n    1. `Eat     ` - Chose a random food to eat\n    2. `Hate    ` - How much do you hate someone?\n    3. `Help    ` - Show help message\n    4. `Love    ` - How much do you love someone?\n    5. `Stomp   ` - Stomp on someone\n\n\n- Overlay \u0026 Customization\n    1. `Nickname` - Change your nickname (Linked with the chat overlay)\n\n\n- Song Request\n    1. `Song-Queue   (sq)` - Show the music queue\n    2. `Song-Remove  (rm)` - Remove a song from the queue\n    3. `Song-Skip    (sk)` - Skip the current song\n    4. `Song-Request (sr)` - Add a song to the queue\n\n### Overlay\n\n- `Chat Overlay` - Show chat messages on the stream (Nickname command linked)\n- `Event Feed  ` - Show recent events on the stream (Linked with economic commands)\n- `Music Player` - Play music on the stream (Click now-playing box to hide the video)\n- `Music Queue ` - Show the music queue on the stream (Linked with the music player)\n\n## 🛠️ Installation\n\n### Prerequisites\n\n- [Bun](https://bun.sh) (Version 1.0.0 or higher is recommended)\n- [Twitch Developer Account](https://dev.twitch.tv/) (For the chat bot)\n\n### Setup\n\n1. Clone the repository\n\n```sh\ngit clone https://github.com/tinarskii/twitch-utils.git\ncd twitch-utils\n```\n\n2. Install dependencies\n\n```sh\nbun install\n```\n\n3. Create a `.env` file in the root directory and add the following environment variables\n\n```dotenv\nCLIENT_ID= # Read FAQ to get your creditentials\nCLIENT_SECRET= # Read FAQ to get your creditentials\nUSER_ACCESS_TOKEN= # Read FAQ to get your creditentials\nREFRESH_TOKEN= # Read FAQ to get your creditentials\nTW_CHANNEL= # Your channel name\nTW_ID= # Your channel ID (You can get it from the Twitch API or this site: https://www.streamweasels.com/support/convert-twitch-username-to-user-id)\nNODE_ENV= # Set it to \"production\" if you are running the bot in production\nOVERLAY_TOKEN= # A random string to authenticate the overlay (E.g. /chat-[your-token])\n```\n\n4. Start the bot\n\n```sh\nbun start\n```\n\n## 👋 Contributing\n\nIf you want to contribute to the project, please read the [CONTRIBUTING.md](/.github/CONTRIBUTING.md) file.\nHowever, if you have any questions, feel free to ask in the [Discord server](https://discord.gg/vkW7YMyYaf).\n\n## 📜 License\n\nThis project is licensed under the [Mozilla Public License 2.0](/LICENSE).\n\n## 🙋‍♂️ FAQ\n\n### How do I get my Twitch API credentials?\n\nYou can get your Twitch API credentials by creating a new application on\nthe [Twitch Developer Portal](https://dev.twitch.tv/).\nGet your ClientID and Client Secret from the application's dashboard.\nAfter that, you can install [TwitchCLI](https://dev.twitch.tv/docs/cli/) and run the following command to get your\naccess token:\n\n```sh\ntwitch token -u -s \"user:edit user:read:email chat:read chat:edit channel:moderate moderation:read moderator:manage:shoutouts moderator:manage:announcements channel:manage:moderators channel:manage:broadcast channel:read:vips channel:read:subscriptions channel:manage:vips\"\n```\n\nYou will receive a user access token and a refresh token, add them to your `.env` file.\n\n### What's `server.crt` and `server.key` files?\n\nThese files are used to run the webserver in HTTPS. If you want to use HTTPS, you can generate these files using OpenSSL\nor\nother tools. If you don't want to use HTTPS, you can remove the `server.crt` and `server.key` in `server/server.ts`.\n\n### I couldn't install Bun in my system\n\nCurrently, Bun is only available for Linux and MacOS. If you are using Windows, you can use WSL or a virtual machine to\nrun the project.\nFor the WSL installation, you can follow\nthe [official documentation](https://docs.microsoft.com/en-us/windows/wsl/install).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftinarskii%2Fmanao","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftinarskii%2Fmanao","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftinarskii%2Fmanao/lists"}