Ticket #75 (new enhancement)

Opened 6 years ago

Last modified 3 months ago

IM status targets

Reported by: warner Owned by: warner
Priority: patches-accepted Milestone: 0.9.+
Version: 0.7.5 Keywords: irc
Cc:

Description

The buildbot should be able to send status information over instant messaging protocols just like it does with IRC. AIM and Jabber are both (theoretically) implemented in Twisted.

I have a branch in which the IRC bot command/response code is factored out into a separate mixin class. The goal is to use the same code for IM status clients (starting with AIM/toc, since that protocol appears to be implemented within Twisted, not that I've actually been able to make it work..). The design calls for a number of "channels", each of which keeps separate state. In the IRC context, there is one channel for the IRC channel as a whole (which receives messages whenever someone uses the "buildbot: command" convention, and broadcasts messages to the whole channel), and another channel for each person who exchanges private messages with the buildbot (i.e. /msg buildbot command). In the IM context, there is a separate channel for each person who interacts with the buildbot account.

Each of these channels will have a flag to say how noisy they are: when turn on, the IM status plugin will internally subscribe to hear about new builds and then emit status messages whenever those events occur. There will be commands to control this flag, like 'buildbot: noisy' and 'buildbot: quiet'. The IM user can send an introductory message to the buildbot to ask it to start announcing events. For some protocols, we could probably figure out some sort of presence-triggered subscriptions, so the buildbot would watch for you to log in, and start sending you messages as soon as it sees you.

Change History

comment:1 Changed 4 years ago by dustin

  • Milestone changed from 0.8.0 to 1.0.+

comment:2 Changed 3 years ago by dustin

  • Keywords words removed
  • Milestone changed from 1.0.+ to 0.8.+

I would want to see this share 95% of its implementation with the IRC code, which is already basically unmaintained.

comment:3 Changed 2 years ago by redheadphones

  • Keywords redheadphones added

comment:4 Changed 21 months ago by redheadphones

  • Keywords redheadphones removed

comment:5 Changed 15 months ago by dustin

  • Keywords irc added

comment:6 Changed 6 months ago by tom.prince

  • Milestone changed from 0.8.+ to 0.8.8

There is a pull request for this:  https://github.com/buildbot/buildbot/pull/557

comment:7 Changed 3 months ago by dustin

  • Priority changed from major to patches-accepted
  • Milestone changed from 0.8.8 to 0.9.+

As mentioned in the pull req, at this point this should be implemented in nine.

Note: See TracTickets for help on using tickets.