2016-06-14 14 views
1

私はスクリプトでいくつかのDM機能とリクエストを使用しようとしています。 私の目標は、選択されたフォロワーにDMを送信するイベントです。今のところ、私の作業のコードは次のようにNet :: Twitter :: Liteとnew_direct_messageの使い方

されています:

#!/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つのパラメータが与えられたと述べているようです必要とされています

new_direct_message(ユーザー、テキスト)

個の

パラメータ:ユーザー、テキスト、SCREEN_NAME、user_idは、include_entities

が必須:ユーザー、テキスト

は 認証ユーザから指定されたユーザーに新しいダイレクトメッセージを送信します。ユーザーとテキストの両方のパラメータが必要です。 成功した場合に送信されたメッセージを返します。数値 のスクリーン名をサポートするために、userではなくscreen_nameまたはuser_idパラメータを の代わりに使用できます。

戻り値:DirectMessage

この1上の任意のヒント?

私はこれについて少しGoogleにしようとしましたが、本当に役立つものは何も見つかりませんでした。いくつかの例では、私とまったく同じものを使用しています(たとえば、85行目のhttp://www.sevagas.com/Real-time-system-alerts-using-Twitter-OAuth-implementation

+0

ます。https:// metacpan.org/pod/distribution/Net-Twitter-Lite/lib/Net/Twitter/Lite/WithAPIv1_1.pod – toolic

+0

ドキュメントは混乱しているようです。必要に応じて 'text'だけが表示されますが、「ユーザとテキストの両方のパラメータが必要です」と表示されます。 –

+1

テストを見ると、おそらくハッシュリファレンスを渡す必要がありますか? 'new_direct_message({user => $ uuser、text => $ message_ack})' – toolic

答えて

1

大丈夫です。私はちょうどツールのコメントでそれを理解した。 誰かがこれまでと同じ過ち持っているのであれば、その答えがあります:

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

しかし

$twitter->new_direct_message({ user => $user, text => $message_ack }); 

を使用しないでください。そして、あなたは大丈夫ですが。

おかげであなたは、 をハッシュリファレンスを渡すために持っていますが、私ははっきりドキュメントにそのヒントを見ることができなかったように見えます

CPANに必要に応じて、私は唯一の `text`を参照してください