Requesting a new bot for coauthoring, pinned messages and to resend recent chat log in a broadcast channel

(Let me redraft this topic with more actionable wording)
A publisher sends a private message to the bot and receives some help text in return. Then typing /new there would create a new channel and a corresponding private control group and invite the publisher user there.

The initial publisher may invite further co-authors and bots (e.g., RSS & Atom feed reader) to this control group. Slash commands are allowed, but only for the original publisher initially (tokens are made up):

  • /help
  • /admin - reply with this to a message of another member in the control group to allow them to also give slash commands so feed bot entries won’t accidentally trigger commands (default: only the initial publisher, status cleared when a member leaves)
  • /delay <count> - only forward messages from the author of the message replied to after it remains unchanged for this many minutes, useful for others to catch your typo and for waiting for possible spam feed entries to be removed upstream within hours (default: 5)
  • /pin - reply with this to a message in the control group to pin it and resend it after each subscriber joins. If disappearing message was set on it, remove it and send it again with disappearing message timer disabled.
  • /pin <text> - if not sent as a reply, forward the text as a new message with disappearing timer disabled and pin that message
  • /listpinned - list pinned messages and their indices
  • /unpin - if sent as a reply to a message or a /pin command, unpin the message
  • /unpin <index> - if not sent as a reply, unpin message with given index
  • /historycount <count> - do not resend recent messages more than this count for new subscribers (default: 10)
  • /historydays <count> - do not resend recent messages older than this many days for new subscribers, 0=off (default: 30)
  • /subscribers - get count of subscribers
  • /subscribernames - get index and name of each subscriber
  • /subscriberlist - get detailed list of subscribers including their vcard to allow contact
  • /removesubscriber <index>
  • /announceeach - announce each new and leaving subscriber in the control group (default)
  • /announcedaily - announce the names of new and left subscribers daily in the control group
  • /announceweekly
  • /announcenever
  • /askprivate - forward a private question that the bot receives in reply to a channel message to this control group (default)
  • /asknone
  • /asksize <kilobytes> - don’t forward questions above this limit (default: 4)
  • /maxperhour <count> - pause automatic forwarding of messages to the control group beyond this many messages per hour, explain the error to subscriber who asked (default: 5)
  • /maxperday <count> - (default: 12)
  • /invite - get channel invite link (also done once after creation)

Implicit actions for publishers in control group:

  • sending attachments and messages not beginning with slash-word would be forwarded as a new message to the channel
  • editing, deleting, reacting to and replying to an existing (non-command) message in the control group would similarly be forwarded to the channel
  • changing the name (default: based on publisher name and date), avatar (default: publisher avatar) and disappearing message timer (default: 5 weeks) of the control group would relay this change to the broadcast channel
  • if every author leaves the control group or they remove the bot, it will ask for confirmation in the private chat (but default to affirm if not replied to within 24 hours), and if confirmed, remove all subscribers from the channel and delete the channel

When a new subscriber joins the broadcast channel, the bot would resend all pinned messages and recent messages from the configurable time window.

Related:

3 Likes

Bots can already do everything that Delta Chat client does.

1 Like

If the SDK already has the respective API, then a separate feature request could be created about adding broadcast channel support for each existing bot where it makes sense.

Yes, it probably makes sense for RSS bot to give you invite to the channel for the feed instead of creating a chat. But that’s a request for the bot developers.

2 Likes

So Bots category then?

1 Like