{"id":50432967,"url":"https://github.com/styliteag/mattermost2telegrambot","last_synced_at":"2026-05-31T15:02:05.826Z","repository":{"id":351556253,"uuid":"1211474312","full_name":"styliteag/mattermost2telegrambot","owner":"styliteag","description":"One-way firehose: forward every Mattermost event (channels + DMs + group DMs) visible to a user into a single Telegram chat","archived":false,"fork":false,"pushed_at":"2026-04-15T15:05:09.000Z","size":85,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-15T15:15:24.311Z","etag":null,"topics":["mattermost","stylite-orbit","telegram","telegrambot"],"latest_commit_sha":null,"homepage":"","language":"Go","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/styliteag.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-15T12:34:44.000Z","updated_at":"2026-04-15T15:05:14.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/styliteag/mattermost2telegrambot","commit_stats":null,"previous_names":["styliteag/mattermost2telegrambot"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/styliteag/mattermost2telegrambot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/styliteag%2Fmattermost2telegrambot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/styliteag%2Fmattermost2telegrambot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/styliteag%2Fmattermost2telegrambot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/styliteag%2Fmattermost2telegrambot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/styliteag","download_url":"https://codeload.github.com/styliteag/mattermost2telegrambot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/styliteag%2Fmattermost2telegrambot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33735663,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-31T02:00:06.040Z","response_time":95,"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":["mattermost","stylite-orbit","telegram","telegrambot"],"created_at":"2026-05-31T15:02:04.694Z","updated_at":"2026-05-31T15:02:05.796Z","avatar_url":"https://github.com/styliteag.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# STYLiTE Orbit Mattermost to Telegrambot\n\nOne-way firehose from Mattermost to a single Telegram chat.\n\nLogs into Mattermost as a regular user (or personal access token) and\nforwards **every** event that account can see — public channels,\nprivate channels, direct messages, group DMs — to one Telegram chat.\nRead-only: there is no reply path.\n\n## Build\n\n```bash\ngo build -o mm2tg ./cmd/mm2tg\n```\n\n## Run (local)\n\n```bash\ncp .env.example .env\n# edit .env\nset -a; . ./.env; set +a\n./mm2tg\n```\n\n## Run (Docker)\n\n```bash\ndocker build -t mm2tg .\ndocker run --rm --env-file .env mm2tg\n```\n\nOr via compose:\n\n```bash\ndocker compose up -d\n```\n\n## Environment\n\n| Variable      | Required | Notes                                              |\n|---------------|----------|----------------------------------------------------|\n| `MM_SERVER`   | yes      | host only, e.g. `chat.example.com`                 |\n| `MM_TEAM`     | yes      | team URL slug                                      |\n| `MM_LOGIN`    | yes      | username or email                                  |\n| `MM_PASS`     | yes      | password or personal access token                  |\n| `MM_MFA`      | no       | MFA token if enabled                               |\n| `MM_LOGLEVEL` | no       | `debug` / `info` / `warn` (default `info`)         |\n| `TG_TOKEN`    | yes      | Telegram bot token from @BotFather                 |\n| `TG_CHAT_ID`  | yes      | target chat id; negative for groups/channels       |\n\n## Caveats\n\n- The Mattermost account must be a member of the channels/DMs you want\n  to see. Use a dedicated user account added to everything relevant.\n- A true bot account cannot receive DMs from humans unless DMs-to-bots\n  are enabled in System Console → Bot Accounts.\n- Getting `TG_CHAT_ID`:\n  - **Private DM (bot sends only to you):** open `@userinfobot` in\n    Telegram and press Start — it replies with your numeric user id\n    (a positive number, e.g. `165089403`). Use that as `TG_CHAT_ID`.\n    You must also send `/start` (or any message) to your own bot once,\n    otherwise it cannot initiate the DM.\n  - **Group chat (bot posts into a shared group):** add your bot to\n    the group, then also add `@RawDataBot` (or `@myidbot`). It posts\n    the group's chat id, which starts with `-` (e.g. `-1001234567890`\n    for supergroups). Remove the helper bot afterwards. Your own bot\n    must stay in the group to post.\n  - **Channel (bot broadcasts into a Telegram channel):** add your\n    bot to the channel as an **admin** with post permissions. Forward\n    any message from the channel to `@RawDataBot` to get its id\n    (also starts with `-100…`).\n- Messages are split at 3900 chars (Telegram's limit is 4096).\n- Notifications are muted (`disable_notification=true`).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstyliteag%2Fmattermost2telegrambot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstyliteag%2Fmattermost2telegrambot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstyliteag%2Fmattermost2telegrambot/lists"}