{"id":17335784,"url":"https://github.com/insanusmokrassar/telegrambotapi-bot_template","last_synced_at":"2025-06-15T11:06:20.259Z","repository":{"id":37700949,"uuid":"311054074","full_name":"InsanusMokrassar/TelegramBotAPI-bot_template","owner":"InsanusMokrassar","description":null,"archived":false,"fork":false,"pushed_at":"2025-06-06T19:26:48.000Z","size":236,"stargazers_count":14,"open_issues_count":8,"forks_count":6,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-06T20:29:25.003Z","etag":null,"topics":["dev-inmo-tgbotapi","kotlin","ktgbotapi","telegram-bot","template","template-project"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/InsanusMokrassar.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,"zenodo":null}},"created_at":"2020-11-08T12:07:46.000Z","updated_at":"2025-03-30T16:45:49.000Z","dependencies_parsed_at":"2023-02-14T17:45:53.268Z","dependency_job_id":"6dd4ba68-1c9b-4d92-b620-f31aca75f91c","html_url":"https://github.com/InsanusMokrassar/TelegramBotAPI-bot_template","commit_stats":{"total_commits":142,"total_committers":4,"mean_commits":35.5,"dds":0.07042253521126762,"last_synced_commit":"a596620ea535bf265b8634765f6d8f8ac9c5cb7d"},"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/InsanusMokrassar/TelegramBotAPI-bot_template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InsanusMokrassar%2FTelegramBotAPI-bot_template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InsanusMokrassar%2FTelegramBotAPI-bot_template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InsanusMokrassar%2FTelegramBotAPI-bot_template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InsanusMokrassar%2FTelegramBotAPI-bot_template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/InsanusMokrassar","download_url":"https://codeload.github.com/InsanusMokrassar/TelegramBotAPI-bot_template/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InsanusMokrassar%2FTelegramBotAPI-bot_template/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259964327,"owners_count":22938724,"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":["dev-inmo-tgbotapi","kotlin","ktgbotapi","telegram-bot","template","template-project"],"created_at":"2024-10-15T15:12:20.349Z","updated_at":"2025-06-15T11:06:20.225Z","avatar_url":"https://github.com/InsanusMokrassar.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Telegram Bot Template\n\nThat is template for telegram bots based on next stack of technologies:\n\n* [Kotlin Coroutines](https://github.com/Kotlin/kotlinx.coroutines)\n* [Kotlin Serialization](https://github.com/Kotlin/kotlinx.serialization)\n* [Telegram Bot API Library](https://github.com/InsanusMokrassar/TelegramBotAPI) (by default everything is included like\nit was described [here](https://github.com/InsanusMokrassar/TelegramBotAPI#ok-where-should-i-start))\n\n## Default\n\nSince you have used this repo as a template you can copy file `example.config.json` as `local.config.json`, put there your bot token and simply run command `./gradlew run --args=\"local.config.json\"`. As an output you will get your bot information like:\n\n```bash\nExtendedBot(id=ChatId(chatId=1234567890), username=Username(username=@username_of_your_bot), firstName=Name of bot, lastName=, canJoinGroups=(some boolean), canReadAllGroupMessages=(some boolean), supportsInlineQueries=(some boolean))\n```\n\n### Docker\n\nIn this template there is template-like [docker-compose](docker-compose.yml) and [docker](Dockerfile) files. Besides,\nthere is [Makefile](Makefile) and you may use something like `make buildAndStartCompose` to start your bot.\n\nIt is important to replace `\"TOKEN\"` in [Dockerfile](Dockerfile) or remove and add some config as a volume.\n\n### Config\n\nBut you may set up several things for your bot. You should start with adding client object:\n\n```json\n{\n  \"token\": \"your bot token\",\n  \"client\": {\n    \"connectionTimeoutMillis\": 10000,\n    \"requestTimeoutMillis\": 10000,\n    \"responseTimeoutMillis\": 10000,\n    \"proxy\": {\n      \"hostname\": \"127.0.0.1\",\n      \"port\": 1080,\n      \"type\": \"socks\",\n      \"username\": \"username\",\n      \"password\": \"password\"\n    }\n  }\n}\n```\n\n__Required__ fields:\n\n* `token`\n* `client/proxy/hostname` (if you pass `client` and `proxy` fields) - hostname of proxy server\n* `client/proxy/password` - password for authentication on proxy server, required if `client/proxy/type` is `socks` and `client/proxy/username` passed\n\n__Optional__ fields:\n\n* `client` - object with client configs\n* `client/connectionTimeoutMillis` - timeout for connection to the server\n* `client/requestTimeoutMillis` - timeout for request complete (when request taken on server)\n* `client/responseTimeoutMillis` - timeout for getting a response after request taken on server\n* `client/proxy` - proxy settings\n* `client/proxy/port` - port of proxy server\n* `client/proxy/type` - type of proxy server (can be `socks` or `http`)\n* `client/proxy/username` - username for authentication on proxy server\n* `client/proxy/password` - password for authentication on proxy server\n\nBasically, your config looks like an object with token:\n\n```json\n{\n  \"token\": \"your bot token\"\n}\n```\n\n## What next?\n\nThere are several ways to continue:\n\n* [Tutorials](https://docs.inmo.dev/tgbotapi/index.html)\n* [Github readme](https://github.com/InsanusMokrassar/TelegramBotAPI)\n\nIn other words, this template (and [TelegramBotAPI library](https://github.com/InsanusMokrassar/TelegramBotAPI)) does\nnot limit you on choosing of way to continue 😊\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finsanusmokrassar%2Ftelegrambotapi-bot_template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finsanusmokrassar%2Ftelegrambotapi-bot_template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finsanusmokrassar%2Ftelegrambotapi-bot_template/lists"}