Прямые ссылки для Mastodon

This commit is contained in:
Aleksandr Yakovlev 2024-06-10 15:11:18 +06:00
parent a7b254c4c4
commit bcdc855944
No known key found for this signature in database
GPG key ID: 8269E24B4008E32A

14
bot.php
View file

@ -37,7 +37,7 @@ function ellipse($str,$n_chars,$crop_str='[...]')
$cut_index = max((int) $cut_index_a, (int) $cut_index_b); $cut_index = max((int) $cut_index_a, (int) $cut_index_b);
$buff=substr($buff,0,($cut_index===false? $n_chars: $cut_index+1)).$crop_str; $buff=substr($buff,0,($cut_index===false? $n_chars: $cut_index+1)).$crop_str;
} }
return $buff; return trim($buff);
} }
function formatdsc($description) { function formatdsc($description) {
@ -95,7 +95,8 @@ foreach ($articles as $article) {
continue; continue;
} }
$title = $article['title']; $title = $article['title'];
$link = 'https://t.me/iv?url='.urlencode($article['link']).'&rhash=2db6db1261cc57'; $link_mastodon = $article['link'];
$link_telegram = 'https://t.me/iv?url='.urlencode($article['link']).'&rhash=2db6db1261cc57';
$description = $article['description']; $description = $article['description'];
$image = NULL; $image = NULL;
preg_match('/<img.+src=[\'"](?P<src>.+?)[\'"].*>/i', $description, $image); preg_match('/<img.+src=[\'"](?P<src>.+?)[\'"].*>/i', $description, $image);
@ -111,16 +112,17 @@ foreach ($articles as $article) {
$description = formatdsc($description); $description = formatdsc($description);
} }
*/ */
$limit = 500 - strlen($link) - strlen($title) - 5; $limit = 500 - strlen($link_telegram) - strlen($title) - 20;
$description = "$title\n\n".ellipse($description, $limit); $description = "$title\n\n".ellipse($description, $limit);
$description .= "\n$link"; $description_mastodon = $description."\nГолосовать: $link_mastodon";
$description_telegram = $description."\nГолосовать: $link_telegram";
if (!$config['DRY_RUN']) { if (!$config['DRY_RUN']) {
if ($config['TELEGRAM'] === true) { if ($config['TELEGRAM'] === true) {
try { try {
$result = \Longman\TelegramBot\Request::sendMessage([ $result = \Longman\TelegramBot\Request::sendMessage([
'chat_id' => $config['TELEGRAM_CHAT_ID'], 'chat_id' => $config['TELEGRAM_CHAT_ID'],
'text' => $description, 'text' => $description_telegram,
'parse_mode' => 'Markdown' 'parse_mode' => 'Markdown'
]); ]);
unset($tdescription); unset($tdescription);
@ -143,7 +145,7 @@ foreach ($articles as $article) {
unlink('./'.basename($image)); unlink('./'.basename($image));
$mdescription .= $attachment->url; $mdescription .= $attachment->url;
}*/ }*/
$mastodon->createStatus($description, [ $mastodon->createStatus($description_mastodon, [
'language' => 'ru' 'language' => 'ru'
]); ]);
if (!$config['DRY_RUN']) { if (!$config['DRY_RUN']) {