Problem: Currently we use ExceptT BotException IO which is inconvenient because both BotException, other sync exceptions and async exceptions should be handled separately.
Solution: Remove ExceptT, use UnliftIO for exceptions handling, also use UnliftIO for asyncs instead of monad-control.
Related issue(s)
Fixed #51
:white_check_mark: Checklist for your Pull Request
Related changes (conditional)
Tests
[ ] If I added new functionality, I added tests covering it.
[ ] If I fixed a bug, I added a regression test to prevent the bug from
silently reappearing again.
Documentation
[ ] I checked whether I should update the docs and did so if necessary:
Description
Problem: Currently we use
ExceptT BotException IO
which is inconvenient because both BotException, other sync exceptions and async exceptions should be handled separately.Solution: Remove ExceptT, use UnliftIO for exceptions handling, also use UnliftIO for asyncs instead of monad-control.
Related issue(s)
Fixed #51
:white_check_mark: Checklist for your Pull Request
Related changes (conditional)
Tests
Documentation
Stylistic guide (mandatory)