marvin
marvin copied to clipboard
The paranoid bot (framework)
`wreq` is a very nice package. It is essentially a better interface for the http-* libraries but it pulls in `lens` which is a rather big library and not necessary.
In some of the internal packages such as `Marvin.Adapter.Slack.Types` there are newtypes without exported constructors such as (`SlackUserId` and `SlackChannelId`). I am currently messing around with storing these values in...
Implement the `HasFiles` API for adapters which support it. ## Done in - Shell - Slack ## Finished, but needs testing ## Unfinished ## Need research as to whether its...
Many adapters, such as the Slack API, support the uploading and sharing of files. Marvin should be capable to handle file sharing events and perhaps also support uploading files himself....
It has come to my attention that there is a package on Hackage for communicating with the telegram bot API. I think it would be worthwhile to evaluate whether a...
Adapters such as `slack` which keep part of the state of the chat application should be implemented with periodic, but not too frequent state updates rather than on-demand call-thread updates....
Both user and channel resolving in the IRC adapter currently always succeeds (is essentially a no-op). This can create invalid channel or user references. We would like to have some...
The methods `resolveChannel` and `resolceUser` in the `IsAdapter` instance for `TelegramAdapter` need a proper implementation, if such an implementation is even possible. It should be evaluated in how far it...
On my test instance when starting marvin (compiled with `-O2`) the memory usage was around 40MB and after running for a few hours it was only about 25MB. It seems...
Store current logging level in an `IORef` and update if whenever the config changes it, so long as the command line parameters `verbose` or `debug` are not set.