{"id":22923883,"url":"https://github.com/daftmaple/irbis-twitch-sqlite","last_synced_at":"2025-04-01T14:46:03.982Z","repository":{"id":132564271,"uuid":"333024710","full_name":"daftmaple/irbis-twitch-sqlite","owner":"daftmaple","description":"Note: this project is currently not maintained in favour of the new implementation of the bot which uses Postgresql. The new version is still under development.","archived":false,"fork":false,"pushed_at":"2021-01-26T08:51:22.000Z","size":22,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-07T09:29:23.994Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/daftmaple.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2021-01-26T08:50:39.000Z","updated_at":"2021-02-11T01:45:58.000Z","dependencies_parsed_at":null,"dependency_job_id":"88d49479-899a-4c41-9d27-f2b822e0f25d","html_url":"https://github.com/daftmaple/irbis-twitch-sqlite","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daftmaple%2Firbis-twitch-sqlite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daftmaple%2Firbis-twitch-sqlite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daftmaple%2Firbis-twitch-sqlite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daftmaple%2Firbis-twitch-sqlite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/daftmaple","download_url":"https://codeload.github.com/daftmaple/irbis-twitch-sqlite/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246659660,"owners_count":20813331,"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":[],"created_at":"2024-12-14T08:17:48.214Z","updated_at":"2025-04-01T14:46:03.174Z","avatar_url":"https://github.com/daftmaple.png","language":"TypeScript","readme":"# Irbis Twitch bot\n\n## To set up the bot\n\n### Directories and files\n\n1. Make directory `.data` (or wherever you're going to store the database according to your configuration).\n2. Copy `config.example.json` to `.data/config.json` (this is where your config exists).\n\n### Database\n\nRead [database documentation](DATABASE.md)\n\n### Twitch configuration\n\n1. Create an app on Twitch Developer dashboard.\n2. Take the client id and secret and put it inside the config.json, inside `twitchApplication` field.\n3. Generate the first bot refresh token **using your bot account**. This step might be difficult but can be generated via [Twitch Oauth Token Generator](https://github.com/daftmaple/twitch-oauth-token). This step requires you to access permissions listed below.\n4. Copy the refresh token from the response to `botRefreshToken` field. This will act as the initial token.\n5. Fill in the remaining fields:\n\n   - `botName` your bot name. If you're using your own account for bot, you can fill this with your account name\n   - `botChannel` where the bot resides (most likely your own channel)\n   - `timezone` according to your [timezone in tz format](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)\n   - `lastfm` your last.fm user and api key to access your latest last.fm scrobble. This is optional.\n\n### Building the bot\n\nIf you have NodeJS [at least ES2015/ES6 compatible](https://node.green/#ES2015) and package manager, run `yarn build` or `npm run build`.\n\nIf you don't have them, just install them 4Head.\n\n### Permissions\n\nThe app needs to access these permissions for the bot:\n\n- chat:read\n- chat:edit\n- channel:moderate\n- whispers:read\n- whispers:edit\n\nThe app needs to access these permissions for the user:\n\n- channel:manage:broadcast\n\n### Starting the bot\n\n`yarn start` or `npm run start`\n\n### Starting the bot with Docker (local Sqlite)\n\nWith docker-compose:\n\n```sh\ndocker-compose up -f docker-compose.mono.yaml --build --detach\n```\n\nWithout docker-compose:\n\n```sh\ndocker build -t irbis-twitch .\n# PATH_TO_DATA_DIR is equal to $PWD/.data when running locally\n# WSL1 Docker PATH_TO_DATA_DIR is $(wslpath -w $(pwd)/.data)\ndocker run --detach --volume \u003cPATH_TO_DATA_DIR\u003e:/usr/src/.data --name irbis-t-container irbis-twitch\n```\n\n## Development\n\nUsing VSCode, install both [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) and [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaftmaple%2Firbis-twitch-sqlite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdaftmaple%2Firbis-twitch-sqlite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaftmaple%2Firbis-twitch-sqlite/lists"}