three18ti has asked for the wisdom of the Perl Monks concerning the following question:

Hello

I'm looking at working with an IRC bot to handle a couple of things. I'm looking through the code for Bot::BasicBot::Pluggable::Module::ChanOp and around line 32 or 34 is the important method that sets the mode:

$self->bot->mode("$channel $op $who");

But I'm driving myself crazy trying to find where the "mode" subroutine is defined. It's not defined in Bot::BasicBot::Pluggable::Module::ChanOp, so I went back and checked the source for Bot::BasicBot and it's not defined there. Bot::BasicBot::Plugable basically just overrides methods of Bot::BasicBot.

Can someone point me to the definition of this subroutine? (and tell me how you found it!)

Thanks!</>

Edit:

Maybe it would help to understand where the "bot" attribute is coming from.

I see in Bot::BasicBot::Pluggable::Module, that "bot" is just a sub that returns the "Bot" parameter. Not sure which module actually defines "Bot" though

<code> sub bot { my $self = shift; return $self->{Bot}; } <code>
  • Comment on [Bot::BasicBot::Pluggable::Module::ChanOp] Where is the mode method defined?
  • Download Code

Replies are listed 'Best First'.
Re: [Bot::BasicBot::Pluggable::Module::ChanOp] Where is the mode method defined?
by tobyink (Canon) on Dec 15, 2013 at 08:19 UTC

    I've only had a quick look, but I think it's probably this AUTOLOAD method.

    use Moops; class Cow :rw { has name => (default => 'Ermintrude') }; say Cow->new->name