Releases: MajMcCloud/TelegramBotFramework
Releases · MajMcCloud/TelegramBotFramework
Updates and fixes for Modal Dialogs + Session Serialization
- adding additional checks to promptdialog
- adding additional checks to ConfirmDialog
- adding AutoCloseOnClick property, to close this modal form after button click
- Adding await keyword inside ModalDialog
- Add method to save session states directly without stopping the Bot
Bugfixes and new features.
- Fix for async event timings, button click got sometimes fired after Render event
- 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
- adding RemoveAllControls method to FormBase
- adding ChangedString variable for custom message to ToggleButton
- adding Unban method to DeviceSession
- Adding DynamicButton for Button with dynamic Text updates, For use, call the ButtonGrid.Updated() method
- adding method to create a ButtonForm duplicate and filter the single buttons, used for ButtonGrid
- adding filter functionality to ButtonGrid
- Simplifiy AutoCleanForm, improving serialization by replacing the message with just the ID
- Adding Enum deserialization, fixing issue in SessionBase where it does not correctly deserialize Enum's
Localizations , SystemSettings and BotCommands
- some class refactorings
- system call changed to bot command
- Bot commands are now able to be synced with BotFather UploadBotCommands or GetBotCommands/SetBotCommands of the client
- refactoring of BotBase constructors
- adding localizations and enabling english and german translations
- adding Paging to ButtonGrid
- changing SystemSettings to add more options
- adding Console handler to "AutoSave" Sessions on application exit (depends on SystemSettings)
- adding Get/SetSettings methods to BotBase for settings handling
- adding FallbackStateForm to have a "default form" after saving a form with the [IgnoreState] attribute
Session Serialization and better State management
- adding StateMachine and Session Serialization (example classes for JSON and XML)
- Bugfixes
- adding more Send methods (like SendVideo or SendTextFile) to DeviceSession
- improved Form management
- additions to ButtonGrid like HideKeyboardOnCleanup or DeletePreviousMessage
- refactoring all EventArgs structures to Args namespace
- renaming Results Datatypes to EventArgs
- adding Hidden method to ControlBase to get invoked before controls gets hidden
- adding IsFirstHandler to allow controls to skip Actions which has been invoked already (i.e. due to navigation)
- changed NavigateTo and OpenModal to virtual to allow override (i.e. to copy a userid which is store inside the form itself on navigation automatically)
- Constants update
- Markdown generator fixes and adding MarkDownV2 escape methods
- adding Edited method on FormBase and BotBase to work with user edites
- and much more
Groups, modal forms and more
- PromptDialog has been changed to ConfirmDialog
- PromptDialog is now (like in JavaScript) for text inputs
- adding OpenModal/CloseModal features to leave a form open and "just…" show a prompt and get back
- added new "ModalDialog" class to present modal forms
- updating examples for prompt dialog to use the modal feature
- adding better Keyboard support
- making Events property of FormBase public, for use in sub classes
- making ResultBase derive from Eventargs
- adding messagetype to messageresult
- addes SplitterForm to switch between "normal" chats and group chats
- adding useful tasks for groups
- adding base class for group management
Custom Exceptions and fixes
- added a custom exception for maximum length messages, saves to time to sent to API
- added a constants file, for have constants to work with
- catching maximum message length
- Added simple Markdown/HTML Generator
- added some forms to obsolete, cause their use is bad for ram management
New ToggleButton control ! (v1.5.1.0)
- Added ToggleButton as an easy switch control (i.e. for settings page)
- added control id, for easier separating of controls in one form
- added automatic event selection for specific controls, to not raise an event for other controls who has invoked it
- changed Action method
- added example
New Features and improvements (v1.5.0.0)
- New control: CalendarPicker
- New control: MonthPicker
- New control TreeView
- small change on Progress Bar Control
- Updating ButtonBase to enable Url (Link) Buttons
- due latest changes on the base it is now easier to create controls which will be rendered (or not)in several forms depending on user context
- Update of FormBase for better async event management
- Update of ControlBase for partial rendering options
- Updating serveral base classes to better asyc event management
- separating Enums into different folder
- some small bug fixes
- removed "CustomEventManagement" cause it doesnt make sense now
Bugfixes and improvements (v1.4.3.0)
- added IsDisposed to FormBase
- removed FormSwitched from FormBase and added to DeviceSession (more logical message loop)
- added PreviousForm to DeviceSession, contains last opened form (at initial form is null)
- BotBase message loop update
- now navigation is possible from every form, not just the latest ones as before
- fixed NavigateTo to set PreviousForm now correctly
- added dependency on System.Net.Requests
Bugfixes and improvements (v1.4.2.0)
- added IsDisposed to FormBase
- removed FormSwitched from FormBase and added to DeviceSession (more logical message loop)
- added PreviousForm to DeviceSession, contains last opened form (at initial form is null)
- BotBase message loop update
- now navigation is possible from every form, not just the latest ones as before