{"id":21697368,"url":"https://github.com/web3space/tanos","last_synced_at":"2025-10-09T10:40:03.541Z","repository":{"id":97406338,"uuid":"186915106","full_name":"web3space/tanos","owner":"web3space","description":"Telegram Bot Builder Framework","archived":false,"fork":false,"pushed_at":"2020-01-19T13:59:29.000Z","size":1575,"stargazers_count":5,"open_issues_count":1,"forks_count":4,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-08-26T17:26:44.383Z","etag":null,"topics":["telegram","telegram-bot"],"latest_commit_sha":null,"homepage":"","language":"LiveScript","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/web3space.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}},"created_at":"2019-05-15T23:12:21.000Z","updated_at":"2020-08-01T06:54:20.000Z","dependencies_parsed_at":"2023-03-06T08:45:54.779Z","dependency_job_id":null,"html_url":"https://github.com/web3space/tanos","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/web3space/tanos","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web3space%2Ftanos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web3space%2Ftanos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web3space%2Ftanos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web3space%2Ftanos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/web3space","download_url":"https://codeload.github.com/web3space/tanos/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web3space%2Ftanos/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279001277,"owners_count":26083040,"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-10-09T02:00:07.460Z","response_time":59,"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":["telegram","telegram-bot"],"created_at":"2024-11-25T19:25:18.778Z","updated_at":"2025-10-09T10:40:03.522Z","avatar_url":"https://github.com/web3space.png","language":"LiveScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n![Tanos](https://res.cloudinary.com/nixar-work/image/upload/v1561861668/Screen_Shot_2019-06-30_at_05.27.40.png)\n\n### Telegram Bot Builder Framwork\n\n\n## Install\n\nsh\n```\nnpm i tanos --save\n```\n\nServices:\n\n  * Http Service\n  * Telegram Service\n\n\n## Get Started\n\n### Create config.json\n\n```JSON\n{\n    \"telegramToken\"  : \"881177358:000000000000000000000000\",  \n    \"serverAddress\"  : \"http://your-domain-for-telegram-passport\",\n    \"serverPort\"     : 80,\n    \"serverSslPort\"  : 443,\n    \"dbType\" : \"drive\",\n    \"botName\" : \"your_bot\"\n}\n```\n\nwhere\n\n* telegramToken - get from @BotFather (required)\n* serverAddress - only for telegram passport (optional)\n* serverPort - for HTTP API\n* serverSslPort - for HTTPS API (optional)\n* dbType - could be `memory` or `drive`.\n* botName - registered bot name in BotFather \n\n\n\n### Create layout.json (KYC bot Example)\n\n```JSON\n{\n   \"main:bot-step\":{\n      \"onEnter\":\"$global.admins = [$user.chat_id] if not $global.admins?\",\n      \"text\":\"Please choose the action below\",\n      \"buttons\":{\n         \"Pass KYC Verification\":\"goto:kyc\"\n      }\n   },\n   \"kyc:bot-step\":{\n      \"text\":\"Please enter your email\",\n      \"onText\":{\n         \"goto\":\"passport\",\n         \"store\":\"$user.email = $text\"\n      }\n   },\n   \"passport:bot-step\":{\n      \"text\":\"Please attach your Passport\",\n      \"onText\":{\n         \"goto\":\"utility\",\n         \"store\":\"$user.passport = $text\"\n      }\n   },\n   \"utility:bot-step\":{\n      \"text\":\"Please attach your Utility Bill\",\n      \"onText\":{\n         \"goto\":\"address\",\n         \"store\":\"$user.utility = $text\"\n      }\n   },\n   \"address:bot-step\":{\n      \"text\":\"Please enter your Living Address\",\n      \"onText\":{\n         \"goto\":\"firstname\",\n         \"store\":\"$user.address = $text\"\n      }\n   },\n   \"firstname:bot-step\":{\n      \"text\":\"Please enter your First Name\",\n      \"onText\":{\n         \"goto\":\"lastname\",\n         \"store\":\"$user.firstname = $text\"\n      }\n   },\n   \"lastname:bot-step\":{\n      \"text\":\"Please enter your Last Name\",\n      \"onText\":{\n         \"goto\":\"finish\",\n         \"store\":\"$user.lastname = $text\"\n      }\n   },\n   \"finish:bot-step\":{\n      \"onEnter\":\"({ $user, $app }, cb)-\u003e $app.review $user, cb\",\n      \"text\":\"Your application has been sent. Please wait for review\",\n      \"buttons\":{\n         \"Pass KYC Verification again\":\"goto:kyc\"\n      }\n   }\n}\n\n```\n\nThis configuration supports images, text, buttons, menu, text validators, localization. More information is available [here](LAYOUT.md)\n\n\n### Create app.js\n\n```Javascript \n\nmodule.exports = ({ db, bot, tanos })=\u003e {\n    \n    const review = ($user, cb)=\u003e {\n        // Some actions with $user data\n        cb(null);\n    }\n    \n    return { review }\n}\n\n```\n\n\n### Create server.js\n\n```Javascript\n\nconst tanos  = require('tanos');\nconst config = require('./config.json');\nconst layout = require('./layout.json');\nconst app     = require('./app.js');\n\ntanos({ layout, app, ...config }, (err)=\u003e {\n   console.log(\"Telegram Bot has been started\") \n});\n\n```\n\n### Start \n\n```\nnode server.js\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweb3space%2Ftanos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fweb3space%2Ftanos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweb3space%2Ftanos/lists"}