2022-04-12 05:56:12 +00:00
|
|
|
# imp
|
|
|
|
|
|
|
|
*small demon, a familiar of a witch*
|
|
|
|
|
|
|
|
![](imp_color.jpg)
|
|
|
|
|
|
|
|
imp is a set of bot creating utilities built on top of [libcwtch-rs](https://git.openprivacy.ca/cwtch.im/libcwtch-rs)
|
|
|
|
|
|
|
|
It is in the very early prototype stage with one prototype use in the Cwtch [update bot](https://git.openprivacy.ca/dan/update_bot/)
|
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
|
|
|
Start with creating a `Behaviour` struct and populating it with your desired set of bot behaviours, then `imp::spawn` your bot with the behaviour.
|
|
|
|
|
|
|
|
Define a struct fulfilling the `imp::EventHandler` trait with all your custom event handling code.
|
|
|
|
|
2022-05-08 00:16:11 +00:00
|
|
|
Finally, run the imp `my_imp.event_loop(Box::new(custom_event_handler));`
|
|
|
|
|
|
|
|
## Examples
|
|
|
|
|
|
|
|
- Private [rust-bert](https://github.com/guillaume-be/rust-bert) chat bot - [rust-bert-bot](https://git.openprivacy.ca/dan/rust-bert-bot)
|
|
|
|
- Public utility bot - [Cwtch Update Bot](https://git.openprivacy.ca/dan/update_bot/)
|
|
|
|
|