0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Perlから簡単にLINEに通知を送る

Last updated at Posted at 2024-09-29

Perlから簡単にLINEに通知を送る:Net::LineNotifyモジュールの使い方

皆さん、Perlでスクリプトを書く際に、実行結果やエラーログを手軽に通知したいと思ったことはありませんか?今回は、Perlから直接LINEに通知を送信できる便利なモジュール、Net::LineNotifyをご紹介します。

Net::LineNotifyとは

Net::LineNotifyは、LINEが提供するLINE Notify APIを利用して、簡単にLINEにメッセージを送信するためのPerlモジュールです。これを使えば、Perlスクリプトから直接LINEに通知を送ることができます。

インストール方法

Net::LineNotifyはCPANに公開されているため、以下のコマンドで簡単にインストールできます。

cpan install Net::LineNotify

または、リポジトリをクローンして手動でインストールすることも可能です。

git clone https://github.com/kawamurashingo/Net-LineNotify.git
cd Net-LineNotify
perl Makefile.PL
make
make test
make install

依存モジュール

このモジュールは以下のPerlモジュールに依存しています。事前にインストールしてください。

  • LWP::UserAgent
  • HTTP::Request::Common

インストール方法:

cpan install LWP::UserAgent HTTP::Request::Common

LINE Notifyのアクセストークンを取得する

Net::LineNotifyを使用する前に、LINE Notifyのアクセストークンが必要です。以下の手順で取得してください。

  1. LINE Notifyのウェブサイトにアクセスし、LINEアカウントでログインします。
  2. 画面右上の「マイページ」をクリックします。
  3. 「トークンを発行する」を選択し、通知を送信したいトークームまたはグループを選びます。
  4. トークンに名前を付け、「発行する」をクリックします。
  5. 表示されたアクセストークンをコピーします(この画面以外で確認できないのでご注意ください)。

使い方

基本的な送信方法

use Net::LineNotify;

# アクセストークンを設定
my $line = Net::LineNotify->new(access_token => 'YOUR_ACCESS_TOKEN');

# メッセージを送信
$line->send_message('PerlからのLINE通知です!');

オプション付きのメッセージ送信

画像やスタンプを送信する場合は、追加のパラメータを指定できます。

# 画像を送信
$line->send_message(
    message => '画像付きの通知です',
    imageThumbnail => 'https://example.com/thumbnail.jpg',
    imageFullsize  => 'https://example.com/fullsize.jpg'
);

# スタンプを送信
$line->send_message(
    message      => 'スタンプ付きの通知です',
    stickerPackageId => 1,
    stickerId        => 1
);

メソッド詳細

new

my $line = Net::LineNotify->new(access_token => 'YOUR_ACCESS_TOKEN');
  • access_token: 先ほど取得したLINE Notifyのアクセストークン(必須)。

send_message

$line->send_message('送信したいメッセージ');
  • message: 送信するメッセージ本文(必須、最大1000文字)。
  • imageThumbnail: サムネイル画像のURL(オプション)。
  • imageFullsize: フルサイズ画像のURL(オプション)。
  • stickerPackageId: スタンプのパッケージID(オプション)。
  • stickerId: スタンプのID(オプション)。

注意点

  • メッセージは必ず指定してください。空のメッセージは送信できません。
  • 画像を送信する際は、imageThumbnailimageFullsizeの両方を指定する必要があります。
  • スタンプを送信する際は、stickerPackageIdstickerIdを正しく指定してください。

実用例

スクリプトの実行結果を通知

use Net::LineNotify;

my $line = Net::LineNotify->new(access_token => 'YOUR_ACCESS_TOKEN');

# コマンドの実行
my $output = `ls -l`;

# 結果をLINEに送信
$line->send_message("コマンドの実行結果:\n$output");

エラーログの通知

use Net::LineNotify;

my $line = Net::LineNotify->new(access_token => 'YOUR_ACCESS_TOKEN');

# エラーログの確認
if (-e 'error.log') {
    open my $fh, '<', 'error.log' or die $!;
    my @errors = <$fh>;
    close $fh;

    $line->send_message("エラーログが更新されました:\n@errors");
}

ライセンス

このモジュールはフリーソフトウェアです。Perlと同じライセンスの下で再配布および変更が可能です。詳細については、PerlのArtisticライセンスをご覧ください。

まとめ

Net::LineNotifyを使うことで、Perlスクリプトから簡単にLINEに通知を送ることができます。日々の業務自動化や監視スクリプトに組み込んで、効率的な開発を進めてみてはいかがでしょうか。

参考リンク

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?