Many features require bots, but they don’t require “complicated” bots. I think it would be very useful to be able to run bots, aka automatic treatment of messages, directly inside deltachat:
Individual bots, like downloader, AI, text to image, voice to image, Mastodon bridge… will only take instructions from me and talk to me, they will handle potentially private data so I’d rather use something I trust than something public
For many if not all of these usecases there’s no need for an always-on computer running somewhere, I can do it from my own device. But if I really want to I can install DeltaChat anywhere and run the bot there.
There’s a huge security window to look at here because the bot should be able to basically do anything
The ability to host client-side bots (bots running in a Deltachat client) would have advantages.
easier to host and test bots
harder to block bots (especially if they offered their own source code)
harder to do traffic analysis (is the target talking to a human or a bot? is the target a bot?)
easier to add experimental functionality to the client
The main disadvantage, bot downtime, could be mitigated where necessary by hash-based indexes of identical sibling bots, and people sending bot contacts to one another. At least one of the identical bots should be up almost all the time.
Security
Bots could be public, private (ignoring messages not from whitelisted contacts), or internal (interacting only with the accounts of their host client). Internal bots could implement functions (like link preview, backup, reading aloud, transcribing, etc.) if added to a chat.
Bots could be given permissions (access the internet through this proxy, write to this local directory, access microphone or speaker).
Examples
A mailman bot could run a public mailing list.
A vacation-response bot
A screening bot could transfer a new contact made via a posted QR code to a new account with an unpublished key
I have experimented with this in the past, I created channels and also anonymous super-groups via bot in the middle, and it was extremely slow, because the bot has to forward (and encrypt) the message to every member, having one bot per group/channel it could kinda work but still worse than the actual channels that are going to be added
Speed does sound like a showstopper for some types of bot, then. I’ll look forward to the new channels (which I’m guessing will be P2P, not like mesh-networked bots, where each bot sends a message to two or more other bots via mail servers).
I assume channels will not have the functionality proposed for individual, internal bots.