LaravelでTypetalkに投稿する

LaravelからTypetalkに投稿するコード。

class TypeTalkJob implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

    private const TYPETALK_TOKEN = 'YOUR_TYPETALK_TOKEN';
    private const TYPETALK_URL = 'https://typetalk.com/api/v1/topics/:topicId';
    /** @var string 投稿するメッセージ。最大4000文字 */
    protected string $message;

    /**
     * TypeTalkJob constructor.
     * @param  string  $message  メッセージ
     */
    public function __construct(string $message)
    {
        $this->message = $message;
    }

    /**
     * Execute the job.
     *
     * @throws GuzzleException
     * @see https://developer.nulab.com/ja/docs/typetalk/api/1/post-message/
     */
    public function handle(): void
    {
        (new Client())
            ->request(
                'POST',
                self::TYPETALK_URL,
                [
                    'form_params' => ['message' => substr($this->message, 0, 4000)],
                    'headers' => ['X-Typetalk-Token' => self::TYPETALK_TOKEN,],
                ]
            );
    }
}

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください