Compare commits

...

529 Commits

Author SHA1 Message Date
Максим Човнюк
07ac1502b4 Enchancement to override Label._renderNecessary
All checks were successful
build nuget workflow for TelegramBotBase project / Build-TelegramBotBase (x64, linux) (push) Successful in 37s
2024-12-07 23:04:00 +05:00
Максим Човнюк
07cbb8bfa4 AutoCleanForm detect only is active form
All checks were successful
build nuget workflow for TelegramBotBase project / Build-TelegramBotBase (x64, linux) (push) Successful in 37s
2024-12-07 22:09:18 +05:00
Максим Човнюк
139ccbb136 received handling
All checks were successful
build nuget workflow for TelegramBotBase project / Build-TelegramBotBase (x64, linux) (push) Successful in 36s
2024-12-07 21:39:27 +05:00
Максим Човнюк
f4bc2ca9b0 fix changing iterable collection
All checks were successful
build nuget workflow for TelegramBotBase project / Build-TelegramBotBase (x64, linux) (push) Successful in 36s
2024-12-07 20:53:10 +05:00
Максим Човнюк
880878190d force update
All checks were successful
build nuget workflow for TelegramBotBase project / Build-TelegramBotBase (x64, linux) (push) Successful in 40s
2024-12-07 20:02:00 +05:00
Максим Човнюк
3f0fc962a4 IFormState OR attributes
All checks were successful
build nuget workflow for TelegramBotBase project / Build-TelegramBotBase (x64, linux) (push) Successful in 38s
2024-12-07 10:50:36 +05:00
Максим Човнюк
6a80ec66ad di and serialization support
All checks were successful
build nuget workflow for TelegramBotBase project / Build-TelegramBotBase (x64, linux) (push) Successful in 37s
2024-12-06 16:13:46 +05:00
Максим Човнюк
0931147f5a pass version to dotnet on all steps
All checks were successful
build nuget workflow for TelegramBotBase project / Build-TelegramBotBase (x64, linux) (push) Successful in 37s
2024-12-05 17:44:24 +05:00
Максим Човнюк
a81d299010 version setup on build step
Some checks failed
build nuget workflow for TelegramBotBase project / Build-TelegramBotBase (x64, linux) (push) Failing after 36s
2024-12-05 17:38:45 +05:00
Максим Човнюк
956fbd47f0 1
All checks were successful
build nuget workflow for TelegramBotBase project / Build-TelegramBotBase (x64, linux) (push) Successful in 36s
2024-12-05 17:28:42 +05:00
Максим Човнюк
4210ecbb4f version in workflow
Some checks failed
build nuget workflow for TelegramBotBase project / Build-TelegramBotBase (x64, linux) (push) Failing after 35s
2024-12-05 17:26:47 +05:00
Максим Човнюк
9dc7490015 version update
Some checks failed
build nuget workflow for TelegramBotBase project / Build-TelegramBotBase (x64, linux) (push) Failing after 34s
2024-12-05 17:22:36 +05:00
Максим Човнюк
877d2daa30 name fix
All checks were successful
build nuget workflow for TelegramBotBase project / Build-TelegramBotBase (x64, linux) (push) Successful in 36s
2024-12-05 16:54:31 +05:00
Максим Човнюк
55027b92aa optional step "disconnect source"
Some checks failed
build nuget workflow for TelegramBotBase project / Build-TelegramBotBase (x64, linux) (push) Failing after 34s
2024-12-05 16:50:13 +05:00
Максим Човнюк
ec4bb85d40 revert external action to cli commands
Some checks failed
build nuget workflow for TelegramBotBase project / Build-TelegramBotBase (x64, linux) (push) Failing after 35s
2024-12-05 16:47:19 +05:00
Максим Човнюк
db0afd4668 change interpolation type in path
Some checks failed
build nuget workflow for TelegramBotBase project / Build-TelegramBotBase (x64, linux) (push) Failing after 43s
2024-12-05 16:32:21 +05:00
Максим Човнюк
3ab24dcd37 try to use new github action
Some checks failed
build nuget workflow for TelegramBotBase project / Build-TelegramBotBase (x64, linux) (push) Failing after 5s
2024-12-05 16:31:04 +05:00
Максим Човнюк
4b42644593 fix missing path to uploading nuget package
Some checks failed
build nuget workflow for TelegramBotBase project / Build-TelegramBotBase (x64, linux) (push) Failing after 35s
2024-12-05 16:23:25 +05:00
Максим Човнюк
3b792ee676 workflow move to "nuget push" api key
Some checks failed
build nuget workflow for TelegramBotBase project / Build-TelegramBotBase (x64, linux) (push) Failing after 35s
2024-12-05 16:20:48 +05:00
Максим Човнюк
367de14a1a update dependencies and add workflow for publish nuget
Some checks failed
build nuget workflow for TelegramBotBase project / Build-TelegramBotBase (x64, linux) (push) Failing after 41s
2024-12-05 16:16:49 +05:00
Florian Zevedei
82e6d79ec4 Updating examples 2024-07-12 13:40:47 +02:00
Florian Zevedei
5d2f3e7fe9
Merge pull request #67 from MajMcCloud/development
Updating master branch via development branch
2024-07-10 14:28:25 +02:00
Florian Zevedei
7aa40b3e2d Using Message instead RawData.Message on session creation 2024-07-10 14:25:51 +02:00
Florian Zevedei
eb8fad444b Fix for bots in groups adding/removing 2024-07-10 14:25:08 +02:00
Florian Zevedei
5cda9e1fdc
README.md aktualisieren 2024-07-06 17:56:33 +02:00
Florian Zevedei
41bdf52afe
README.md aktualisieren 2024-07-06 17:56:13 +02:00
Florian Zevedei
9023875922
README.md aktualisieren 2024-07-06 17:55:36 +02:00
Florian Zevedei
05bfeb8d09
Update README.md 2024-07-06 17:28:23 +02:00
Florian Zevedei
1f1aa1f0ee Adding throwPendingUpdates to QuickStart in BBB 2024-07-03 15:56:50 +02:00
Florian Zevedei
3d97da75f1 Update README.md 2024-07-01 03:28:37 +02:00
Florian Zevedei
261fdafd96
Merge pull request #65 from MajMcCloud/development
Migrating development branch into master
2024-06-29 18:30:34 +02:00
Florian Zevedei
39e68a2089
Merge branch 'master' into development 2024-06-29 18:28:37 +02:00
Florian Zevedei
312690c002 Fix builder in sample 2024-06-25 13:43:33 +02:00
Florian Zevedei
99b888a7a2 Replacing project reference with nuget package in samples 2024-06-25 13:43:21 +02:00
Florian Zevedei
6adcc52ea2 Adding null/empty checks to some controls to prevent invalid behaviour 2024-06-09 14:19:04 +02:00
Florian Zevedei
834038ff44 Adding additional bot command checks toa void invalid configurations 2024-06-09 14:13:43 +02:00
Florian Zevedei
e3d1652a02 Fixing on EditableMessage 2024-05-29 21:35:09 +02:00
Florian Zevedei
a7411176e6 Fixing the prototype solution of group commands detection 2024-05-29 21:29:14 +02:00
Florian Zevedei
801c0b77f8 Introducing BotGroupCommand property. 2024-05-27 21:39:36 +02:00
Florian Zevedei
7a86ecdf32 Breakable change! Remove of most try/catch's in DeviceSession 2024-05-25 17:24:24 +02:00
Florian Zevedei
175927fbab Updating nuget dependencies 2 2024-05-19 14:16:18 +02:00
Florian Zevedei
34e4429b38 Updating nuget dependencies 2024-05-19 14:15:56 +02:00
Florian Zevedei
dc28bde382 Fix Action method handling, if handled by control already 2024-05-19 14:06:01 +02:00
Florian Zevedei
87d57c471a Update CallbackDataTooLongException.cs 2024-05-12 19:07:33 +03:00
Florian Zevedei
5ce2360cc7 Adding callbackdata too long exception and checks 2024-05-12 19:01:50 +03:00
Florian Zevedei
e345fc2948 Fixing message loop handling of Action methods 2024-05-12 18:45:18 +03:00
Florian Zevedei
652526ec59 Consolidate nuget references 2024-05-12 18:40:55 +03:00
Florian Zevedei
b829f43c5d Adding a exception for invalid ServiceProviders #62
- adding an internal exception handler to catch InvalidOperationException and throw a new explicit one
2024-03-10 17:09:13 +01:00
Florian Zevedei
6e7acdbdba Bugfix in BBB 2024-03-10 16:49:18 +01:00
Florian Zevedei
396a524d94 BotBaseBuilder fix 2024-03-10 16:01:45 +01:00
Florian Zevedei
7d679649e4
Merge pull request #64 from MajMcCloud/master
Update development branch
2024-03-10 15:54:29 +01:00
Florian Zevedei
2db8e2cf63
Merge pull request #63 from MajMcCloud/development
Integrating latest developments into master branch
2024-03-10 15:51:29 +01:00
Florian Zevedei
6b7f2ca273
Merge branch 'master' into development 2024-03-10 15:50:42 +01:00
Florian Zevedei
31d0d9890d
Merge pull request #61 from ramax495/RuLocalization
Fix typo
2024-01-31 14:15:44 +01:00
ramax495
b252829296
Fix typo 2024-01-31 10:01:13 +03:00
Florian Zevedei
a483bc7c0b Update Russian.cs 2024-01-30 21:57:05 +01:00
Florian Zevedei
4635a96fc7 Removing old comments 2024-01-30 19:24:13 +01:00
Florian Zevedei
727375f7aa Localization fixes 2024-01-30 19:15:11 +01:00
Florian Zevedei
86792af214 Fixing incorrect behaviour with tags 2024-01-30 18:27:48 +01:00
Florian Zevedei
b3edb95b55 Adding new total tag and checked tag count 2024-01-30 18:27:05 +01:00
Florian Zevedei
946420f9c6 Fixing InlineKeyboard use
- tags cant be change when using InlineKeyboard mode
2024-01-30 18:26:40 +01:00
Florian Zevedei
c8c56a42c0 Bugfix for TaggedButtonGrid 2024-01-30 18:24:31 +01:00
Florian Zevedei
6f930eee8c Adding new constructor and additonal ToRowList method to ButtonForm 2024-01-30 18:23:29 +01:00
Florian Zevedei
c4a589d476 Renaming TaggedButtonGrid specific localizations 2024-01-30 18:23:02 +01:00
Florian Zevedei
1b14b7b3cf Adding missing localization to german file 2024-01-30 18:21:25 +01:00
Florian Zevedei
cb5fa35269 Fix #60 2024-01-30 16:07:08 +01:00
Florian Zevedei
f60e1000c3 Changing datatype of port from string to int 2024-01-30 15:08:40 +01:00
Florian Zevedei
00dafd59a3 Update README.md 2024-01-30 14:47:52 +01:00
Florian Zevedei
848b5d29cf Add missing Russian localization due to PR #58 2024-01-30 14:47:23 +01:00
Florian Zevedei
9cac57b8e7 Update README.md 2024-01-28 19:32:26 +01:00
Florian Zevedei
52517534f8 Update README.md 2024-01-28 19:30:17 +01:00
Florian Zevedei
5e166db243 Adding readme note for IronSoftware extension 2024-01-28 19:25:59 +01:00
Florian Zevedei
71aa0c3d91 Adding nuget references and nuget specs 2024-01-28 19:24:32 +01:00
Florian Zevedei
e34c71b42b Update README.md 2024-01-28 19:23:50 +01:00
Florian Zevedei
9927a034b0 First release of IronSoftware drawing extension 2024-01-28 19:22:30 +01:00
Florian Zevedei
2e454d7f5c Removing SQLClient dependency 2024-01-28 19:17:15 +01:00
Florian Zevedei
339319ef2a Update README.md 2024-01-28 18:50:27 +01:00
Florian Zevedei
c8b12e9168 Adding credits 2024-01-28 18:49:52 +01:00
Florian Zevedei
cbc31b8ff5 adding source path to Readme 2024-01-28 18:48:31 +01:00
Florian Zevedei
c514ede03f Adding PostgreSQL extension to Readme 2024-01-28 18:45:17 +01:00
Florian Zevedei
c91fbaa16c Downgrade target framework to.NET 6 2024-01-28 18:39:56 +01:00
Florian Zevedei
b8125e9aed
Merge pull request #58 from Kataane/add-postgresql-serializer
Add PostgreSQL serializer
2024-01-28 18:34:15 +01:00
Florian Zevedei
d4af8797fb Add new PostgreSQL extension to solution file 2024-01-28 02:16:55 +01:00
Florian Zevedei
93fda551e1
Merge pull request #57 from Kataane/master
Russian translation added
2024-01-28 02:04:13 +01:00
Kataane
b14913362e
Update README.md 2024-01-27 13:21:46 +07:00
Kataanee
8b22fd7b74 Fast fix 2024-01-27 13:16:27 +07:00
Kataanee
254c002d4a Add Russian in ILanguageSelectionStage 2024-01-27 13:14:15 +07:00
Kataanee
a632440efd Add PostgreSQL serializer 2024-01-26 18:48:43 +07:00
Kataanee
194d8ba317 Revert "Russian translation added"
This reverts commit d833b1e0889b5c56f152222a5e38bcf0b13b1fc3.
2024-01-26 18:46:49 +07:00
Kataanee
d833b1e088 Russian translation added 2024-01-26 12:42:41 +07:00
Florian Zevedei
084395e962 Bugfix, adding missing DeviceSession to UpdateResult 2024-01-24 22:15:16 +01:00
Florian Zevedei
b20b3b2826 Bugfix, adding missing DeviceSession to UpdateResult 2024-01-24 22:12:26 +01:00
Florian Zevedei
c1d1d5f543 Fix, add missing ThrowPendingUpdates 2024-01-24 17:48:25 +01:00
Florian Zevedei
078bdfb163 Making cancellationTokenSource protected 2024-01-24 17:43:44 +01:00
Florian Zevedei
94c680e036 Timeout fixes
- Fixing wrong timeout setter
- removing timeout setter in "Prepare" method in client which overrides setting
2024-01-24 17:39:18 +01:00
Florian Zevedei
dbdc40582a Splitting MessageClient into 2 instances 2024-01-24 03:04:05 +01:00
Florian Zevedei
2d3393aa05 Update README.md 2024-01-17 22:55:11 +01:00
Florian Zevedei
fdd814c88e Adding project reference links 2024-01-17 22:54:30 +01:00
Florian Zevedei
2b06fba8ff Adding readme note for IronSoftware extension 2024-01-17 22:51:40 +01:00
Florian Zevedei
8e4bc7a222 Bumps Microsoft.Data.SqlClient from 5.0.0 to 5.1.3. 2024-01-17 22:42:03 +01:00
Florian Zevedei
cc4c743721
Merge pull request #56 from MajMcCloud/dependabot/nuget/TelegramBotBase.Extensions.Serializer.Database.MSSQL/Microsoft.Data.SqlClient-5.1.3
Bump Microsoft.Data.SqlClient from 5.0.0 to 5.1.3 in /TelegramBotBase.Extensions.Serializer.Database.MSSQL
2024-01-17 22:41:15 +01:00
dependabot[bot]
4e55fd42d6
Bump Microsoft.Data.SqlClient
Bumps [Microsoft.Data.SqlClient](https://github.com/dotnet/sqlclient) from 5.0.0 to 5.1.3.
- [Release notes](https://github.com/dotnet/sqlclient/releases)
- [Changelog](https://github.com/dotnet/SqlClient/blob/main/CHANGELOG.md)
- [Commits](https://github.com/dotnet/sqlclient/compare/v5.0.0...v5.1.3)

---
updated-dependencies:
- dependency-name: Microsoft.Data.SqlClient
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-16 19:28:47 +00:00
Florian Zevedei
deef8dd086 Replacing project references with nuget reference 2024-01-04 14:17:09 +01:00
Florian Zevedei
3aff0aa94b Updating example projects for use of SingleThread/ThreadPool 2024-01-04 14:16:52 +01:00
Florian Zevedei
75064fd64c Adding nuget references and nuget specs 2024-01-04 14:11:21 +01:00
Florian Zevedei
0cafca9aee Update README.md 2024-01-04 13:46:58 +01:00
Florian Zevedei
ad40675b87 First release of IronSoftware drawing extension 2024-01-04 13:44:18 +01:00
Florian Zevedei
83e09aec2a Removing System.Drawing.Common dependency 2023-12-29 14:38:11 +01:00
Florian Zevedei
26152ee348 Removing System.Drawing.Common dependency 2023-12-29 14:37:19 +01:00
Florian Zevedei
d5ffa914f0
Update README.md 2023-12-28 15:17:43 +01:00
Florian Zevedei
a63f71268c
Update README.md 2023-12-28 15:17:14 +01:00
Florian Zevedei
7fcaa407ad Adding parallel processing via ThreadPool 2023-12-26 17:40:13 +01:00
Florian Zevedei
d56b26a788
Merge pull request #55 from MajMcCloud/development
Integrating development branch into master
2023-12-26 17:32:51 +01:00
Florian Zevedei
c1018ac5a0 Adding ThrowPendingUpdates option to builder and Message client. 2023-12-09 14:56:02 +01:00
Florian Zevedei
064399ed77 Replace nuget reference with project for development 2023-12-09 14:54:23 +01:00
Florian Zevedei
121a788c17
Update README.md 2023-12-08 01:52:47 +01:00
Florian Zevedei
40199a1d81
Merge pull request #51 from contributeless/feature/ability-to-log-exceptions-to-any-destination
Added the ReceiveError event to MessageClient to provide the ability to handle exceptions in client code
2023-12-07 17:50:57 +01:00
Florian Zevedei
794dee7f58 improved readability 2023-12-07 17:49:35 +01:00
Florian Zevedei
88309e607b Adding localization notes to Readme file 2023-12-06 15:44:59 +01:00
Florian Zevedei
a71eed5054
Merge pull request #54 from MajMcCloud/master
Syncing master and development branch
2023-12-06 15:36:53 +01:00
Florian Zevedei
2a873cc29b
Merge pull request #53 from MajMcCloud/development
Integrating development branch into master
2023-12-06 15:23:47 +01:00
Florian Zevedei
f401216eff Fixing EditMessage behaviour 2023-12-06 15:19:28 +01:00
Florian Zevedei
0cb4f02a8d
Merge pull request #52 from contributeless/fix/get-device-id-from-edited-message
Fix: get chat id from edited message
2023-12-06 15:17:17 +01:00
TCSBANK\e.khudik
62b6bafbd3 Fix: get chat id from edited message 2023-12-05 13:02:53 +03:00
TCSBANK\e.khudik
89332244e3 Added the ReceiveError event to MessageClient to provide the ability to handle exceptions in client code 2023-12-04 15:10:28 +03:00
Florian Zevedei
43f4ab1061 Update README.md 2023-11-26 15:09:42 +01:00
Florian Zevedei
1f438186f4
Merge pull request #50 from MajMcCloud/master
Merging master changes into development branch
2023-11-26 15:08:56 +01:00
Florian Zevedei
f447b058d0 Update README.md 2023-11-26 15:08:40 +01:00
Florian Zevedei
40ba9bd8ab Update README.md 2023-11-26 15:07:43 +01:00
Florian Zevedei
ca473f78ed Adding /start command handling to test project 2023-11-02 14:52:05 +01:00
Florian Zevedei
ab702dbc9f Added missing UsePersian method to interface. 2023-11-01 01:09:35 +01:00
Florian Zevedei
23dc1ff1d6
Merge pull request #48 from mottaghipour/master
[LANGUAGE] implement Persian language class
2023-11-01 01:01:25 +01:00
AmirAbbas
e044d725c9 [FEATURE] add UsePersian method to BotBaseBuilder class 2023-10-31 13:25:46 +03:30
AmirAbbas
4825beea7e [FEATURE] implement Persian language class 2023-10-31 13:23:41 +03:30
AmirAbbas
78d65868ff [BASE] Init Persian language class 2023-10-31 13:11:02 +03:30
AmirAbbas
d7aca80d59 [REFACTOR] convert language classes to language sealed classes 2023-10-31 13:10:31 +03:30
Florian Zevedei
73863c4154 Adding project files 2023-09-29 18:40:56 +02:00
Florian Zevedei
e3b1a32535 Adding missing Program.cs 2023-09-29 18:40:20 +02:00
Florian Zevedei
571049eeb4 Replacing exception text with nameof litteral 2023-09-29 18:34:33 +02:00
Florian Zevedei
30222d640d Adding full DI navigation example for testing purposes.
- adding internal private field into FormBase class
- adding Extension methods into DependencyInjection namespace for use
- adding 2 NavigateTo extension methods for DI using ServiceProvider
- adding example project
- adding to readme as example
2023-09-29 18:34:10 +02:00
Florian Zevedei
e6a48115a6 Adding xml comments to BotBase 2023-09-29 18:28:55 +02:00
Florian Zevedei
b278015dd4 Replacing static names in exception messages with nameof literal 2023-09-29 18:26:39 +02:00
Florian Zevedei
91e0c54728
Merge pull request #46 from MajMcCloud/development
Migrate development to master
2023-09-16 17:22:01 +02:00
Florian Zevedei
788f935c02 Add latest nuget package instead of local project to extensions 2023-09-16 17:11:40 +02:00
Florian Zevedei
d1089fe716 editing Label example project 2023-09-16 17:11:21 +02:00
Florian Zevedei
1d3db0116e
Update README.md 2023-09-15 18:52:15 +02:00
Florian Zevedei
e95301f727
Update README.md 2023-09-15 18:50:16 +02:00
Florian Zevedei
4ba91803fe
Update README.md 2023-09-13 15:13:22 +02:00
Florian Zevedei
9548be4afc
Merge pull request #45 from MajMcCloud/development
Integrate development branch into master
2023-09-13 15:01:49 +02:00
Florian Zevedei
30f82cd848 Updating InputFile changes 2023-09-13 14:58:21 +02:00
Florian Zevedei
edaa082e93 Renaming label control 2023-09-13 14:51:13 +02:00
Florian Zevedei
f99c8ef14c Adding test for ArrayPromptDialog 2023-09-13 14:49:03 +02:00
Florian Zevedei
3817d01836 Removing obsolete code from ArrayPromptDialog 2023-09-13 14:48:48 +02:00
Florian Zevedei
98eba1c5f9 Adding simplified versions for BotBaseBuilder serialization options. 2023-09-12 14:40:12 +02:00
Florian Zevedei
d34df46087 Update README.md 2023-09-12 14:27:54 +02:00
Florian Zevedei
95235ea7c7 Updating Readme file and adding links to test project for controls 2023-09-12 14:26:24 +02:00
Florian Zevedei
c48ee0a295 Renaming test classes to fit *Form scheme 2023-09-12 14:25:48 +02:00
Florian Zevedei
727d9d5508 Updating project file and version number 2023-09-12 14:15:25 +02:00
Florian Zevedei
89a023e9f0 Delete packages.config 2023-09-12 14:14:58 +02:00
Florian Zevedei
243c9c82a8 Adding new simple label control and example 2023-09-12 14:14:38 +02:00
Florian Zevedei
105ac9fa5b Updating project files 2023-09-12 14:13:17 +02:00
Florian Zevedei
809847ecd4 Fixing some compiler warnings 2023-09-12 14:11:59 +02:00
Florian Zevedei
d21a5f8937 Removing Telegram.Bot.Extensions.Polling nuget package 2023-09-10 18:03:33 +02:00
Florian Zevedei
f5b441000e Adding Nuget reference to new version 2023-09-10 17:10:41 +02:00
FlorianDahn
c7480159c8 Update README.md 2023-09-10 17:04:56 +02:00
FlorianDahn
3b17700ada Create README.md 2023-09-10 17:04:19 +02:00
FlorianDahn
f7578384e6 Adding new example project for Inline- and ReplyMarkup combination 2023-09-10 16:58:12 +02:00
FlorianDahn
54e131d852 Fixing copyright 2023-09-09 18:50:13 +02:00
FlorianDahn
0700e1e1ba Fixing class renaming of TelegramBot framework 18 to 19 2023-09-09 18:49:52 +02:00
Florian Zevedei
26182bad55
Merge pull request #44 from MajMcCloud/development
Adding minimal example for WebApplication and TelegramBot side-by-side
2023-09-09 18:33:02 +02:00
FlorianDahn
6369a809b7 Add missing Program.cs file 2023-09-09 18:28:39 +02:00
FlorianDahn
5af308da33 Adding minimal example for WebApplication and TelegramBot side-by-side 2023-09-09 18:28:39 +02:00
FlorianDahn
375362ac46 Add missing Program.cs file 2023-09-09 15:46:13 +02:00
FlorianDahn
a4b24d9433 Adding minimal example for WebApplication and TelegramBot side-by-side 2023-09-09 15:41:38 +02:00
FlorianDahn
be7d31ca69 Adding Test project to Readme 2023-09-03 17:08:41 +02:00
Florian Zevedei
44cdea43df
Update LICENCE.md 2023-08-30 17:39:16 +02:00
Florian Zevedei
5c5b7e7a25
Update README.md 2023-08-30 17:36:14 +02:00
Florian Zevedei
cb99ec595c
Merge pull request #43 from MajMcCloud/development
Merging development branch to master
2023-08-25 22:41:40 +02:00
Florian Zevedei
b10cc30156
Update FUNDING.yml 2023-08-11 15:49:05 +02:00
FlorianDahn
da8a2f630b Switching MessageId property from private to public #42 2023-06-04 17:59:55 +02:00
Florian Zevedei
f70531dd73
Merge pull request #29 from ZavaruKitsu/development
QoL changes accepted.
2023-06-04 17:30:36 +02:00
Florian Zevedei
d7abe6f023
Merge branch 'development' into development 2023-06-04 17:29:28 +02:00
FlorianDahn
c463878bb4 Bugfix TaggedButtonGrid max page calculation 2023-06-04 17:17:32 +02:00
FlorianDahn
54513c0214 Moving TaggedButtonGrid icons into localization file 2023-06-04 17:17:15 +02:00
FlorianDahn
6ae92b0b29 Bugfix for TaggedButtonGrid in combination with AutoCleanForm 2023-06-04 17:15:30 +02:00
FlorianDahn
cd75275950 Fix in example project 2023-06-04 16:49:15 +02:00
FlorianDahn
c0e67d6262 Fixing AutoCleanForm and NavigationController
- AutoCleanForm does not work properly inside a NavigationController (Some messages wont get deleted)
2023-01-27 20:11:45 +01:00
Florian Zevedei
284634d7d1
Update README.md
- changes nuget version icon to "Release" version, not pre-release
2023-01-22 02:25:36 +01:00
Florian Zevedei
34890e35ac
Merge pull request #40 from palashjhabak/development
Add Web App Inline Keyboard Button
2023-01-21 17:01:40 +01:00
Florian Zevedei
25019f6c46
Merge pull request #35 from alex6dj/Fix_IDisposable_implementation
Use Dispose pattern in FormBase IDisposable implementation
2023-01-21 16:56:21 +01:00
Palash Jhabak
6343a8a719 Add Web App Inline Keyboard Button 2023-01-21 09:47:28 +05:30
ZavaruKitsu
e12e21845f docs(readme): improve grammar 2023-01-04 16:04:36 +03:00
ZavaruKitsu
c3c7d8f0c4 Merge remote-tracking branch 'upstream/development' into development
# Conflicts:
#	TelegramBotBase.Test/packages.config
#	TelegramBotBase/Form/CallbackData.cs
#	TelegramBotBase/TelegramBotBase.nuspec
2023-01-04 15:57:29 +03:00
Alexei Agüero Alba
138199e811
Correctly implement Dispose pattern in FormBase for use on derived classes 2022-12-05 17:18:54 -05:00
Florian Zevedei
0d390f30fe
Merge pull request #34 from alex6dj/development
Call Serialize implicitly when assigning to a string
2022-12-03 01:27:44 +01:00
Alexei Agüero Alba
c86ce7a9e0
Call Serialize implicitly when assigning to a string 2022-12-01 09:45:43 -05:00
Florian Zevedei
ec65d609ba
Merge pull request #33 from MajMcCloud/master
Updating development with latest changes
2022-11-23 13:17:37 +01:00
Florian Zevedei
355c601e17
Merge pull request #32 from MajMcCloud/development
Updating to 5.2
2022-11-23 13:15:35 +01:00
FlorianDahn
75a70c6ed4 Updating AsyncFormUpdates example 2022-11-23 13:14:17 +01:00
FlorianDahn
8b2d70e016 Update SystemCommandsBot.csproj 2022-11-23 13:12:26 +01:00
FlorianDahn
ace936e2e8 Adding images to .github 2022-11-23 13:09:57 +01:00
FlorianDahn
2650144b19 Update README.md 2022-11-23 13:08:22 +01:00
ZavaruKitsu
9400cfc74e refactor: rename MaxLengthException & fix naming 2022-10-15 21:59:12 +03:00
ZavaruKitsu
fb51677429 refactor: make properties readonly 2022-10-15 19:01:29 +03:00
ZavaruKitsu
a2b75654d8 refactor: example projects 2022-10-15 18:51:26 +03:00
ZavaruKitsu
b9a177c152 fix: merge conflict 2022-10-15 18:28:15 +03:00
ZavaruKitsu
a0666ad70a fix: merge conflict 2022-10-15 18:24:48 +03:00
ZavaruKitsu
77242a200f upstream: apply changes 2022-10-15 18:16:22 +03:00
FlorianDahn
dded0ae49e Update Testproject
Co-Authored-By: Alexey <110727638+ZavaruKitsu@users.noreply.github.com>
2022-10-09 17:15:06 +02:00
FlorianDahn
f39b1d11be Integration of changes
Integrate some changes and cleanups

Co-Authored-By: Alexey <110727638+ZavaruKitsu@users.noreply.github.com>
2022-10-09 17:12:52 +02:00
ZavaruKitsu
8d02b54b05 fix: remove obsolete properties & fix NRE 2022-10-08 20:37:35 +03:00
ZavaruKitsu
d566cf858e fix(readme): update docs 2022-10-08 20:01:23 +03:00
ZavaruKitsu
f9d25dfb83 fix!: prevent exceptions from being muted
happens by not awaiting tasks
2022-10-08 20:00:21 +03:00
ZavaruKitsu
f41fdf90ed fix!: get rid of async void 2022-10-08 19:37:00 +03:00
ZavaruKitsu
5ab15621a0 fix: reformat using C# rules 2022-10-08 19:26:34 +03:00
ZavaruKitsu
a731e2a8d0 fix: some build & linter warnings 2022-10-08 19:15:51 +03:00
ZavaruKitsu
3f0d109fe2 fix(readme): missing spaces and semicolon 2022-10-08 18:39:22 +03:00
FlorianDahn
91002c8271 Fix of example descriptions 2022-10-05 16:29:12 +02:00
Florian Zevedei
561312eb87
Merge pull request #28 from ZavaruKitsu/development-readme
docs: better README.md
2022-10-05 16:21:58 +02:00
Florian Zevedei
ff21c86ce9
Merge pull request #27 from ZavaruKitsu/development
Accepted! Thanks as always!
2022-09-22 01:18:07 +02:00
ZavaruKitsu
5f9ffb7ae4 docs: fix link 2022-09-22 00:43:02 +03:00
ZavaruKitsu
920284d77d docs: fix anchor 2022-09-22 00:40:39 +03:00
ZavaruKitsu
8ea8e5aa2d docs: make README.md match each one 2022-09-22 00:39:02 +03:00
ZavaruKitsu
7f383a8a83 docs: merge from master/README.md 2022-09-22 00:35:30 +03:00
ZavaruKitsu
0e3cb79a2f docs: fix links to examples 2022-09-22 00:33:07 +03:00
ZavaruKitsu
a125addd2e docs: fix anchors 2022-09-22 00:30:14 +03:00
ZavaruKitsu
869d16fa02 docs: better README.md
refactor: move images to the .github folder
2022-09-22 00:30:14 +03:00
ZavaruKitsu
21cdbf4db6 deps: update Telegram.Bot and other libs 2022-09-21 22:49:14 +03:00
FlorianDahn
16371b8c7a #26 Fix error on using InvokeMessageLoop
- Fixes the error on using the default InvokeMessageLoop with Deviceid
2022-09-01 13:49:26 +02:00
Florian Zevedei
601ce32072
Merge pull request #25 from ZavaruKitsu/development
feat: add DI form factory
2022-08-29 18:04:59 +02:00
ZavaruKitsu
b2d4c4c3f8 feat: add DI form factory 2022-08-19 15:54:36 +03:00
FlorianDahn
75600d5e7f Update README.md 2022-07-02 14:25:16 +02:00
FlorianDahn
df7880fcf3 Make OnMessageSent async as well 2022-07-02 14:07:25 +02:00
FlorianDahn
e814046d29 Adding extension folder 2022-07-02 14:06:27 +02:00
FlorianDahn
0ebce16490 Remove unnecessary null checks 2022-07-02 14:05:57 +02:00
FlorianDahn
863b2d0414 Update TelegramBotBase.Extensions.Serializer.Database.MSSQL.csproj 2022-06-30 17:10:48 +02:00
FlorianDahn
436566adeb Update README.md 2022-06-30 16:26:39 +02:00
FlorianDahn
4054fa3e85 Adding new SQL Database serializer 2022-06-30 16:22:53 +02:00
FlorianDahn
e8279892e4 Update TelegramBotBase.nuspec
Update Newtonsoft.Json package version
2022-06-27 14:30:23 +02:00
Florian Dahn
b32347ff4f
Merge pull request #20 from MajMcCloud/dependabot/nuget/Examples/SystemCommandsBot/Newtonsoft.Json-13.0.1
Bump Newtonsoft.Json from 12.0.3 to 13.0.1 in /Examples/SystemCommandsBot
2022-06-23 22:11:38 +02:00
dependabot[bot]
b2ffacea2a
Bump Newtonsoft.Json in /Examples/SystemCommandsBot
Bumps [Newtonsoft.Json](https://github.com/JamesNK/Newtonsoft.Json) from 12.0.3 to 13.0.1.
- [Release notes](https://github.com/JamesNK/Newtonsoft.Json/releases)
- [Commits](https://github.com/JamesNK/Newtonsoft.Json/compare/12.0.3...13.0.1)

---
updated-dependencies:
- dependency-name: Newtonsoft.Json
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-23 20:11:23 +00:00
Florian Dahn
0d0c2471b2
Merge pull request #22 from MajMcCloud/dependabot/nuget/TelegramBotBase.Test/Newtonsoft.Json-13.0.1
Bump Newtonsoft.Json from 12.0.2 to 13.0.1 in /TelegramBotBase.Test
2022-06-23 22:11:21 +02:00
dependabot[bot]
f5054c75d5
Bump Newtonsoft.Json from 12.0.2 to 13.0.1 in /TelegramBotBase.Test
Bumps [Newtonsoft.Json](https://github.com/JamesNK/Newtonsoft.Json) from 12.0.2 to 13.0.1.
- [Release notes](https://github.com/JamesNK/Newtonsoft.Json/releases)
- [Commits](https://github.com/JamesNK/Newtonsoft.Json/compare/12.0.2...13.0.1)

---
updated-dependencies:
- dependency-name: Newtonsoft.Json
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-23 20:11:07 +00:00
Florian Dahn
7a85b2fc31
Merge pull request #21 from MajMcCloud/dependabot/nuget/Examples/AsyncFormUpdates/Newtonsoft.Json-13.0.1
Bump Newtonsoft.Json from 11.0.2 to 13.0.1 in /Examples/AsyncFormUpdates
2022-06-23 22:10:23 +02:00
dependabot[bot]
348909f3ff
Bump Newtonsoft.Json from 11.0.2 to 13.0.1 in /Examples/AsyncFormUpdates
Bumps [Newtonsoft.Json](https://github.com/JamesNK/Newtonsoft.Json) from 11.0.2 to 13.0.1.
- [Release notes](https://github.com/JamesNK/Newtonsoft.Json/releases)
- [Commits](https://github.com/JamesNK/Newtonsoft.Json/compare/11.0.2...13.0.1)

---
updated-dependencies:
- dependency-name: Newtonsoft.Json
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-23 01:00:16 +00:00
FlorianDahn
78b3fbebc8 MessageLoop updates
- moving MessageLoop folders from Subfolder Factories one level up
- changing namespace and botbuilder methods to change
- adding FullMessageLoop which allows to get all updates (like MinimalMessageLoop but with all methods)
2022-06-06 20:16:33 +02:00
Florian Dahn
2a3d8c1b30
Update README.md 2022-05-17 02:29:43 +02:00
FlorianDahn
d99bb79849 Shrinking methods to Lambda functions 2022-05-16 14:34:05 +02:00
FlorianDahn
3386db0f66 Updating Test project
- adding "myid" command to get own device id
2022-05-15 23:23:29 +02:00
FlorianDahn
6aac7d887a Update Nuget reference for Polling module to latest version 2022-05-15 23:20:40 +02:00
FlorianDahn
707ffd492f Upgrading BotCommands to new BotCommandScope format
- adding IsKnownBotCommand method to BotBase
- updated UploadBotCommand method to new format
- adding new Commandformat to BotBaseBuilder
- adding AddChatCommand and ClearChatCommand for custom Chat commands
- integrating new checks into FormBaseMessageLoop
2022-05-15 23:20:16 +02:00
FlorianDahn
2c567419ec Update MessageClient.cs
- increasing parameters for Get/SetCommand methods
- adding DeleteBotCommands methods
2022-05-15 23:17:01 +02:00
FlorianDahn
e81f535f75 New methods for SendingVideo
- adding SendVideo by byte array
- adding SendLocalVideo to send videofile from disk
2022-05-15 15:42:53 +02:00
FlorianDahn
72a1fa3c99 Replacing Client in ResultBase and subclasses
- replace Client with Device to allow more access
- making Client in DeviceSession public to allow access from outside
2022-05-15 15:41:24 +02:00
FlorianDahn
d08cbe8b0e Bugfix with MessageResult leads to having not access to MessageClient 2022-04-16 15:36:55 +02:00
FlorianDahn
e2ac7975a5 Updating example projects to .NET 6 and latest framework. 2022-03-19 04:22:07 +01:00
FlorianDahn
d7a5c149b1 Replacing BotCommands with BotCommandsScope 2022-02-08 18:07:59 +01:00
FlorianDahn
8fa952e68b Update .gitignore 2022-02-08 17:08:11 +01:00
FlorianDahn
a0b87887f7 Merge branch 'development' of https://github.com/MajMcCloud/TelegramBotFramework into development 2022-02-08 17:01:40 +01:00
FlorianDahn
f1c626a7ba Integrate new Message Loop 2022-02-08 16:56:35 +01:00
Florian Dahn
46cf9b9f2e
Merge pull request #19 from MajMcCloud/master
Update development branch.
2022-02-08 16:35:45 +01:00
Florian Dahn
3340ef7b76
Update README.md 2022-01-10 13:59:26 +01:00
Florian Dahn
211424569b
Merge pull request #18 from MajMcCloud/New-Version-v5
New version v5
2022-01-10 13:58:50 +01:00
FlorianDahn
8303b0c87f Adding private constructor
- Adding private constructor
- some spacing for regions
2022-01-06 16:54:50 +01:00
FlorianDahn
19856ab044 Update Solution File 2022-01-06 15:56:16 +01:00
FlorianDahn
5453add956 Renaming TelegramBotBaseTest -> TelegramBotBase.Test 2022-01-06 15:53:41 +01:00
FlorianDahn
ff3c22566a Comment Cleanup 2022-01-05 18:40:44 +01:00
FlorianDahn
50fd5255c8 Adding SourceLink to Image Extension 2022-01-05 18:39:35 +01:00
FlorianDahn
4f85677deb Comment Cleanup 2022-01-05 18:39:06 +01:00
FlorianDahn
7d2703138c Readme fix to "generics" like in earlier versions. 2022-01-05 18:31:30 +01:00
FlorianDahn
d0d93a07c0 Adding QuickStart to readme. 2022-01-05 18:30:25 +01:00
FlorianDahn
f03e67f345 Adding QuickStart Option for BotBaseBuilder 2022-01-05 18:26:10 +01:00
FlorianDahn
18bb6584f4 Adding OnlyStart BotBaseBuilder command option 2022-01-05 18:25:33 +01:00
FlorianDahn
d5a89a4ed8 Adding regions to BotBaseBuilder 2022-01-05 18:25:04 +01:00
FlorianDahn
09d7164385 Update README.md 2022-01-05 14:22:21 +01:00
FlorianDahn
2b914f6f58 Changing CustomMessageLoop parameter 2022-01-05 01:17:44 +02:00
FlorianDahn
b65ec13d8b Simplifying BotBuilder BotCommands
- Simplifying BotBuilder BotCommands
- updating test project
2022-01-05 01:16:22 +02:00
FlorianDahn
ca1c382924 Removing old commented stuff 2022-01-04 23:44:43 +02:00
FlorianDahn
584bb76e0f Adding comments 2022-01-04 23:42:13 +02:00
FlorianDahn
c5fa153d54 Replace KickChatMemberAsync/KickUser 2022-01-04 23:40:33 +02:00
FlorianDahn
c6106f17ec Removing .Net 4.7.2 and adding .Net Standard 2.0 instead of 2.1
- removing .Net 4.7.2 compilation target
- changing .Net Standard from 2.1 to 2.0 for backwards compatibility
2021-12-25 17:52:17 +01:00
FlorianDahn
4f97e2a919 Changing debugtype to portable to allow snupkg file to be attached. 2021-12-25 17:47:11 +01:00
FlorianDahn
21c6b2fde5 removing .NET 472 compilation target from test project 2021-12-25 17:34:47 +01:00
FlorianDahn
caf9b3cc8e Change version of polling library to 1.0.1 2021-12-25 17:34:20 +01:00
FlorianDahn
27e45b397d Changing debugtype to portable to allow snupkg file to be attached.
- removing double Releae config in project settings
- change debugtype to portable to allow correct snupkg package upload
2021-12-25 17:32:21 +01:00
FlorianDahn
b8bdc756d4 Rename file to class name 2021-12-25 16:13:31 +01:00
FlorianDahn
e5d8e403a0 Update readme with new BotBaseBuilder 2021-12-25 16:12:26 +01:00
FlorianDahn
2c58f86524 Adding localization selection step to BotBaseBuilder
- Adding localization step
- Updating test project
2021-12-25 16:10:32 +01:00
Florian Dahn
4bd43de0fe
Update README.md 2021-12-22 15:40:14 +01:00
Florian Dahn
871d25b95b
Create README.md 2021-12-22 15:38:46 +01:00
Florian Dahn
b508a7e3ce
Update README.md 2021-12-20 14:16:28 +01:00
Florian Dahn
0ebba5e204
Update README.md 2021-12-20 14:15:52 +01:00
FlorianDahn
1cc0a2bdf7 Ignore Callback queries with original image attached to message, no SentData event 2021-12-19 14:55:23 +01:00
FlorianDahn
fc33da0496 Fixing empty message field 2021-12-17 15:15:58 +01:00
FlorianDahn
35045f3aeb Removing Newtonsoft Dependency 2021-12-16 15:08:56 +01:00
FlorianDahn
3b8b24593f Dependency Update
- downgrade NetStandard from 2.1 to 2.0 to allow .NetFramework usage from 4.6.1 to 4.8
- remove .Net Framework 4.7.2 compilation target
- replacing conditioned compilation for .Net Framework with .Net Standard
- removing System.Net.Http dependency (was only necessary for .Net Framework)
2021-12-16 14:57:28 +01:00
FlorianDahn
03565aba98 Replacing Nuget packages with project references 2021-12-06 02:41:55 +01:00
FlorianDahn
bbc436d1d6 Merge branch 'New-Version-v5' of https://github.com/MajMcCloud/TelegramBotFramework into New-Version-v5 2021-12-06 02:37:01 +01:00
FlorianDahn
4026f9ba4e Update for easier serialization during BotBaseBuilder 2021-12-06 02:36:59 +01:00
Florian Dahn
fb38d32e9e
Update README.md 2021-11-29 15:57:49 +01:00
FlorianDahn
077bd1384f Removing System.ComponentModel dependency 2021-11-28 23:58:23 +01:00
FlorianDahn
e28663138b Integrating Images Project 2021-11-28 23:20:56 +01:00
FlorianDahn
65ec7f1c2b Update TelegramBotBase.csproj 2021-11-26 17:59:58 +01:00
FlorianDahn
1fc581b959 V17 - Testproject Update 2021-11-26 17:58:49 +01:00
FlorianDahn
31e52887ba V17 - Big Update
- Adding a message loop interface to build custom message loops
- extracting default message loop from BotBase into seperate class
- updates to BotBaseBuilder for integration of custom message loops
- updating all result classes for using the new Update object of V17
- improving MessageResult and UpdateResult classes
- BotBase has been prepared for cleanup (a lot of comments)
- Comment cleanup at the next build
- updating Readme
2021-11-26 17:57:49 +01:00
FlorianDahn
e9c25ea9e4 New ConfirmAction method 2021-11-26 17:49:33 +01:00
FlorianDahn
2aee486370 V17 - Replacing default enum values 2021-11-26 17:49:17 +01:00
FlorianDahn
c1a0b12a94 Replace Configure with CustomCommands 2021-11-26 17:47:42 +01:00
FlorianDahn
2bd4634624 V17 - Remove default selection for enums 2021-11-26 17:45:24 +01:00
FlorianDahn
0bc77ca79c Update README.md 2021-11-26 17:43:38 +01:00
FlorianDahn
d0edf8531c Replacing Configure method in BBB with CustomCommands 2021-11-22 22:07:55 +01:00
FlorianDahn
b001d5e9c4 Adding LambdaStartFormFactory 2021-10-17 18:38:35 +02:00
FlorianDahn
e1d5051288 Update README.md 2021-10-17 18:31:28 +02:00
FlorianDahn
d00c5e1799 Updating BotBaseBuilder with more functionality 2021-10-17 18:21:05 +02:00
FlorianDahn
c4a31e987b Replacing BotBase instance with BotBaseBuilder 2021-10-17 18:07:53 +02:00
Florian Dahn
eafb81bf7b
Merge pull request #17 from MajMcCloud/master
PR for master changes branch
2021-10-17 17:35:13 +02:00
FlorianDahn
1dff9d5ffe Update IAPIKeySelectionStage.cs 2021-10-17 17:33:49 +02:00
FlorianDahn
755f5a245b Renaming 2021-10-17 17:27:06 +02:00
FlorianDahn
a22ede0f4f Changing BotBase behaviour to fluent api
- removing unecessary constructors from BotBase
- removing generics from BotBase
- removing generics from SessionBase
- adding StartFormFactory interface
- adding DefaultStartFormFactory
- adding multiple methods to BotBaseBuilder
2021-10-17 17:25:17 +02:00
FlorianDahn
8e29652148 Fixing possible Deadlock in AutoCleanForm 2021-10-17 15:39:31 +02:00
Florian Dahn
5bb316d874
Merge pull request #15 from victorrar/f/update-readme
Fix documentation inaccuracy

Thanks !
2021-10-04 21:35:59 +02:00
Victor
d2ae08771e Fix documentation inaccuracy 2021-10-04 21:55:41 +03:00
Florian Dahn
9162c0894c
Merge pull request #14 from MajMcCloud/development
AutoCleanForm FIX
2021-10-01 18:36:24 +02:00
FlorianDahn
e0ec133209 AutoCleanForm FIX
- adding MessageDeleted event to AutoCleanForm for catching messages getting deleted outside of AutoCleanForm
- added OnMessageDelete invoke to DeleteMessage in DeviceSession
2021-10-01 18:35:05 +02:00
Florian Dahn
7004ee5963
Merge pull request #13 from MajMcCloud/development
Development
2021-08-13 15:33:12 +03:00
FlorianDahn
ef8ca3c988 Adding basic example for different types of ConfirmAction 2021-08-01 13:50:18 +03:00
FlorianDahn
f021f12486 Update Localization.cs
- change to abstract so it can't be used accidentally
2021-07-27 17:00:16 +02:00
FlorianDahn
d06e1eaa52 Update README.md 2021-07-26 15:52:59 +02:00
FlorianDahn
23969881c1 Update README.md 2021-07-26 15:44:06 +02:00
FlorianDahn
9fa3df2889 Update README.md 2021-07-26 15:42:04 +02:00
FlorianDahn
6ed91224eb Update README.md 2021-07-26 15:39:47 +02:00
FlorianDahn
aabc7f04b7 Adding documentation about NavigationController 2021-07-26 15:38:47 +02:00
FlorianDahn
71433c0e4e MAJOR CHANGE for ButtonGrids, Dynamic data sources, etc
- introducing a dynamic data source class (IDataSource)
- introducing a ButtonRow class for better managability
- replacing that List<ButtonBase> with ButtonRow object
- introducing ButtonFormDataSource with special methods for ButtonGrid controls
- updating ButtonGrid and refactoring of the Load/Action methods
- updating CheckButtonList and refactoring of the Load/Action methods
- updating TaggedButtonGrid and refactoring of the Load/Action methods
- adding example to the Test project
2021-07-26 15:10:10 +02:00
FlorianDahn
894d0799c8 Localizations updated
- moved German Localization to its seperate file
- cleaned up Localization class
2021-07-26 14:55:29 +02:00
FlorianDahn
6c2543630d Adding .NET 4.7.2 back into with conditional compilation
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/preprocessor-directives
2021-07-26 13:32:32 +02:00
FlorianDahn
84d18f6f45 Small readability improvements 2021-07-26 01:26:33 +02:00
FlorianDahn
5f49e25458 Adding CheckAll and UncheckAllTags methods 2021-07-26 01:23:31 +02:00
FlorianDahn
f28c9b1e22 Add DeleteReplyMessage property 2021-07-26 01:22:58 +02:00
FlorianDahn
0db0c00cd0 Update example project 2021-07-25 22:25:29 +02:00
FlorianDahn
2158f53cde Fixing ReplyKeyboard flicker on TaggedButtonGrid
- fixing ReplyKeyboard flicker
- updating message handling on existing messages
2021-07-25 17:44:43 +02:00
FlorianDahn
fd7d72b986 Update NavigationController.cs 2021-07-25 16:40:09 +02:00
FlorianDahn
47a5b502b9 Updating package targetFramework to .NET 5 2021-07-25 16:38:53 +02:00
FlorianDahn
ce4c7b6f1c Update TelegramBotBase.csproj 2021-07-25 16:36:43 +02:00
FlorianDahn
5bae650edc Updating compilation targets
- Removing .NET 4.7.2 and  and replacing it with .NET 5
2021-07-25 16:35:15 +02:00
FlorianDahn
9eae63dae6 Updating Testproject
- adding example for NavigationController
- readability improvement in Menu
2021-07-25 16:34:29 +02:00
FlorianDahn
6f005114bc Update NavigationController.cs
- Adding PopToRootAsync method
- small comment change
2021-07-25 16:33:05 +02:00
Florian Dahn
00440a50e8
Merge pull request #11 from MajMcCloud/master
Move Master changes to development branch
2021-07-25 05:07:31 +03:00
FlorianDahn
ae9dd17ae3 Adding NavigationController for better and optional Push/Pop navigation 2021-07-25 01:54:16 +02:00
FlorianDahn
be2660239a Creating DeviceSession and other stuff slight earlier in the LoadSessionStates methods 2021-07-25 01:53:55 +02:00
Florian Dahn
e88114049e
Merge pull request #8 from Xilosof/feat/QuickDeletionOfMsgs
Thanks for the added change. I will approve it now.
2021-07-25 02:10:30 +03:00
Xilosof
177c198916 Added event call 2021-07-23 16:47:42 +03:00
FlorianDahn
1f7a9900c4 Updating TelegramBotBaseTest project
- adding new simple AddStartCommand, AddHelpCommand and AddSettingsCommand to Program.cs to make it easier
2021-07-17 18:36:56 +02:00
Florian Dahn
d6051ce607
Merge pull request #10 from MajMcCloud/development
Updating to TelegramBotFramework 16.0.2
2021-07-17 19:35:17 +03:00
FlorianDahn
5613e84bc3 Updating to TelegramBotFramework 16.0.2
ATTENTION: UserIds will no longer be "int", instead it has to be of the long datatype
- updating DeviceSession methods for new datatype
- updating LinkReplaceTest class example
- adding .NET 5 as target framework
2021-07-17 18:34:27 +02:00
Florian Dahn
d52fd41467
Merge pull request #9 from MajMcCloud/development
Development
2021-07-14 23:11:32 +03:00
Florian Dahn
8df6e4ce55
Merge pull request #7 from NTDV/master
CalendarPicker fixes
2021-07-14 22:35:13 +03:00
Xilosof
9012ec76b1 feat(AutoCleanForm): change deletion of msgs
- made faster deletion of old messages;
- added server error handling
2021-07-13 22:48:01 +03:00
Danich Volk
36fb40b6bd CalendarPicker:
+ Added days, monthes and years range check
+ Added language selection
* Fixed default language (it is English now)
2021-07-13 21:18:55 +03:00
FlorianDahn
47aa8c2aaa Extracting custom field conversion for use in other places 2021-06-07 01:35:02 +02:00
FlorianDahn
1709631965 adding GetObject and SaveObject methods for custom session serialization
- adding GetObject and SaveObject methods for custom session serialization
2021-06-07 01:33:57 +02:00
FlorianDahn
264a998052 Update FormBase.cs
- making more basic methods virtual for easiert overriding
- adding existing control check to AddControl method
2021-06-07 01:33:19 +02:00
FlorianDahn
a00aaacbfb Update ButtonGrid.cs
- adding DeleteReplyMessage property for seperating now deleting the message from the user and the message (buttons) send by the control
2021-06-07 01:31:41 +02:00
Florian Dahn
bd908db867
Merge pull request #4 from MajMcCloud/development
A lot of updates and fixes
2021-05-16 15:09:09 +02:00
FlorianDahn
e2c485aede Adding some conversion checks for JSON State serialization 2021-04-25 15:51:19 +02:00
FlorianDahn
c8936d0748 Adding more details to PromptDialog
- replacing the default EventArgs within the Completed event with a more detailed one
- adding new PromptDialogCompletedEventArgs class for easier details access
2021-03-29 23:51:39 +02:00
FlorianDahn
92f12735c8 Adding more details on ConfirmDialog
- adding a Tag property for optional use in ArrayPromptDialog and ConfirmDialog
- adding it to the ButtonClickedEventArgs
2021-03-29 23:50:42 +02:00
Florian Dahn
8142b626b2
Merge pull request #3 from Xilosof/bug/ApiRequestException-handling
Fix handling ApiRequestException when sending a request.
2021-03-14 20:34:07 +01:00
Xilosof
5dcbe04a73 Added initialization of MaxNumberOfRetries setting 2021-03-14 22:03:13 +03:00
Xilosof
e742ded371 Change exception handling when sending a request.
1) Now RetryAfter  is multiplied by 1000, because request contains value in second instead milliseconds. (see https://core.telegram.org/bots/api#responseparameters)
2) Now calls occur in a loop, but a limited number of times. This also ensures that exceptions are caught during a repeated request.
2021-03-14 22:00:51 +03:00
Xilosof
706b0f522a Add static propert MaxNumberOfRetries.
This is necessary so that the DeviceSession instance can get this setting. There is no direct access to the settings in BotBase at the moment.
This property will be set when calling the Start method for the bot and is the same for all bots in the same application.
2021-03-14 21:55:07 +03:00
Xilosof
61e3652edf Add MaxNumberOfRetries setting.
Indicates the maximum number of times a request that received error 429 will be sent again after a timeout until it receives code 200 or an error code not equal to 429.
2021-03-14 21:43:07 +03:00
FlorianDahn
c484edd427 Update README.md 2021-03-14 16:52:19 +01:00
FlorianDahn
181902336c Adding ChannelCreated messagetype to GroupForm 2021-03-14 16:51:25 +01:00
FlorianDahn
dc364b5fd3 Fix for Cleanup method
- there was an collection changed exception which blocked the method from working
2021-03-04 15:17:06 +01:00
FlorianDahn
1fd4752c0e Slash fix 2021-03-02 15:25:35 +01:00
FlorianDahn
d84be50243 Adding AutoCleanForm Fix for TaggedButtonGrid 2021-03-02 15:19:28 +01:00
FlorianDahn
1caa71cd25 Update to fix some bad behaviour with combination of AutoCleanForm 2021-03-01 22:53:32 +01:00
FlorianDahn
e81e5f1854 Bot command extensions for default commands 2021-03-01 22:53:03 +01:00
FlorianDahn
399e056a8f Deleting messages update
- new constant for how much message deletions per second
- updating AutoCleanForm "Cleanup" process to use constant and using MessageDeleted eventhandler
2021-03-01 22:52:45 +01:00
FlorianDahn
26c4f479fa New internal MessageDeleted event handler for better control and form use. 2021-03-01 22:50:42 +01:00
FlorianDahn
72d94df907 FIX: new message loop will now correctly manage events and form switches 2021-03-01 22:14:36 +01:00
FlorianDahn
31e0683699 FIX: for using ButtonGrid within AutoCleanForm can cause to no message 2021-03-01 22:13:40 +01:00
FlorianDahn
676be49a62 Update MultiToggleButtons.cs 2021-03-01 01:54:49 +01:00
FlorianDahn
5b67f334ff MultiToggleButton minor updates
- updating localization
- adding AllowEmptySelection property
- updating test project
2021-03-01 01:48:17 +01:00
FlorianDahn
6a556af070 New control: MultiToggleButton
- new control for having multiple simple toggle options
2021-03-01 01:36:07 +01:00
FlorianDahn
4910a04923 Update README.md 2021-02-28 18:25:12 +01:00
FlorianDahn
10f4e1b745 New example project for async form updates 2021-02-28 18:23:21 +01:00
FlorianDahn
42b624c28f Fix for MessageType use when no Message is available 2021-02-28 18:22:08 +01:00
FlorianDahn
75013d51bd Remove old comments 2021-02-28 17:47:52 +01:00
FlorianDahn
7f3bcfe418 Speed/Performance optimization for AutoCleanForm 2021-02-28 17:46:49 +01:00
FlorianDahn
f5e26924d8 Adding InvokeMessageLoop method
- For asyncronous form updates adding InvokeMessageLoop
2021-02-28 17:45:28 +01:00
FlorianDahn
884aa60fac Joining both message loops for easier maintainability 2021-02-28 17:44:35 +01:00
FlorianDahn
adc18891e0 Update MessageResult.cs 2021-02-28 17:40:02 +01:00
FlorianDahn
07eb4bef75 Adding new controls to Readme 2021-02-28 15:44:05 +01:00
FlorianDahn
dfe64b22ab New control: CheckedButtonList
- new control for having a checked listview with paging possible
- new CheckedChangedEventArgs class
- adding Test for CheckedButtonList
- refactoring MultiView Test
2021-02-28 15:35:49 +01:00
FlorianDahn
15a8b8897f Updates and improvements
- refactoring of ButtonGrid control for more readability
- refactoring of TaggedButtonGrid control for more readability
- adding Index parameter to ButtenClickedEventArgs
- adding FindRowByButton method to ButtonForm to get the row index
-
2021-02-28 15:34:04 +01:00
FlorianDahn
91048b4f7c Async invoke fixes and ButtonGrid update
- removing unused imports
- adding null check for async handler invokes
- fixing PageCount calculation on ButtonGrid
2021-02-27 20:51:47 +01:00
FlorianDahn
426bb078af Adding DebuggerDisplay attribute 2021-02-27 15:18:23 +01:00
FlorianDahn
63deb978a4 PageCount Fix for ButtonGrid
- replace constant 3 with LayoutRows property
2021-02-27 15:17:21 +01:00
FlorianDahn
1a2b5818aa New Control: TaggedButtonGrid
- tag your list with some strings and filter it right away
- adding Test to test project
- adding a new localization

PS: it is an improved copy of the normal ButtonGrid
2021-02-20 01:53:49 +01:00
FlorianDahn
fc44b7d38c New Control: MultiView
- adding basic paging options
- adding GetOrigin method to find control or form who has sent a message
- adding Test for MultiView
2021-02-20 01:51:01 +01:00
FlorianDahn
dc8cb81284 Adding Init method to controls 2021-02-20 01:39:37 +01:00
FlorianDahn
0202fc29a8 Merge branch 'master' of https://github.com/MajMcCloud/TelegramBotFramework 2021-02-19 15:03:33 +01:00
FlorianDahn
7e51126fd3 Fix for double sessions in sessionstate 2021-02-19 15:03:28 +01:00
Florian Dahn
67e82acf20
Update FUNDING.yml 2021-02-02 15:59:03 +01:00
Florian Dahn
c32fc2c3da
Update FUNDING.yml 2021-02-02 15:57:02 +01:00
Florian Dahn
4351fc7c68
Create FUNDING.yml 2021-02-02 15:56:27 +01:00
FlorianDahn
80d43ac369 Update DeviceSession.cs 2021-01-15 19:36:13 +01:00
FlorianDahn
376ba68e8e MAJOR CHANGE: Refactoring namespace for controls
Chaning namespace for controls depending on their use area to:

Controls.Hybrid
Controls.Inline
Controls.Reply

Updating example project as well.
2021-01-15 19:33:44 +01:00
FlorianDahn
6b404545df Update MessageResult.cs
- adding more parameters to ConfirmAction method
2021-01-15 16:53:45 +01:00
FlorianDahn
a524fef0d5 Update DeviceSession.cs
Workaround: Unknown API differences
2020-12-23 03:09:47 +01:00
FlorianDahn
73ba36ea2b Optimization of API calls within DeviceSession
- replacing all API calls with new method "API" to cover APIRequestExceptions
- adding IDeviceSession interface for future use
- adding "API" method without result
2020-12-22 21:55:47 +01:00
FlorianDahn
46160b54ae Update DataResult.cs
- adding DownloadRawDocument & DownloadRawTextDocument functions
2020-12-22 15:40:18 +01:00
FlorianDahn
87690a3630 Update DeviceSession.cs
Adding a feature for making future API calls.
2020-12-22 15:37:05 +01:00
FlorianDahn
975a942993 Update ButtonGrid.cs
Small refactoring for ButtonGrid
2020-12-06 22:43:39 +01:00
FlorianDahn
4336ff1681 Session Updates 2020-12-04 17:19:11 +01:00
Florian Dahn
567a9f937f
Update README.md 2020-11-23 13:51:25 +01:00
FlorianDahn
95b4ff77c5 Update README.md 2020-11-23 13:48:13 +01:00
FlorianDahn
ba82c11d66 Update README.md 2020-11-23 13:46:28 +01:00
FlorianDahn
c2e33da277 Adding SaveSessionState to SessionBase
Feature request: https://github.com/MajMcCloud/TelegramBotFramework/issues/2
2020-11-22 23:15:31 +01:00
FlorianDahn
259fa54236 Update ModalDialog.cs
- Adding await keyword
2020-11-03 23:52:35 +01:00
FlorianDahn
f790a16e85 Merge branch 'master' of https://github.com/MajMcCloud/TelegramBotFramework 2020-11-03 20:38:40 +01:00
FlorianDahn
97fea333f7 Update ConfirmDialog.cs
- adding additional checks to ConfirmDialog
- adding AutoCloseOnClick property, to close this modal form after button click
2020-11-03 20:38:36 +01:00
FlorianDahn
e1b31b0b9a Update PromptDialog.cs
- adding additional checks to promptdialog
2020-11-03 20:38:07 +01:00
Florian Dahn
7aca5a648f
Update README.md 2020-10-31 16:22:47 +01:00
FlorianDahn
f24c309f63 Update DeviceSession.cs
- adding ParseMode to Edit functions
- adding a Send method which the parameter of the DeviceId
2020-10-22 22:14:40 +02:00
FlorianDahn
ba9fd8062c Update PromptDialog.cs
- added ReceivedMessage for further use
2020-10-20 19:11:04 +02:00
FlorianDahn
b37c31f2bd Update BotBase.cs
- Bugfix, Unhandled actions has been producing a loop
2020-10-20 19:10:30 +02:00
FlorianDahn
2c34a178ee Update DeviceSession.cs
- adding caption parameter
2020-10-12 23:16:42 +02:00
FlorianDahn
2f030f3c12 Updates to ButtonGrid
- adding IsNavigationBarVisible property to ButtonGrid
- adding SubHeadLayout row for column "descriptions" like a table design
- uses FilterDuplicate with ByRow enabled to keep the full row on matches
2020-10-05 14:24:34 +02:00
FlorianDahn
a364562fd3 Update ButtonForm.cs
- Modifying FilterDuplicate to allow full row filter or not
This will keep only the matches, or the full row where it matches.
2020-10-05 14:22:47 +02:00
FlorianDahn
8ef8733a2b Update DeviceSession.cs
- Adding the name parameter to SendPhoto methods
- Adding caption parameter to SendVideo methods
2020-10-05 14:21:57 +02:00
FlorianDahn
049b2081ec Update SessionBase.cs
Use of Fallback form has been missed in Session loading. Added now.
2020-09-15 23:46:30 +02:00
FlorianDahn
48b76a84be Update SessionBase.cs
- improving handling for Sessions loading with no default constructors available.
2020-09-15 16:42:40 +02:00
FlorianDahn
31c8231b2d Adding NavigationBarVisibility property to hide/show navigation buttons auto/never/always 2020-09-15 16:38:36 +02:00
FlorianDahn
e9504f3b36 Update ButtonForm.cs
- adding method for adding one single button row
- fix for ToList method if no buttons are available
2020-09-15 16:36:54 +02:00
FlorianDahn
8592f4279d Update ButtonGrid.cs
Fix "Page 1 of 0" when no rows are existing.
2020-09-08 15:32:04 +02:00
FlorianDahn
2457773a12 Merge branch 'master' of https://github.com/MajMcCloud/TelegramBotFramework 2020-09-05 02:08:28 +02:00
FlorianDahn
46e65faf31 Adding Enum deserialization
Fixing issue in SessionBase where it does not correctly deserialize Enum's
2020-09-05 02:08:19 +02:00
FlorianDahn
193a4811bf Simplifiy AutoCleanForm
Improving serialization by replacing the message with just the ID
2020-09-05 02:07:48 +02:00
Florian Dahn
08a0de8087
Update README.md 2020-09-01 19:00:11 +02:00
FlorianDahn
82469cff70 - Adding not about search feature 2020-08-30 20:48:44 +02:00
Florian Dahn
81eafe1219
Merge pull request #1 from JTOne123/master
[PR] The proj files have been updated to enable SourceLink
2020-08-09 17:25:00 +02:00
FlorianDahn
183e89c36f Adding paging/search example 2020-08-09 17:22:19 +02:00
FlorianDahn
ad6cf9539c Adding filter functionality to ButtonGrid
Adding filter functionality
2020-08-09 17:00:04 +02:00
FlorianDahn
46576eb819 Update ButtonForm.cs
adding method to create a ButtonForm duplicate and filter the single buttons, used for ButtonGrid
2020-08-09 16:59:25 +02:00
FlorianDahn
cf9e2285f1 Adding DynamicButton for Button with dynamic Text updates
For use, call the ButtonGrid.Updated() method
2020-07-25 15:11:15 +02:00
FlorianDahn
ecfacdadbb Update AssemblyInfo.cs 2020-07-25 15:09:01 +02:00
FlorianDahn
c00c2e8d8f Update DeviceSession.cs
- adding Unban method
2020-07-25 15:08:55 +02:00
FlorianDahn
bfd905d590 Update TelegramBotBase.csproj 2020-07-25 15:08:41 +02:00
FlorianDahn
7b1bf75dde Update ToggleButton
- adding ChangedString variable for custom message
2020-07-25 15:08:22 +02:00
FlorianDahn
7a7a65c3a7 Update FormBase.cs
- adding RemoveAllControls method
2020-07-25 15:07:36 +02:00
Pavlo Datsiuk
8a42a861cf [COMMIT] The proj files have been updated to enable SourceLink [TelegramBotBase.csproj] 2020-06-25 15:54:40 +03:00
FlorianDahn
47876681e0 IgnoreState and SaveState addings for better session serialization
- adding IgnoreState to all ModalDialogs to prevent them get saved.
- adding SaveState to AutoCleanForm to keep state
- change OldMessages property of AutoCleanForm to public
2020-05-07 23:49:08 +02:00
FlorianDahn
9314b4c0e5 Update ButtonGrid.cs
- Fix for async event timings, button click got sometimes fired after Render event
2020-05-06 20:56:38 +02:00
FlorianDahn
01c19b9900 Update README.md 2020-05-04 15:33:50 +02:00
FlorianDahn
0af587d27f Updating readme and test project 2020-05-04 15:33:21 +02:00
FlorianDahn
97b9176c3a Updating packages 2020-05-04 15:22:33 +02:00
FlorianDahn
dfa479d409 Fix in StateMachines 2020-05-04 15:18:48 +02:00
FlorianDahn
07dec0dc9d Small fixes and clarifications 2020-05-04 02:20:16 +02:00
FlorianDahn
2fc16b18da DefaultStateForm
- adding DefaultStateForm to redirect Sessions after reloading Sessions to a different Form instead of "restart" the session (i.e. on an in Bot wizard you just want to let the user continue on the main menu)
- adding to SaveSessions to save the "main menu" instead of skipping the ignored form
2020-05-04 02:12:50 +02:00
FlorianDahn
11eeb0dcab Merge branch 'master' of https://github.com/MajMcCloud/TelegramBotFramework 2020-04-29 22:11:29 +02:00
FlorianDahn
fbfcbe99fb Update SystemCommandsBot.csproj
adding NugetPackage instead of direct Project reference
2020-04-29 22:11:26 +02:00
Florian Dahn
948c1368d7
Update README.md 2020-04-28 20:18:24 +02:00
FlorianDahn
d66df4978d Create Program.cs 2020-04-28 20:17:18 +02:00
FlorianDahn
7d8895850a Example for a Join/Leave Messages delete Bot 2020-04-28 20:10:18 +02:00
FlorianDahn
5e87d00c58 Localization updates
- small localization updates
- correction in enumration from safe to save
2020-04-21 21:50:59 +02:00
FlorianDahn
efe5fef7d0 Adding setting for automated session serialization on shutdown
- adding automated session serialization on application ending (console or shutdown/logoff)
- adding console class for managing system events
2020-04-21 21:45:21 +02:00
FlorianDahn
eebb5cb6f5 Create eSettings.cs
- adding eSettings enumeration
2020-04-21 21:44:01 +02:00
FlorianDahn
992065d289 Update BotBase.cs
- improving system settings for bot
2020-04-21 21:43:25 +02:00
FlorianDahn
1acfeb873f Buttongrid Paging support and Localization updates
- adding Paging functionality to ButtonGrid
- adding localization for ButtonGrid
2020-04-21 21:40:47 +02:00
Florian Dahn
de35ebb66e
Update README.md 2020-04-18 13:16:53 +02:00
FlorianDahn
2c3e707673 Session serialization update
- updating Session serialization for using new method GetChatTitle() to get the chat title for debugging purposes
- removing unncessary use of getting the chat title at every call (improving performance)
2020-04-15 20:30:42 +02:00
FlorianDahn
6d39d2fb73 Merge branch 'master' of https://github.com/MajMcCloud/TelegramBotFramework 2020-04-15 20:27:54 +02:00
FlorianDahn
ef667d12d8 Update DeviceSession.cs
- adding EditReplyMarkup to Device methods
- adding GetChatTitle method to get easier the name of a chat/group/channel
- some cleanup
2020-04-15 20:27:46 +02:00
FlorianDahn
d24f8e7ac5 Localizations
- adding localizations in english and german for default controls
- updating default controls
2020-04-15 20:26:39 +02:00
FlorianDahn
e5dc3fd2bc Update ButtonForm.cs
- adding a Duplicate function
- improving Count property
- adding InsertButtonRow methods
- adding a dictionary property to get all buttons in a specific row
2020-04-15 20:23:39 +02:00
Florian Dahn
6ebb96bd93
Update README.md 2020-04-15 20:20:57 +02:00
FlorianDahn
a1b3b9246b Update BotBase.cs
fixing new command handling
2020-04-11 19:42:24 +02:00
FlorianDahn
25a0ff2e3e Update BotCommandEventArgs.cs
updating documentation
2020-04-11 19:41:56 +02:00
FlorianDahn
b74233d66d Update BotBase.cs
Small fix
2020-04-11 19:24:31 +02:00
FlorianDahn
fb7b624ad8 BotCommands and refactoring
- refactoring SystemCalls to BotCommand (due new Telegram Bot update)
- Adding UploadBotCommands method to BotBase
- refactoring and simplifying BotBase constructors
- adding getBotCommands and SetBotCommands to MessageClient
2020-04-11 19:12:34 +02:00
Florian Dahn
965e6e18b9
Update README.md 2020-04-10 10:24:29 +02:00
Florian Dahn
b1c518cbd3
Update README.md 2020-04-10 10:16:25 +02:00
Florian Dahn
ab0ae5cda4
Update README.md 2020-04-10 10:11:20 +02:00
FlorianDahn
b850330f65 update readme 2020-04-10 10:09:03 +02:00
FlorianDahn
317dad7d24 - adding state machine documentation 2020-04-10 10:08:02 +02:00
FlorianDahn
eb61d40a38 -Projectfile update 2020-04-09 15:32:48 +02:00
FlorianDahn
2ed030b2fb - adding MarkdownV2 escape function
- adding MarkdownV2 autoescape feature
2020-04-09 11:57:45 +02:00
FlorianDahn
fd6f6fef34 - moving LoadSessionStates and SaveSessionStates from BotBase to SessionBase 2020-04-09 11:18:23 +02:00
FlorianDahn
54176f9136 Update SessionBase.cs
- adding method to get User Sessions and Group Sessions
2020-04-05 23:47:27 +07:00
FlorianDahn
f80fda8ff9 More Attributes for Serialization
- adding IgnoreState Attribute to make it easier to skip forms on session serialization
2020-04-05 23:46:33 +07:00
FlorianDahn
8b66842d34 Update BotBase.cs
- prevent BotBase from crashing on  loading serialized sessions
2020-04-05 23:31:37 +07:00
FlorianDahn
0cdb8c3a1a Adding StateMachine for Session serialization
- adding multiple classes and interfaces for Session Serialization and recovery after restart
2020-04-05 13:13:11 +07:00
FlorianDahn
8b9929198a Modal and Form updates
- adding ReturnFromModal method to FormBase, will get invoked if context leaves a ModalDialog
- ModalDialog contains ParentForm for better navigation
- ModalDialog invokes ReturnFromModal on parentForm after closing
- adding ShowBackButton to PromptDialog for show a back button
2020-04-04 19:52:15 +07:00
FlorianDahn
7a3e4721bd Update DataResult.cs
- adding DownloadAudio
- adding an optional method for all available ones to save attachments directly to a file
2020-04-03 21:54:32 +07:00
FlorianDahn
f914920919 Update LinkReplaceTest.cs
- updating LinkReplaceTest to use Message edits, so links will replace in original messages or edited ones
2020-04-02 12:41:26 +07:00
FlorianDahn
0435c68281 Update DeviceSession.cs
DeviceSession: Removing unused ex variable in Exceptions
2020-04-02 12:39:48 +07:00
FlorianDahn
5a1e050aec Update Generator.cs
- Markup Generator: Updating MentionUser
2020-04-02 12:39:26 +07:00
FlorianDahn
6a62d73fe0 Adding Edited Features
- FormBase: adding Edited method
- MessageClient: adding MessageEdit event
- GroupForm: adding Edited method
- DeviceSession: adding ChatTitle
2020-04-02 12:37:53 +07:00
FlorianDahn
519a6fe41c Update ButtonGrid.cs
- ButtonGrid: adding ConfirmationText
- ButtonGrid: adding ParseMode
2020-04-02 12:30:38 +07:00
FlorianDahn
201dfd10dd - updating Testproject to latest changes in Main project 2020-03-29 11:12:34 +07:00
FlorianDahn
78a412c630 - simplify function returns and improving memory use 2020-03-28 10:58:25 +07:00
FlorianDahn
7a7014cec3 - adding SendTextFile to simplify sending csv or textfiles by code without saving them to harddrive 2020-03-28 10:55:32 +07:00
FlorianDahn
64311d0cd9 - adding link to documentation 2020-03-28 10:29:34 +07:00
FlorianDahn
762fb27294 Markdown Fix
- Updating Markdown generator
- adding more options
2020-03-27 12:41:36 +07:00
FlorianDahn
164194ac66 Update
- adding more Constants to Telegram file
- Buttongrid: fixing check for rows and columns
- Buttongrid: replacingvalues with constants from Telegram file
2020-03-27 12:08:34 +07:00
FlorianDahn
321bd7c0ff - adding GetButtonByValue to ButtonForm 2020-03-27 11:03:15 +07:00
FlorianDahn
37ef30ebee - changing OpenModal and NavigateTo to virtual, so you could override it 2020-03-25 18:10:13 +07:00
FlorianDahn
9b1461ad78 Update README.md 2020-03-25 12:45:07 +07:00
FlorianDahn
38fa0a4e99 Update README.md 2020-03-25 12:44:29 +07:00
FlorianDahn
fba922049f Updates and fixes
- adding IsFirstHandler to allow controls to skip Actions which has been invoked already (i.e. due to navigation)
- adding Hidden method to ButtonGrid to fix re-rendering Buttons after opening a Modal form and comming back
- improving and fixing the Cleanup method for ButtonGrid to prevent "Keyboard jumping" for ReplyKeyboard on mobile devices.
- renaming some old *Result objects to *EventArgs for more clear definitions
2020-03-25 12:37:16 +07:00
FlorianDahn
d5a9a5f7a4 - adding Hidden method to ControlBase which will be called on leaving form or on opening a modal one 2020-03-25 12:27:01 +07:00
FlorianDahn
5126074419 Merge branch 'master' of https://github.com/MajMcCloud/TelegramBotFramework 2020-03-23 13:06:56 +07:00
FlorianDahn
aa38492bde - more refactoring and renaming models *Result to *EventArgs 2020-03-23 13:06:52 +07:00
Florian Dahn
9c68914e9d
Delete TelegramBotBase.2.1.0.zip 2020-03-23 13:03:59 +07:00
Florian Dahn
3fe2779b1e
Delete TelegramBotBase.2.0.0.zip 2020-03-23 13:03:51 +07:00
FlorianDahn
8e6de4a0e1 - Refactoring and moving all EventArgs structures to folder Args 2020-03-23 13:02:31 +07:00
FlorianDahn
382ae2de2d - adding example project for Bot to start predefined system commands 2020-03-10 01:24:09 +01:00
FlorianDahn
77fd3393de - update spaces 2020-03-10 01:22:52 +01:00
FlorianDahn
0f1da77aca - update on AutoCleanForm for better message deletion on leaving 2020-03-10 01:22:28 +01:00
FlorianDahn
1561c1dd08 -adding HideKeyboardOnCleanup and DeletePreviousMessage on ButtonGrid Control 2020-03-10 01:21:42 +01:00
FlorianDahn
5b38f2e1e2 - adding sendvideo to device for videos or gifs 2019-12-04 01:29:22 +01:00
FlorianDahn
2989456fe5 - change Formbase for better navigation management 2019-12-04 01:28:15 +01:00
FlorianDahn
7e4174a3be Merge branch 'master' of https://github.com/MajMcCloud/TelegramBotFramework 2019-12-04 01:27:07 +01:00
FlorianDahn
73f81cc8a2 Revert "- adding new exceptions"
This reverts commit 2071ba2eeb3b37939062af613fadb02f893ca7b5.
2019-12-02 03:54:10 +01:00
FlorianDahn
2071ba2eeb - adding new exceptions 2019-12-02 03:48:43 +01:00
FlorianDahn
a08ba8f512 -update on FormBase which should prevent issues on control management 2019-12-02 03:46:40 +01:00
Florian Dahn
649b94dafe
Delete dotnetcore.yml 2019-11-28 17:17:19 +01:00
368 changed files with 93083 additions and 7326 deletions

View File

@ -0,0 +1,48 @@
name: build nuget workflow for TelegramBotBase project
on:
push:
branches:
- master
jobs:
Build-TelegramBotBase:
env:
APP_PROJECT_NAME: TelegramBotBase
PACKAGE_VERSION: "123.1.6"
strategy:
matrix:
os:
- linux
# - win
arch:
- x64
#- x32
#- arch64
runs-on: [ "${{ matrix.os }}" ]
steps:
- name: Check out repository code
uses: actions/checkout@v4
- name: Setup dotnet
uses: actions/setup-dotnet@v3
with:
dotnet-version: '8.0.x'
- name: Restore dependencies
run: dotnet restore $APP_PROJECT_NAME /p:Version=$PACKAGE_VERSION
- name: Build app
run: dotnet build -c Release --version-suffix $PACKAGE_VERSION --no-restore $APP_PROJECT_NAME /p:Version=$PACKAGE_VERSION
- name: Pack app
run: dotnet pack --no-build $APP_PROJECT_NAME /p:Version=$PACKAGE_VERSION
- name: disconnect old source
run: dotnet nuget remove source gitea
continue-on-error: true
- name: Connect source
run: dotnet nuget add source --name gitea https://git.kosyakmakc.ru/api/packages/kosyakmakc/nuget/index.json
- name: Upload nuget package
run: dotnet nuget push --source gitea --api-key ${{ secrets.kosyakmakc_nuget_publish }} ${{ gitea.workspace }}/${{ env.APP_PROJECT_NAME }}/bin/Release/$APP_PROJECT_NAME.$PACKAGE_VERSION.nupkg

2
.github/FUNDING.yml vendored Normal file
View File

@ -0,0 +1,2 @@
github: #[MajMcCloud]
custom: ["https://paypal.me/majmccloud"]

View File

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

View File

Before

Width:  |  Height:  |  Size: 784 KiB

After

Width:  |  Height:  |  Size: 784 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

Before

Width:  |  Height:  |  Size: 307 KiB

After

Width:  |  Height:  |  Size: 307 KiB

BIN
.github/images/checkedbuttonlist.gif vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 7.4 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

View File

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

View File

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 7.9 KiB

View File

Before

Width:  |  Height:  |  Size: 8.4 KiB

After

Width:  |  Height:  |  Size: 8.4 KiB

View File

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

BIN
.github/images/label.gif vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 658 KiB

View File

Before

Width:  |  Height:  |  Size: 9.2 KiB

After

Width:  |  Height:  |  Size: 9.2 KiB

View File

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

BIN
.github/images/multitogglebutton.gif vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 328 KiB

View File

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

BIN
.github/images/taggedbuttongrid.gif vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 756 KiB

View File

Before

Width:  |  Height:  |  Size: 185 KiB

After

Width:  |  Height:  |  Size: 185 KiB

View File

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

View File

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

View File

@ -1,17 +0,0 @@
name: .NET Core
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: 2.2.108
- name: Build with dotnet
run: dotnet build --configuration Release

17
.gitignore vendored
View File

@ -240,3 +240,20 @@ ModelManifest.xml
# FAKE - F# Make
.fake/
MigrationBackup
TelegramBotBase/nuget.exe
Material
TelegramBotBase/cp.ps1
TelegramBotBase/TelegramBotBase.nuspec
Program.cs
TelegramBotBase/Archive
/TelegramBotBase/TelegramBotBase.1.5.0.zip
/TelegramBotBase/TelegramBotBase.1.5.1.zip
/TelegramBotBase/TelegramBotBase.1.5.2.zip
/TelegramBotBase/cpush.ps1
/TelegramBotBase/cpack.ps1
*.ps1
*.exe
*.snupkg
*.zip
*.nuspec

View File

@ -0,0 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>disable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="TelegramBotBase" Version="6.4.1" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,48 @@
using TelegramBotBase.Attributes;
using TelegramBotBase.Base;
using TelegramBotBase.Form;
namespace AsyncFormUpdates.Forms;
public class AsyncFormEdit : FormBase
{
[SaveState] private int _counter;
private int _messageId;
public override Task Load(MessageResult message)
{
_counter++;
return Task.CompletedTask;
}
public override async Task Action(MessageResult message)
{
await message.ConfirmAction();
switch (message.RawData ?? "")
{
case "back":
var st = new Start();
await NavigateTo(st);
break;
}
}
public override async Task Render(MessageResult message)
{
var bf = new ButtonForm();
bf.AddButtonRow("Back", "back");
if (_messageId != 0)
{
await Device.Edit(_messageId, $"Your current count is at: {_counter}", bf);
}
else
{
var m = await Device.Send($"Your current count is at: {_counter}", bf, disableNotification: true);
_messageId = m.MessageId;
}
}
}

View File

@ -0,0 +1,38 @@
using TelegramBotBase.Attributes;
using TelegramBotBase.Base;
using TelegramBotBase.Form;
namespace AsyncFormUpdates.Forms;
public class AsyncFormUpdate : AutoCleanForm
{
[SaveState] private int _counter;
public override Task Load(MessageResult message)
{
_counter++;
return Task.CompletedTask;
}
public override async Task Action(MessageResult message)
{
await message.ConfirmAction();
switch (message.RawData ?? "")
{
case "back":
var st = new Start();
await NavigateTo(st);
break;
}
}
public override async Task Render(MessageResult message)
{
var bf = new ButtonForm();
bf.AddButtonRow("Back", "back");
await Device.Send($"Your current count is at: {_counter}", bf, disableNotification: true);
}
}

View File

@ -0,0 +1,42 @@
using TelegramBotBase.Base;
using TelegramBotBase.Form;
namespace AsyncFormUpdates.Forms;
public class Start : AutoCleanForm
{
public override async Task Action(MessageResult message)
{
await message.ConfirmAction();
switch (message.RawData ?? "")
{
case "async":
var afe = new AsyncFormEdit();
await NavigateTo(afe);
break;
case "async_del":
var afu = new AsyncFormUpdate();
await NavigateTo(afu);
break;
}
}
public override async Task Render(MessageResult message)
{
var bf = new ButtonForm();
bf.AddButtonRow("Open Async Form with AutoCleanupForm", "async_del");
bf.AddButtonRow("Open Async Form with Edit", "async");
await Device.Send("Choose your option", bf);
}
}

View File

@ -0,0 +1,47 @@
using System.Timers;
using AsyncFormUpdates.Forms;
using TelegramBotBase;
using TelegramBotBase.Builder;
using Timer = System.Timers.Timer;
namespace AsyncFormUpdates;
internal class Program
{
private static BotBase __bot;
private static async Task Main(string[] args)
{
__bot = BotBaseBuilder.Create()
.QuickStart<Start>(Environment.GetEnvironmentVariable("API_KEY") ??
throw new Exception("API_KEY is not set"))
.Build();
await __bot.Start();
var timer = new Timer(5000);
timer.Elapsed += Timer_Elapsed;
timer.Start();
Console.ReadLine();
timer.Stop();
await __bot.Stop();
}
private static async void Timer_Elapsed(object sender, ElapsedEventArgs e)
{
foreach (var s in __bot.Sessions.SessionList)
{
//Only for AsyncUpdateForm
if (s.Value.ActiveForm.GetType() != typeof(AsyncFormUpdate) &&
s.Value.ActiveForm.GetType() != typeof(AsyncFormEdit))
{
continue;
}
await __bot.InvokeMessageLoop(s.Key);
}
}
}

View File

@ -0,0 +1,17 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="TelegramBotBase" Version="6.4.1" />
</ItemGroup>
<ItemGroup>
<Folder Include="BotStuff\Forms\" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,66 @@
using TelegramBotBase.Base;
using TelegramBotBase.Controls.Hybrid;
using TelegramBotBase.Form;
namespace BotAndWebApplication.BotStuff
{
public class StartForm : FormBase
{
ButtonGrid? _grid = null;
int MyCounter { get; set; } = 0;
public StartForm()
{
this.Opened += StartForm_Opened;
}
private async Task StartForm_Opened(object sender, EventArgs e)
{
await Device.Send("Welcome to StartForm !");
var form = new ButtonForm();
form.AddButtonRow(new ButtonBase("Increase!", "increase"));
form.AddButtonRow(new ButtonBase("Decrease!", "decrease"));
_grid = new ButtonGrid(form);
_grid.KeyboardType = TelegramBotBase.Enums.EKeyboardType.InlineKeyBoard;
_grid.ButtonClicked += _grid_ButtonClicked;
_grid.Title = $"Increase your counter! (current {MyCounter})";
AddControl(_grid);
}
private Task _grid_ButtonClicked(object sender, TelegramBotBase.Args.ButtonClickedEventArgs e)
{
if (e.Button == null || e.Button.Value == null)
return Task.CompletedTask;
switch (e.Button.Value)
{
case "increase":
MyCounter++;
_grid.Title = $"Increase your counter! (current {MyCounter})";
_grid.Updated();
break;
case "decrease":
MyCounter--;
_grid.Title = $"Increase your counter! (current {MyCounter})";
_grid.Updated();
break;
}
return Task.CompletedTask;
}
}
}

View File

@ -0,0 +1,66 @@
using TelegramBotBase;
using TelegramBotBase.Builder;
namespace BotAndWebApplication.BotStuff.Tasks
{
public class BotBackgroundTask : IHostedService
{
BotBackgroundTask()
{
BotBaseInstance = BotBaseBuilder.Create()
.WithAPIKey(Environment.GetEnvironmentVariable("API_KEY") ??
throw new Exception("API_KEY is not set"))
.DefaultMessageLoop()
.WithStartForm<StartForm>()
.NoProxy()
.DefaultCommands()
.NoSerialization()
.UseEnglish()
.UseThreadPool()
.Build();
}
public BotBackgroundTask(ILogger<BotBackgroundTask> logger) : this()
{
Logger = logger;
}
public ILogger<BotBackgroundTask>? Logger { get; }
public BotBase BotBaseInstance { get; private set; }
public async Task StartAsync(CancellationToken cancellationToken)
{
if (BotBaseInstance == null)
return;
Logger?.LogInformation("Bot is starting.");
await BotBaseInstance.UploadBotCommands();
await BotBaseInstance.Start();
Logger?.LogInformation("Bot has been started.");
}
public async Task StopAsync(CancellationToken cancellationToken)
{
if (BotBaseInstance == null)
return;
Logger?.LogInformation("Bot will shut down.");
//Let all users know that the bot will shut down.
await BotBaseInstance.SentToAll("Bot will shut down now.");
await BotBaseInstance.Stop();
Logger?.LogInformation("Bot has shutted down.");
}
}
}

View File

@ -0,0 +1,26 @@
@page
@model ErrorModel
@{
ViewData["Title"] = "Error";
}
<h1 class="text-danger">Error.</h1>
<h2 class="text-danger">An error occurred while processing your request.</h2>
@if (Model.ShowRequestId)
{
<p>
<strong>Request ID:</strong> <code>@Model.RequestId</code>
</p>
}
<h3>Development Mode</h3>
<p>
Swapping to the <strong>Development</strong> environment displays detailed information about the error that occurred.
</p>
<p>
<strong>The Development environment shouldn't be enabled for deployed applications.</strong>
It can result in displaying sensitive information from exceptions to end users.
For local debugging, enable the <strong>Development</strong> environment by setting the <strong>ASPNETCORE_ENVIRONMENT</strong> environment variable to <strong>Development</strong>
and restarting the app.
</p>

View File

@ -0,0 +1,27 @@
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using System.Diagnostics;
namespace BotAndWebApplication.Pages
{
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
[IgnoreAntiforgeryToken]
public class ErrorModel : PageModel
{
public string? RequestId { get; set; }
public bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
private readonly ILogger<ErrorModel> _logger;
public ErrorModel(ILogger<ErrorModel> logger)
{
_logger = logger;
}
public void OnGet()
{
RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier;
}
}
}

View File

@ -0,0 +1,10 @@
@page
@model IndexModel
@{
ViewData["Title"] = "Home page";
}
<div class="text-center">
<h1 class="display-4">Welcome</h1>
<p>Learn about <a href="https://docs.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p>
</div>

View File

@ -0,0 +1,20 @@
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
namespace BotAndWebApplication.Pages
{
public class IndexModel : PageModel
{
private readonly ILogger<IndexModel> _logger;
public IndexModel(ILogger<IndexModel> logger)
{
_logger = logger;
}
public void OnGet()
{
}
}
}

View File

@ -0,0 +1,8 @@
@page
@model PrivacyModel
@{
ViewData["Title"] = "Privacy Policy";
}
<h1>@ViewData["Title"]</h1>
<p>Use this page to detail your site's privacy policy.</p>

View File

@ -0,0 +1,19 @@
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
namespace BotAndWebApplication.Pages
{
public class PrivacyModel : PageModel
{
private readonly ILogger<PrivacyModel> _logger;
public PrivacyModel(ILogger<PrivacyModel> logger)
{
_logger = logger;
}
public void OnGet()
{
}
}
}

View File

@ -0,0 +1,51 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>@ViewData["Title"] - BotAndWebApplication</title>
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="~/css/site.css" asp-append-version="true" />
<link rel="stylesheet" href="~/BotAndWebApplication.styles.css" asp-append-version="true" />
</head>
<body>
<header>
<nav class="navbar navbar-expand-sm navbar-toggleable-sm navbar-light bg-white border-bottom box-shadow mb-3">
<div class="container">
<a class="navbar-brand" asp-area="" asp-page="/Index">BotAndWebApplication</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target=".navbar-collapse" aria-controls="navbarSupportedContent"
aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="navbar-collapse collapse d-sm-inline-flex justify-content-between">
<ul class="navbar-nav flex-grow-1">
<li class="nav-item">
<a class="nav-link text-dark" asp-area="" asp-page="/Index">Home</a>
</li>
<li class="nav-item">
<a class="nav-link text-dark" asp-area="" asp-page="/Privacy">Privacy</a>
</li>
</ul>
</div>
</div>
</nav>
</header>
<div class="container">
<main role="main" class="pb-3">
@RenderBody()
</main>
</div>
<footer class="border-top footer text-muted">
<div class="container">
&copy; 2023 - BotAndWebApplication - <a asp-area="" asp-page="/Privacy">Privacy</a>
</div>
</footer>
<script src="~/lib/jquery/dist/jquery.min.js"></script>
<script src="~/lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
<script src="~/js/site.js" asp-append-version="true"></script>
@await RenderSectionAsync("Scripts", required: false)
</body>
</html>

View File

@ -0,0 +1,48 @@
/* Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification
for details on configuring this project to bundle and minify static web assets. */
a.navbar-brand {
white-space: normal;
text-align: center;
word-break: break-all;
}
a {
color: #0077cc;
}
.btn-primary {
color: #fff;
background-color: #1b6ec2;
border-color: #1861ac;
}
.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
color: #fff;
background-color: #1b6ec2;
border-color: #1861ac;
}
.border-top {
border-top: 1px solid #e5e5e5;
}
.border-bottom {
border-bottom: 1px solid #e5e5e5;
}
.box-shadow {
box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);
}
button.accept-policy {
font-size: 1rem;
line-height: inherit;
}
.footer {
position: absolute;
bottom: 0;
width: 100%;
white-space: nowrap;
line-height: 60px;
}

View File

@ -0,0 +1,2 @@
<script src="~/lib/jquery-validation/dist/jquery.validate.min.js"></script>
<script src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js"></script>

View File

@ -0,0 +1,3 @@
@using BotAndWebApplication
@namespace BotAndWebApplication.Pages
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

View File

@ -0,0 +1,3 @@
@{
Layout = "_Layout";
}

View File

@ -0,0 +1,35 @@
using BotAndWebApplication.BotStuff.Tasks;
internal class Program
{
private static void Main(string[] args)
{
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorPages();
builder.Services.AddHostedService<BotBackgroundTask>();
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.MapRazorPages();
app.Run();
}
}

View File

@ -0,0 +1,28 @@
{
"profiles": {
"BotAndWebApplication": {
"commandName": "Project",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"dotnetRunMessages": true,
"applicationUrl": "https://localhost:7200;http://localhost:5002"
},
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
},
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:34596",
"sslPort": 44396
}
}
}

View File

@ -0,0 +1,9 @@
{
"DetailedErrors": true,
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}
}

View File

@ -0,0 +1,9 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}

View File

@ -0,0 +1,18 @@
html {
font-size: 14px;
}
@media (min-width: 768px) {
html {
font-size: 16px;
}
}
html {
position: relative;
min-height: 100%;
}
body {
margin-bottom: 60px;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

@ -0,0 +1,4 @@
// Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification
// for details on configuring this project to bundle and minify static web assets.
// Write your JavaScript code.

View File

@ -0,0 +1,22 @@
The MIT License (MIT)
Copyright (c) 2011-2021 Twitter, Inc.
Copyright (c) 2011-2021 The Bootstrap Authors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,427 @@
/*!
* Bootstrap Reboot v5.1.0 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
*/
*,
*::before,
*::after {
box-sizing: border-box;
}
@media (prefers-reduced-motion: no-preference) {
:root {
scroll-behavior: smooth;
}
}
body {
margin: 0;
font-family: var(--bs-body-font-family);
font-size: var(--bs-body-font-size);
font-weight: var(--bs-body-font-weight);
line-height: var(--bs-body-line-height);
color: var(--bs-body-color);
text-align: var(--bs-body-text-align);
background-color: var(--bs-body-bg);
-webkit-text-size-adjust: 100%;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
hr {
margin: 1rem 0;
color: inherit;
background-color: currentColor;
border: 0;
opacity: 0.25;
}
hr:not([size]) {
height: 1px;
}
h6, h5, h4, h3, h2, h1 {
margin-top: 0;
margin-bottom: 0.5rem;
font-weight: 500;
line-height: 1.2;
}
h1 {
font-size: calc(1.375rem + 1.5vw);
}
@media (min-width: 1200px) {
h1 {
font-size: 2.5rem;
}
}
h2 {
font-size: calc(1.325rem + 0.9vw);
}
@media (min-width: 1200px) {
h2 {
font-size: 2rem;
}
}
h3 {
font-size: calc(1.3rem + 0.6vw);
}
@media (min-width: 1200px) {
h3 {
font-size: 1.75rem;
}
}
h4 {
font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 1200px) {
h4 {
font-size: 1.5rem;
}
}
h5 {
font-size: 1.25rem;
}
h6 {
font-size: 1rem;
}
p {
margin-top: 0;
margin-bottom: 1rem;
}
abbr[title],
abbr[data-bs-original-title] {
-webkit-text-decoration: underline dotted;
text-decoration: underline dotted;
cursor: help;
-webkit-text-decoration-skip-ink: none;
text-decoration-skip-ink: none;
}
address {
margin-bottom: 1rem;
font-style: normal;
line-height: inherit;
}
ol,
ul {
padding-left: 2rem;
}
ol,
ul,
dl {
margin-top: 0;
margin-bottom: 1rem;
}
ol ol,
ul ul,
ol ul,
ul ol {
margin-bottom: 0;
}
dt {
font-weight: 700;
}
dd {
margin-bottom: 0.5rem;
margin-left: 0;
}
blockquote {
margin: 0 0 1rem;
}
b,
strong {
font-weight: bolder;
}
small {
font-size: 0.875em;
}
mark {
padding: 0.2em;
background-color: #fcf8e3;
}
sub,
sup {
position: relative;
font-size: 0.75em;
line-height: 0;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
a {
color: #0d6efd;
text-decoration: underline;
}
a:hover {
color: #0a58ca;
}
a:not([href]):not([class]), a:not([href]):not([class]):hover {
color: inherit;
text-decoration: none;
}
pre,
code,
kbd,
samp {
font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
font-size: 1em;
direction: ltr /* rtl:ignore */;
unicode-bidi: bidi-override;
}
pre {
display: block;
margin-top: 0;
margin-bottom: 1rem;
overflow: auto;
font-size: 0.875em;
}
pre code {
font-size: inherit;
color: inherit;
word-break: normal;
}
code {
font-size: 0.875em;
color: #d63384;
word-wrap: break-word;
}
a > code {
color: inherit;
}
kbd {
padding: 0.2rem 0.4rem;
font-size: 0.875em;
color: #fff;
background-color: #212529;
border-radius: 0.2rem;
}
kbd kbd {
padding: 0;
font-size: 1em;
font-weight: 700;
}
figure {
margin: 0 0 1rem;
}
img,
svg {
vertical-align: middle;
}
table {
caption-side: bottom;
border-collapse: collapse;
}
caption {
padding-top: 0.5rem;
padding-bottom: 0.5rem;
color: #6c757d;
text-align: left;
}
th {
text-align: inherit;
text-align: -webkit-match-parent;
}
thead,
tbody,
tfoot,
tr,
td,
th {
border-color: inherit;
border-style: solid;
border-width: 0;
}
label {
display: inline-block;
}
button {
border-radius: 0;
}
button:focus:not(:focus-visible) {
outline: 0;
}
input,
button,
select,
optgroup,
textarea {
margin: 0;
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
button,
select {
text-transform: none;
}
[role=button] {
cursor: pointer;
}
select {
word-wrap: normal;
}
select:disabled {
opacity: 1;
}
[list]::-webkit-calendar-picker-indicator {
display: none;
}
button,
[type=button],
[type=reset],
[type=submit] {
-webkit-appearance: button;
}
button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
cursor: pointer;
}
::-moz-focus-inner {
padding: 0;
border-style: none;
}
textarea {
resize: vertical;
}
fieldset {
min-width: 0;
padding: 0;
margin: 0;
border: 0;
}
legend {
float: left;
width: 100%;
padding: 0;
margin-bottom: 0.5rem;
font-size: calc(1.275rem + 0.3vw);
line-height: inherit;
}
@media (min-width: 1200px) {
legend {
font-size: 1.5rem;
}
}
legend + * {
clear: left;
}
::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
padding: 0;
}
::-webkit-inner-spin-button {
height: auto;
}
[type=search] {
outline-offset: -2px;
-webkit-appearance: textfield;
}
/* rtl:raw:
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
direction: ltr;
}
*/
::-webkit-search-decoration {
-webkit-appearance: none;
}
::-webkit-color-swatch-wrapper {
padding: 0;
}
::file-selector-button {
font: inherit;
}
::-webkit-file-upload-button {
font: inherit;
-webkit-appearance: button;
}
output {
display: inline-block;
}
iframe {
border: 0;
}
summary {
display: list-item;
cursor: pointer;
}
progress {
vertical-align: baseline;
}
[hidden] {
display: none !important;
}
/*# sourceMappingURL=bootstrap-reboot.css.map */

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,8 @@
/*!
* Bootstrap Reboot v5.1.0 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
*/*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}
/*# sourceMappingURL=bootstrap-reboot.min.css.map */

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,424 @@
/*!
* Bootstrap Reboot v5.1.0 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
*/
*,
*::before,
*::after {
box-sizing: border-box;
}
@media (prefers-reduced-motion: no-preference) {
:root {
scroll-behavior: smooth;
}
}
body {
margin: 0;
font-family: var(--bs-body-font-family);
font-size: var(--bs-body-font-size);
font-weight: var(--bs-body-font-weight);
line-height: var(--bs-body-line-height);
color: var(--bs-body-color);
text-align: var(--bs-body-text-align);
background-color: var(--bs-body-bg);
-webkit-text-size-adjust: 100%;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
hr {
margin: 1rem 0;
color: inherit;
background-color: currentColor;
border: 0;
opacity: 0.25;
}
hr:not([size]) {
height: 1px;
}
h6, h5, h4, h3, h2, h1 {
margin-top: 0;
margin-bottom: 0.5rem;
font-weight: 500;
line-height: 1.2;
}
h1 {
font-size: calc(1.375rem + 1.5vw);
}
@media (min-width: 1200px) {
h1 {
font-size: 2.5rem;
}
}
h2 {
font-size: calc(1.325rem + 0.9vw);
}
@media (min-width: 1200px) {
h2 {
font-size: 2rem;
}
}
h3 {
font-size: calc(1.3rem + 0.6vw);
}
@media (min-width: 1200px) {
h3 {
font-size: 1.75rem;
}
}
h4 {
font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 1200px) {
h4 {
font-size: 1.5rem;
}
}
h5 {
font-size: 1.25rem;
}
h6 {
font-size: 1rem;
}
p {
margin-top: 0;
margin-bottom: 1rem;
}
abbr[title],
abbr[data-bs-original-title] {
-webkit-text-decoration: underline dotted;
text-decoration: underline dotted;
cursor: help;
-webkit-text-decoration-skip-ink: none;
text-decoration-skip-ink: none;
}
address {
margin-bottom: 1rem;
font-style: normal;
line-height: inherit;
}
ol,
ul {
padding-right: 2rem;
}
ol,
ul,
dl {
margin-top: 0;
margin-bottom: 1rem;
}
ol ol,
ul ul,
ol ul,
ul ol {
margin-bottom: 0;
}
dt {
font-weight: 700;
}
dd {
margin-bottom: 0.5rem;
margin-right: 0;
}
blockquote {
margin: 0 0 1rem;
}
b,
strong {
font-weight: bolder;
}
small {
font-size: 0.875em;
}
mark {
padding: 0.2em;
background-color: #fcf8e3;
}
sub,
sup {
position: relative;
font-size: 0.75em;
line-height: 0;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
a {
color: #0d6efd;
text-decoration: underline;
}
a:hover {
color: #0a58ca;
}
a:not([href]):not([class]), a:not([href]):not([class]):hover {
color: inherit;
text-decoration: none;
}
pre,
code,
kbd,
samp {
font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
font-size: 1em;
direction: ltr ;
unicode-bidi: bidi-override;
}
pre {
display: block;
margin-top: 0;
margin-bottom: 1rem;
overflow: auto;
font-size: 0.875em;
}
pre code {
font-size: inherit;
color: inherit;
word-break: normal;
}
code {
font-size: 0.875em;
color: #d63384;
word-wrap: break-word;
}
a > code {
color: inherit;
}
kbd {
padding: 0.2rem 0.4rem;
font-size: 0.875em;
color: #fff;
background-color: #212529;
border-radius: 0.2rem;
}
kbd kbd {
padding: 0;
font-size: 1em;
font-weight: 700;
}
figure {
margin: 0 0 1rem;
}
img,
svg {
vertical-align: middle;
}
table {
caption-side: bottom;
border-collapse: collapse;
}
caption {
padding-top: 0.5rem;
padding-bottom: 0.5rem;
color: #6c757d;
text-align: right;
}
th {
text-align: inherit;
text-align: -webkit-match-parent;
}
thead,
tbody,
tfoot,
tr,
td,
th {
border-color: inherit;
border-style: solid;
border-width: 0;
}
label {
display: inline-block;
}
button {
border-radius: 0;
}
button:focus:not(:focus-visible) {
outline: 0;
}
input,
button,
select,
optgroup,
textarea {
margin: 0;
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
button,
select {
text-transform: none;
}
[role=button] {
cursor: pointer;
}
select {
word-wrap: normal;
}
select:disabled {
opacity: 1;
}
[list]::-webkit-calendar-picker-indicator {
display: none;
}
button,
[type=button],
[type=reset],
[type=submit] {
-webkit-appearance: button;
}
button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
cursor: pointer;
}
::-moz-focus-inner {
padding: 0;
border-style: none;
}
textarea {
resize: vertical;
}
fieldset {
min-width: 0;
padding: 0;
margin: 0;
border: 0;
}
legend {
float: right;
width: 100%;
padding: 0;
margin-bottom: 0.5rem;
font-size: calc(1.275rem + 0.3vw);
line-height: inherit;
}
@media (min-width: 1200px) {
legend {
font-size: 1.5rem;
}
}
legend + * {
clear: right;
}
::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
padding: 0;
}
::-webkit-inner-spin-button {
height: auto;
}
[type=search] {
outline-offset: -2px;
-webkit-appearance: textfield;
}
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
direction: ltr;
}
::-webkit-search-decoration {
-webkit-appearance: none;
}
::-webkit-color-swatch-wrapper {
padding: 0;
}
::file-selector-button {
font: inherit;
}
::-webkit-file-upload-button {
font: inherit;
-webkit-appearance: button;
}
output {
display: inline-block;
}
iframe {
border: 0;
}
summary {
display: list-item;
cursor: pointer;
}
progress {
vertical-align: baseline;
}
[hidden] {
display: none !important;
}
/*# sourceMappingURL=bootstrap-reboot.rtl.css.map */

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,8 @@
/*!
* Bootstrap Reboot v5.1.0 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
*/*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-right:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-right:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:right}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:right;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:right}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}[type=email],[type=number],[type=tel],[type=url]{direction:ltr}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}
/*# sourceMappingURL=bootstrap-reboot.rtl.min.css.map */

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More