diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..510be1b --- /dev/null +++ b/docs/README.md @@ -0,0 +1,4 @@ +# Butterrobot Documentation + +## Index +- [Creating a Plugin](./creating-a-plugin.md) diff --git a/docs/creating-a-plugin.md b/docs/creating-a-plugin.md new file mode 100644 index 0000000..0f4cee6 --- /dev/null +++ b/docs/creating-a-plugin.md @@ -0,0 +1,37 @@ +# Creating a Plugin + +## Example + +This simple "Marco Polo" plugin will answer _Polo_ to the user that say _Marco_: + +``` python +# mypackage/plugins.py +from butterrobot.plugins import Plugin +from butterrobot.objects import Message + + +class PingPlugin(Plugin): + name = "Marco/Polo" + id = "test.marco" + + @classmethod + def on_message(cls, message, **kwargs): + if message.text == "Marco": + yield Message( + chat=message.chat, reply_to=message.id, text=f"polo", + ) +``` + +``` python +# setup.py +# ... +entrypoints = { + "test.marco" = "mypackage.plugins:MarcoPlugin" +} + +setup( + # ... + entry_points=entrypoints, + # ... +) +```