Bot

リマインダーbot

高原あずさ_625763

2024.01.06既読 617

リマインくんのようなリマインダーbot LINE worksでも同じ様な機能をグループトークで使いたい

コメント1

  • 업데이트 된 답글입니다.

    もし予約送信を実装する必要がある場合は、サーバー側でスケジューリング機能を実装し、指定された時間にAPIを呼び出してメッセージを送信するという方法を取る必要があります。例えば、Cronジョブやスケジューリングライブラリ(PythonのscheduleやNode.jsのnode-scheduleなど)を使用して実現できます。

    以下は、Node.jsでnode-scheduleライブラリを使用して特定の時間にLINE WORKS Bot APIを呼び出してメッセージを送信するサンプルコードです。ただし、これは予約送信の一例であり、実際の環境や要件に応じて適切なスケジューリング方法を選択してください。

    const schedule = require('node-schedule');
    const axios = require('axios');

    // LINE WORKS Botの設定
    const botId = 'YOUR_BOT_ID';
    const channelId = 'YOUR_CHANNEL_ID';
    const accessToken = 'YOUR_ACCESS_TOKEN';

    // 送信するメッセージの内容
    const message = {
     content: {
       type: 'text',
       text: '予約されたメッセージです。'
     }
    };

    // メッセージを送信する関数
    async function sendMessage() {
     try {
       const response = await axios.post(
         `https://apis.worksmobile.com/r/${botId}/message/sendMessage/v2/bot/${botId}/channel/${channelId}`,
         message,
         {
           headers: {
             'Content-Type': 'application/json',
             'consumerKey': 'YOUR_CONSUMER_KEY',
             'Authorization': `Bearer ${accessToken}`
           }
         }
       );
       console.log('メッセージを送信しました:', response.data);
     } catch (error) {
       console.error('メッセージの送信に失敗しました:', error);
     }
    }

    // 予約送信のスケジュール設定(例:毎日午前9時に送信)
    const scheduleRule = new schedule.RecurrenceRule();
    scheduleRule.hour = 9;
    scheduleRule.minute = 0;

    // スケジュールに従ってメッセージ送信を実行
    schedule.scheduleJob(scheduleRule, sendMessage);
    このコードは、毎日午前9時に指定されたトークルームにメッセージを送信するようにスケジュールされています。YOUR_BOT_ID、YOUR_CHANNEL_ID、YOUR_ACCESS_TOKEN、YOUR_CONSUMER_KEYは適切な値に置き換えてください。

    なお、実際にこのコードを実行する前に、node-scheduleとaxiosパッケージをプロジェクトにインストールする必要があります。

    npm install node-schedule axios
    また、LINE WORKS APIの利用には事前にアクセストークンを取得する必要があります。詳細な手順についてはLINE WORKSの開発者ドキュメントを参照してください。

    2024.01.08

    0
前の投稿 有休申請にDateTimePickerを使用したい
次の投稿BOTのファイルアップロードAPI
リスト

まだ、解決できませんか?
今すぐ実際に使用しているLINE WORKSユーザーに質問してみましょう。