Perl 如何在Net::Twitter::Lite中使用新的_direct_消息

Perl 如何在Net::Twitter::Lite中使用新的_direct_消息,perl,twitter,Perl,Twitter,我试图在脚本中使用一些DM功能和请求。 我的目标是在一个事件上,将DM发送给选定的追随者 目前,我的工作代码如下: #!/usr/bin/perl use strict; use warnings; use Net::Twitter::Lite::WithAPIv1_1; my $twitter = Net::Twitter::Lite::WithAPIv1_1->new( access_token_secret => 'XXX', consumer_secret

我试图在脚本中使用一些DM功能和请求。 我的目标是在一个事件上,将DM发送给选定的追随者

目前,我的工作代码如下:

#!/usr/bin/perl
use strict;
use warnings;

use Net::Twitter::Lite::WithAPIv1_1;

my $twitter = Net::Twitter::Lite::WithAPIv1_1->new(
    access_token_secret => 'XXX',
    consumer_secret     => 'XXX',
    access_token        => 'XXX',
    consumer_key        => 'XXX',
    user_agent          => 'Myself',
    ssl => 1,
);

my $user        = 'myself';
my $message_ack = "Hasta la vista, baby";
print "[sending: '$message_ack' to '$user'\n";

my $ack         = $twitter->new_direct_message($user, $message_ack);
我有以下报税表:

# perl test.pl
[sending: 'Hasta la vista, baby' to 'myself'
new_direct_message expected 1 args at test.pl line 21.
我不明白,因为CPAN文档指出,给定的2个参数是必需的:

新的\u直接\u消息(用户、文本)

参数:用户、文本、屏幕名称、用户id、包含实体

必需:用户,文本

将新的直接消息从发送到指定用户 验证用户身份。需要用户参数和文本参数。 成功时返回已发送的消息。为了支持数字 可使用屏幕名称、屏幕名称或用户id参数 而不是用户

返回:DirectMessage

关于这个有什么提示吗


我试着在谷歌上搜索一下,但没有发现任何真正有用的东西。在一些例子中,他们使用了与我完全相同的东西(例如:在第85行)

我刚刚用工具注释解决了这个问题。 因此,如果有人犯过同样的错误,答案是:

不要使用

$twitter->new_direct_message($user, $message_ack);
但是


看起来您必须传递一个hashref,但我无法在文档中清楚地看到该提示。

文档似乎很混乱。只有
text
是按要求列出的,但它还说“需要用户和文本参数”。看看测试,也许你需要通过hashref<代码>新建直接消息({user=>$uuser,text=>$message\u ack})
$twitter->new_direct_message({ user => $user, text => $message_ack });