{"id":23107767,"url":"https://github.com/kleros/kleros-moderate","last_synced_at":"2025-08-16T17:31:48.376Z","repository":{"id":54635212,"uuid":"522531070","full_name":"kleros/kleros-moderate","owner":"kleros","description":"Content Moderation using Reality.Eth with Kleros arbitration","archived":false,"fork":false,"pushed_at":"2025-02-19T18:22:28.000Z","size":2286,"stargazers_count":11,"open_issues_count":14,"forks_count":1,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-05-24T17:46:32.591Z","etag":null,"topics":["backend","content-moderation","ethereum","kleros","middleware","moderate","smart-contracts","telegram-bot","under-construction"],"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/kleros.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}},"created_at":"2022-08-08T12:00:22.000Z","updated_at":"2024-12-23T20:01:20.000Z","dependencies_parsed_at":"2024-02-12T12:54:34.530Z","dependency_job_id":null,"html_url":"https://github.com/kleros/kleros-moderate","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/kleros/kleros-moderate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kleros%2Fkleros-moderate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kleros%2Fkleros-moderate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kleros%2Fkleros-moderate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kleros%2Fkleros-moderate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kleros","download_url":"https://codeload.github.com/kleros/kleros-moderate/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kleros%2Fkleros-moderate/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270746322,"owners_count":24638321,"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","status":"online","status_checked_at":"2025-08-16T02:00:11.002Z","response_time":91,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["backend","content-moderation","ethereum","kleros","middleware","moderate","smart-contracts","telegram-bot","under-construction"],"created_at":"2024-12-17T01:16:04.425Z","updated_at":"2025-08-16T17:31:47.874Z","avatar_url":"https://github.com/kleros.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kleros Moderate\r\n\r\nThe Kleros Moderate service uses a Telegram bot to provide Kleros dispute resolution to Telegram communities. The architecture is based on the battle tested [Reality.eth X Kleros integration](https://kleros.gitbook.io/docs/integrations/types-of-integrations/1.-dispute-resolution-integration-plan/channel-partners/how-to-use-reality.eth-+-kleros-as-an-oracle) and uses solid cryptoeconomics for fair and transparent moderation.\r\n\r\nCurrently Telegram is supported, with Discord planned.\r\n\r\nThe bot can be self-hosted, or to use the bot instance that is hosted by the Kleros Cooperative, please apply to [join the beta](https://forms.gle/3Yteu5YFTZoWGhXv7). \r\n\r\n## Installation\r\n\r\nCopy `.env.dist` to `.env` and configure the telegram API key.\r\n\r\n## Create sqlite database\r\n\r\n`yarn create-db`\r\n\r\n## Start bot\r\n\r\n`yarn start-telegram-bot`\r\n\r\n## pm2\r\n\r\n### Installation\r\n\r\n`yarn global add pm2`\r\n\r\n### Commands\r\n\r\n```\r\nyarn pm2:start\r\nyarn pm2:stop-all\r\nyarn pm2:delete-all\r\n```\r\n\r\n\r\n## Telegram Commands\r\n\r\nCommand | Description | Group Admin | Normal user\r\n--- | --- | --- | ---\r\n/getaccount | Returns the bot address of the current chat | ✅ | ✅\r\n/setrules | `[by reply/username/id]`  Set chat rules from the quoted message | ✅ | ❌\r\n/setrules [url] | Set chat rules from the specified url | ✅ | ❌\r\n/rules | Get chat rules | ✅ | ✅\r\n/report | `[by reply/username/id]`  Reports a user | ✅ | ✅\r\n/evidence [questionId] | `[by reply/username/id]` Adds the quoted message as evidence to the arbitrator of `questionId` | ✅ | ✅\r\n\r\n### Attribution\r\n\r\nThanks to @rodsouto and @fnanni-0 for starting an initial [version](https://github.com/rodsouto/kleros-moderator-bot) of this project for telegram.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkleros%2Fkleros-moderate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkleros%2Fkleros-moderate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkleros%2Fkleros-moderate/lists"}