{"id":41515257,"url":"https://github.com/italankin/chtosrublembot","last_synced_at":"2026-01-23T20:19:23.961Z","repository":{"id":40956753,"uuid":"354621356","full_name":"italankin/chtosrublembot","owner":"italankin","description":"Your daily source of truth","archived":false,"fork":false,"pushed_at":"2025-06-10T13:48:37.000Z","size":125,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-10T14:48:32.668Z","etag":null,"topics":["bot","forex-stock-exchange","telegram","telegram-bot"],"latest_commit_sha":null,"homepage":"https://t.me/chtosrublembot","language":"Python","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/italankin.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-04-04T18:46:31.000Z","updated_at":"2025-06-10T13:49:11.000Z","dependencies_parsed_at":"2025-06-10T14:39:34.319Z","dependency_job_id":"ec2b39d3-edb6-488c-a34a-ae0ca79a49e4","html_url":"https://github.com/italankin/chtosrublembot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/italankin/chtosrublembot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/italankin%2Fchtosrublembot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/italankin%2Fchtosrublembot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/italankin%2Fchtosrublembot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/italankin%2Fchtosrublembot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/italankin","download_url":"https://codeload.github.com/italankin/chtosrublembot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/italankin%2Fchtosrublembot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28699377,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-23T17:25:48.045Z","status":"ssl_error","status_checked_at":"2026-01-23T17:25:47.153Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["bot","forex-stock-exchange","telegram","telegram-bot"],"created_at":"2026-01-23T20:19:23.313Z","updated_at":"2026-01-23T20:19:23.956Z","avatar_url":"https://github.com/italankin.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Chto s rublem?\n\n![chtosrublem](chtosrublem.jpg)\n\n# Configuration\n\nParameter|Description\n---|---\n`TELEGRAM_BOT_TOKEN`|Telegram bot token\n`BOT_TRIGGERS_FILE`|Triggers and symbols for bot\n`FCSAPI_ACCESS_KEY`|Access key for [FCS API](https://fcsapi.com/)\n`BOT_SUBSTRING_TRIGGER_RATE`|A float in range `[0..1]` which limits `substring` triggering \n\n### Triggers\n\nKey|Type|Description\n---|---|---\n`symbol`|`string`|Currency pair which is supported by FCS API ([forex](https://fcsapi.com/document/forex-api#forexsupportedcurrency), [crypto](https://fcsapi.com/document/crypto-api#cryptosupportedcurrency))\n`trigger`|`regex`|Regular expression (full match against the message) which will trigger `symbol` lookup\n`source`|`enum`|Source of `symbol`, either `forex` (default) or `crypto`\n`substring`|`regex`|Regular expression (partial match against the message) which will trigger `symbol` lookup at `BOT_SUBSTRING_TRIGGER_RATE`\n\n# Docker\n\n## Build image\n\n ```sh\n $ docker build -t chtosrublembot .\n ```\n\n## Configure\n\nCreate file `.env` with the following contents:\n\n ```env\n TELEGRAM_BOT_TOKEN=\u003cyour-bot-token\u003e\n BOT_TRIGGERS_FILE=/data/triggers.json\n FCSAPI_ACCESS_KEY=\u003cyour-access-key\u003e\n ```\n\n### Triggers file\n\nJSON file with triggers:\n\n ```json\n [\n  {\n    \"symbol\": \"USD/RUB\",\n    \"trigger\": \"RUB to USD\\\\?\"\n  },\n  {\n    \"symbol\": \"BTC/USD\",\n    \"trigger\": \"BTC to USD\\\\?\"\n    \"source\": \"crypto\"\n  }\n]\n ```\n\nPlace it to `$(pwd)/data/triggers.json`.\n\n## Run\n\nYou can either mount directory with triggers data, or create a separate volume for that. The following command uses\nhost directory as a `data` volume:\n\n ```sh\n $ docker run --rm -d -v $(pwd)/data/:/data/ --env-file .env chtosrublembot\n ```\n \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitalankin%2Fchtosrublembot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitalankin%2Fchtosrublembot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitalankin%2Fchtosrublembot/lists"}