If you can, use the deltachat core for your project. https://github.com/deltachat/deltachat-core-rust
It’s written in rust and has also a C-api for which you could create bindings for Go.
https://c.delta.chat/ - documentation for the deltachat-ffi (c api)
When using the deltachat core you don’t need to interact with email or encryption directly, the core exposes a “high level” api that gives you access to chats, contacts, messages and so on.
We have an Impersonate feature planned: BOT - Impersonate / Alias names.
Here are 3 bots made with deltachat core for reference purposes:
- https://github.com/adbenitez/simplebot (Multiple purpose bot, written in python with the python bindings)
- https://github.com/Simon-Laux/deltachat-irc-bridge (DC <-> IRC bridge, written in js with the node bindings)
- https://github.com/okdistribute/deltachat-polls (poll bots, written in js with the node bindings)