has commands => (
- is => 'rw',
+ is => 'ro',
isa => 'HashRef[Object]',
default => sub{ {} },
);
has channels => (
- is => 'rw',
+ is => 'ro',
isa => 'HashRef[ArrayRef[Str]]',
default => sub{ {} },
);
+has targets => (
+ is => 'ro',
+ isa => 'HashRef[Str]',
+ default => sub{ {} },
+);
+
sub load {
my $self = shift;
warn "couldn't do $file: $!" if $!;
warn "couldn't run $file" unless $return;
}else {
- print "Loading $class\n";
+ say "\nLoading $class";
$self->load_class($class);
}
my @subs = eval "$class->meta->get_method_list";
for my $c (@subs){
my $attr = eval "$class->meta->get_method('$c')->attributes";
- if ($attr){
- print "Command: $c";
+ if (@$attr){
+ print "Command: $c ";
my %c = (channels => ['all']);
my @aliases;
for (@{$attr}){
return 0;
}
+sub set_target {
+ my ($self,$label,$target) = @_;
+ $self->targets->{$label} = $target;
+}
+
sub run_command {
my ($self,$c,$command,$args) = @_;
}
}
}
+ return 1;
}
1;