1

Bot::BasicBot提供了一种获取底层 POE::Component::IRC::State 对象句柄的方法 pocoirc()。使用此对象句柄,似乎应该可以发送如下原始消息:

sub said {
  my ($self, $message) = @_;
  $self->pocoirc()->yield('raw_events' => 1);
  $self->pocoirc()->yield('irc_raw_out' => 'RAW message');

但是,这会给出错误“在没有包或对象引用的情况下无法调用方法“yield””——返回的对象似乎没有导出预期的方法。我是否误解了我要返回的对象类型,或者如何触发原始消息的发送?

4

1 回答 1

0

感谢有关 Data::Printer 的提示,事实证明 POE::Kernel 可以作为 self->{kernel} 使用。要将原始命令排入队列,

$self->{kernel}->post( $self->{IRCNAME}, 'quote', 'your raw command');
于 2015-09-22T08:17:58.763 回答