def do_join(self, channel): fountFromChannel, drainToChannel = ( self._hub.channelNamed(channel).participate(self)) fountFromChannel.flowTo(self._in.newDrain()) fountToChannel = self._router.newRoute() fountToChannel.flowTo(drainToChannel) self._participating[channel] = fountToChannel yield to(self.client, dict(type="joined", channel="channel")) yield to(self._participating[channel], dict(type="joined"))
def do_join(self, channel): fountFromChannel, drainToChannel = ( self._hub.channelNamed(channel).participate(self) ) fountFromChannel.flowTo(self._in.newDrain()) fountToChannel = self._router.newRoute() fountToChannel.flowTo(drainToChannel) self._participating[channel] = fountToChannel yield to(self.client, dict(type="joined", channel="channel")) yield to(self._participating[channel], dict(type="joined"))
def do_spoke(self, channel, sender, message): yield to( self.client, dict(type="spoke", channel=channel, sender=sender.name, message=message))
def do_told(self, sender, message): yield to(self.client, message)
def do_tell(self, receiver, message): # TODO: implement _establishRapportWith; should be more or less like # joining a channel. rapport = self._establishRapportWith(receiver) yield to(rapport, dict(type="told", message=message))
def do_shout(self, message, id): for channel in self._participating.values(): yield to(channel, dict(type="spoke", message=message, id=id)) yield to(self.client, dict(type="shouted", id=id))
def do_speak(self, channel, message, id): yield to(self._participating[channel], dict(type="spoke", message=message, id=id)) yield to(self.client, dict(type="spoke", id=id))
def do_name(self, name): self.name = name yield to(self.client, dict(named=name))
def do_spoke(self, channel, sender, message): yield to(self.client, dict(type="spoke", channel=channel, sender=sender.name, message=message))