{"id":37039451,"url":"https://github.com/navigatorframework/navigator","last_synced_at":"2026-01-14T04:40:53.353Z","repository":{"id":36426300,"uuid":"224394353","full_name":"navigatorframework/navigator","owner":"navigatorframework","description":"☸️🐙 A highly opinionated telegram bot framework for .NET ","archived":false,"fork":false,"pushed_at":"2025-08-05T08:46:14.000Z","size":1345,"stargazers_count":11,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-21T18:38:25.976Z","etag":null,"topics":["bots","navigator","telegram"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/navigatorframework.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}},"created_at":"2019-11-27T09:33:31.000Z","updated_at":"2025-08-27T12:21:44.000Z","dependencies_parsed_at":"2024-10-21T14:20:09.209Z","dependency_job_id":null,"html_url":"https://github.com/navigatorframework/navigator","commit_stats":null,"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"purl":"pkg:github/navigatorframework/navigator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/navigatorframework%2Fnavigator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/navigatorframework%2Fnavigator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/navigatorframework%2Fnavigator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/navigatorframework%2Fnavigator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/navigatorframework","download_url":"https://codeload.github.com/navigatorframework/navigator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/navigatorframework%2Fnavigator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28409753,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T01:52:23.358Z","status":"online","status_checked_at":"2026-01-14T02:00:06.678Z","response_time":107,"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":["bots","navigator","telegram"],"created_at":"2026-01-14T04:40:52.740Z","updated_at":"2026-01-14T04:40:53.339Z","avatar_url":"https://github.com/navigatorframework.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Navigator\n\nA highly opinionated telegram bot framework, mainly based on [Telegram.Bot](https://github.com/TelegramBots/Telegram.Bot).\n\nThe only requirement is `Microsoft.AspNetCore.App (\u003e= 8.0)`.\n\nThe usage is very simple yet powerful:\n\n```csharp\n...\nusing Navigator;\n... \n\nvar builder = WebApplication.CreateBuilder(args);\n\nbuilder.Services.AddMemoryCache();\n\nbuilder.Services.AddNavigator(options =\u003e\n{\n    options.SetWebHookBaseUrl(builder.Configuration[\"BASE_WEBHOOK_URL\"]!);\n    options.SetTelegramToken(builder.Configuration[\"TELEGRAM_TOKEN\"]!);\n});\n\nvar app = builder.Build();\n\nvar bot = app.GetBot();\n\n// This action will be triggered if the user sends a message in the style of `/join \u003ctext\u003e \u003ctext\u003e`.\nbot.OnCommand(\"join\", async (INavigatorClient client, Chat chat, string[] parameters) =\u003e\n{\n    var result = string.Join(',', parameters);\n\n    await client.SendTextMessageAsync(chat, result);\n});\n\napp.MapNavigator();\n\napp.Run();\n```\n\n## Getting Started\n\nAfter installing the [package](https://www.nuget.org/packages/Navigator/) you can start using it by first configuring Navigator:\n\n```csharp\nbuilder.Services.AddNavigator(options =\u003e\n{\n    // Configuration here!\n});\n```\n\nInside the AddNavigator method you can define the following options:\n\n- The WebHook base URL:`options.SetWebHookBaseUrl(string)`\n- The Telegram token: `options.SetTelegramToken(string)`\n- Optionally, the WebHook endpoint: `options.SetWebHookEndpoint(string)`\n- Optionally, allow multiple actions for the same update: `options.EnableMultipleActionsUsage()`\n- Optionally, enable the sending of chat actions (e.g. typing) notifications: `options.EnableChatActionNotification()`\n\nContinue by defining the actions of your bot using the different helper methods (see source code for more details).\n\nFinally add the following line to map the endpoint to the navigator framework:\n\n```csharp\napp.MapNavigator();\n```\n\nThis will start the server and will listen for incoming requests from Telegram. Your bot is good to go!\n\n## Extensions\n\nNavigator comes with a few extensions:\n- Navigator.Extensions.Probabilities: Easily configure the probabilities of a bot action being executed.\n- Navigator.Extensions.Cooldown: Easily configure the cooldown of an action.\n\nYou can find them in nuget by searching for `Navigator.Extensions.`.\n\n## Examples\n\nSome examples can be found in the [samples](https://github.com/navigatorframework/navigator/src/) repository.\n\nAlso checkout some bots made with `Navigator`:\n\n- [@ThankiesBot](https://t.me/thankiesbot), check out it's [source code](https://github.com/elementh/thankies).\n- [@FOSCBot](https://t.me/foscbot), check out it's [source code](https://github.com/elementh/foscbot).\n\n## License\n\nNavigator Framework\nCopyright (C) 2019-2024 Lucas Maximiliano Marino\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published\nby the Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with this program. If not, see \u003chttps://www.gnu.org/licenses/\u003e.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnavigatorframework%2Fnavigator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnavigatorframework%2Fnavigator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnavigatorframework%2Fnavigator/lists"}