このリポジトリは2023-09-09にアーカイブされています。 ファイルの閲覧とクローンは可能ですが、プッシュ、イシューの作成、プルリクエストはできません。
pleroma-bot-engine/reply.php

62 行
1.6 KiB
PHP

<?php
// https://tinysubversions.com/notes/mastodon-bot/
include('config.php');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $domain.'/api/v1/timelines/home');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer '.$token]);
$get = curl_exec($ch);
$err = curl_error($ch);
curl_close($ch);
if (!$get) return 400;
$saveid = [];
foreach (json_decode($get) as $g) {
//if (is_null($g->in_reply_to_id)) continue;
if ($g->account->bot) continue;
if (in_array($g->id, $saveid)) continue;
if ($g->favourited) continue;
$param = [
'status' => $mess,
'source' => $source,
'visibility' => $visibility,
'content_type' => 'text/plain',
'in_reply_to_id' => $g->id
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $domain.'/api/v1/statuses');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $param);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer '.$token]);
$get = curl_exec($ch);
$err = curl_error($ch);
curl_close($ch);
if (!$get) return 400;
$saveid[] = $g->id;
}
foreach ($saveid as $s) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $domain.'/api/v1/statuses/'.$s.'/favourite');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer '.$token]);
$get = curl_exec($ch);
$err = curl_error($ch);
curl_close($ch);
if (!$get) return 400;
}
return 200;
?>