├── .github ├── dependabot.yml └── workflows │ ├── main.yml │ └── publish.yml ├── .gitignore ├── LICENSE ├── README.md ├── TGBotFramework ├── .editorconfig ├── BotFramework.Tests │ ├── Attributes │ │ ├── CommandAttributeTest.cs │ │ ├── MessageAttributeTests.cs │ │ └── UpdateAttributeTests.cs │ ├── BotFramework.Tests.csproj │ └── EventHandlerFactoryTests.cs ├── BotFramework │ ├── Abstractions │ │ ├── IBotInstance.cs │ │ ├── IBotPlugin.cs │ │ ├── IBotPluginContext.cs │ │ ├── IBotRequestContext.cs │ │ ├── IBotRequestHandler.cs │ │ └── Storage │ │ │ ├── IBotChat.cs │ │ │ ├── IBotEntity.cs │ │ │ ├── IBotEntityRepository.cs │ │ │ ├── IBotUser.cs │ │ │ ├── ISessionProvider.cs │ │ │ ├── IUserProvider.cs │ │ │ ├── IUserSession.cs │ │ │ └── InMemory │ │ │ ├── BotChat.cs │ │ │ ├── BotUser.cs │ │ │ └── DefaultUserProvider.cs │ ├── Attributes │ │ ├── BaseAttribute.cs │ │ ├── CommandAttribute.cs │ │ ├── MessageAttribute.cs │ │ ├── ParametrizedCommandAttribute.cs │ │ ├── PriorityAttribute.cs │ │ └── UpdateAttribute.cs │ ├── Bot.cs │ ├── BotEventHandler.cs │ ├── BotFramework.csproj │ ├── Config │ │ ├── BotConfig.cs │ │ └── DefaultConfig.json │ ├── Enums │ │ ├── CommandParseMode.cs │ │ ├── HandlerExec.cs │ │ ├── InChat.cs │ │ ├── MessageFlag.cs │ │ └── UpdateFlag.cs │ ├── HandlerParams.cs │ ├── InternalsVisibleTo.cs │ ├── Middleware │ │ ├── BaseMiddleware.cs │ │ ├── IMiddleware.cs │ │ └── Router.cs │ ├── ParameterResolvers │ │ ├── BoolParameter.cs │ │ ├── DateTimeParameter.cs │ │ ├── NumberParameters.cs │ │ └── StringParametr.cs │ ├── Parameters.cs │ ├── ServiceExtensions.cs │ ├── Session │ │ ├── InMemorySession.cs │ │ └── InMemorySessionProvider.cs │ ├── Setup │ │ └── BotStartup.cs │ └── Utils │ │ ├── BotExt.cs │ │ └── HtmlString.cs ├── Examples │ ├── BotAsWorkerService │ │ ├── BotAsWorkerService.csproj │ │ ├── EventHandler.cs │ │ ├── Program.cs │ │ └── appsettings.example.json │ └── MsgDumpBot │ │ ├── EventHandler.cs │ │ ├── MsgDumpBot.csproj │ │ ├── Program.cs │ │ └── appsettings.example.json └── TGBotFramework.sln └── version.json /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/.github/workflows/main.yml -------------------------------------------------------------------------------- /.github/workflows/publish.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/.github/workflows/publish.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/README.md -------------------------------------------------------------------------------- /TGBotFramework/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/.editorconfig -------------------------------------------------------------------------------- /TGBotFramework/BotFramework.Tests/Attributes/CommandAttributeTest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework.Tests/Attributes/CommandAttributeTest.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework.Tests/Attributes/MessageAttributeTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework.Tests/Attributes/MessageAttributeTests.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework.Tests/Attributes/UpdateAttributeTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework.Tests/Attributes/UpdateAttributeTests.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework.Tests/BotFramework.Tests.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework.Tests/BotFramework.Tests.csproj -------------------------------------------------------------------------------- /TGBotFramework/BotFramework.Tests/EventHandlerFactoryTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework.Tests/EventHandlerFactoryTests.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Abstractions/IBotInstance.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Abstractions/IBotInstance.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Abstractions/IBotPlugin.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Abstractions/IBotPlugin.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Abstractions/IBotPluginContext.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Abstractions/IBotPluginContext.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Abstractions/IBotRequestContext.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Abstractions/IBotRequestContext.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Abstractions/IBotRequestHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Abstractions/IBotRequestHandler.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Abstractions/Storage/IBotChat.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Abstractions/Storage/IBotChat.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Abstractions/Storage/IBotEntity.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Abstractions/Storage/IBotEntity.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Abstractions/Storage/IBotEntityRepository.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Abstractions/Storage/IBotEntityRepository.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Abstractions/Storage/IBotUser.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Abstractions/Storage/IBotUser.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Abstractions/Storage/ISessionProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Abstractions/Storage/ISessionProvider.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Abstractions/Storage/IUserProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Abstractions/Storage/IUserProvider.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Abstractions/Storage/IUserSession.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Abstractions/Storage/IUserSession.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Abstractions/Storage/InMemory/BotChat.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Abstractions/Storage/InMemory/BotChat.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Abstractions/Storage/InMemory/BotUser.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Abstractions/Storage/InMemory/BotUser.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Abstractions/Storage/InMemory/DefaultUserProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Abstractions/Storage/InMemory/DefaultUserProvider.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Attributes/BaseAttribute.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Attributes/BaseAttribute.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Attributes/CommandAttribute.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Attributes/CommandAttribute.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Attributes/MessageAttribute.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Attributes/MessageAttribute.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Attributes/ParametrizedCommandAttribute.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Attributes/ParametrizedCommandAttribute.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Attributes/PriorityAttribute.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Attributes/PriorityAttribute.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Attributes/UpdateAttribute.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Attributes/UpdateAttribute.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Bot.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Bot.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/BotEventHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/BotEventHandler.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/BotFramework.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/BotFramework.csproj -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Config/BotConfig.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Config/BotConfig.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Config/DefaultConfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Config/DefaultConfig.json -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Enums/CommandParseMode.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Enums/CommandParseMode.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Enums/HandlerExec.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Enums/HandlerExec.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Enums/InChat.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Enums/InChat.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Enums/MessageFlag.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Enums/MessageFlag.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Enums/UpdateFlag.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Enums/UpdateFlag.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/HandlerParams.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/HandlerParams.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/InternalsVisibleTo.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | #if !Deploy 3 | [assembly: InternalsVisibleTo("BotFramework.Tests")] 4 | #endif 5 | 6 | -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Middleware/BaseMiddleware.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Middleware/BaseMiddleware.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Middleware/IMiddleware.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Middleware/IMiddleware.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Middleware/Router.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Middleware/Router.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/ParameterResolvers/BoolParameter.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/ParameterResolvers/BoolParameter.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/ParameterResolvers/DateTimeParameter.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/ParameterResolvers/DateTimeParameter.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/ParameterResolvers/NumberParameters.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/ParameterResolvers/NumberParameters.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/ParameterResolvers/StringParametr.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/ParameterResolvers/StringParametr.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Parameters.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Parameters.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/ServiceExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/ServiceExtensions.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Session/InMemorySession.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Session/InMemorySession.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Session/InMemorySessionProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Session/InMemorySessionProvider.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Setup/BotStartup.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Setup/BotStartup.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Utils/BotExt.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Utils/BotExt.cs -------------------------------------------------------------------------------- /TGBotFramework/BotFramework/Utils/HtmlString.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/BotFramework/Utils/HtmlString.cs -------------------------------------------------------------------------------- /TGBotFramework/Examples/BotAsWorkerService/BotAsWorkerService.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/Examples/BotAsWorkerService/BotAsWorkerService.csproj -------------------------------------------------------------------------------- /TGBotFramework/Examples/BotAsWorkerService/EventHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/Examples/BotAsWorkerService/EventHandler.cs -------------------------------------------------------------------------------- /TGBotFramework/Examples/BotAsWorkerService/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/Examples/BotAsWorkerService/Program.cs -------------------------------------------------------------------------------- /TGBotFramework/Examples/BotAsWorkerService/appsettings.example.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/Examples/BotAsWorkerService/appsettings.example.json -------------------------------------------------------------------------------- /TGBotFramework/Examples/MsgDumpBot/EventHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/Examples/MsgDumpBot/EventHandler.cs -------------------------------------------------------------------------------- /TGBotFramework/Examples/MsgDumpBot/MsgDumpBot.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/Examples/MsgDumpBot/MsgDumpBot.csproj -------------------------------------------------------------------------------- /TGBotFramework/Examples/MsgDumpBot/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/Examples/MsgDumpBot/Program.cs -------------------------------------------------------------------------------- /TGBotFramework/Examples/MsgDumpBot/appsettings.example.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/Examples/MsgDumpBot/appsettings.example.json -------------------------------------------------------------------------------- /TGBotFramework/TGBotFramework.sln: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/TGBotFramework/TGBotFramework.sln -------------------------------------------------------------------------------- /version.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleXr64/Telegram-bot-framework/HEAD/version.json --------------------------------------------------------------------------------