Based on our conversation before, instead of inserting exception handling around any call that could fail due to missing permissions, this PR adds a permission verification step during setup since if we succeed at setup, permissions should be valid until the bot is uninstalled and needs to be set up again.
I also copied over some of the refactoring I did before to get the app in a more unit testable state. There's a smattering of Python style changes as well, since PyCharm is doing some kind of PEP linting and giving me low level warnings about all kinds of things. I might make one big PEP style pass just to satisfy my pickiness.
Finally getting back to this...
Based on our conversation before, instead of inserting exception handling around any call that could fail due to missing permissions, this PR adds a permission verification step during setup since if we succeed at setup, permissions should be valid until the bot is uninstalled and needs to be set up again.
I also copied over some of the refactoring I did before to get the app in a more unit testable state. There's a smattering of Python style changes as well, since PyCharm is doing some kind of PEP linting and giving me low level warnings about all kinds of things. I might make one big PEP style pass just to satisfy my pickiness.
This is part of addressing issue #4.