# before send (and line generation) things
# function must return true to make the send happen
$sub = "before_send_$class";
- return unless $thing->can($sub) && $thing->$sub($dxchan);
+ if ($thing->can($sub)) {
+ return $thing->$sub($dxchan);
+ }
# generate the protocol line which may (or not) be cached
my $ref;
foreach my $dxchan (DXChannel::get_all()) {
next if $dxchan == $main::me;
next if grep $dxchan == $_, @_;
+ next if $dxchan->{call} eq $thing->{origin};
+ next if $thing->{user} && !$dxchan->is_user && $dxchan->{call} eq $thing->{user};
+
+ dbg("Thingy::broadcast: sending to $dxchan->{call}") if isdbg('thing');
$thing->send($dxchan);
}
}