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,],
]
);
}
}