projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
make oneself broadcast
[spider.git]
/
perl
/
Thingy.pm
diff --git
a/perl/Thingy.pm
b/perl/Thingy.pm
index 308e80c3d67c3dd13e72576c09f7bceead959887..08d146678e2f5f07caaaa815714b7f50f43db760 100644
(file)
--- a/
perl/Thingy.pm
+++ b/
perl/Thingy.pm
@@
-74,7
+74,9
@@
sub send
# before send (and line generation) things
# function must return true to make the send happen
$sub = "before_send_$class";
# 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;
# generate the protocol line which may (or not) be cached
my $ref;
@@
-102,6
+104,10
@@
sub broadcast
foreach my $dxchan (DXChannel::get_all()) {
next if $dxchan == $main::me;
next if grep $dxchan == $_, @_;
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);
}
}
$thing->send($dxchan);
}
}