Add fxtwitter, ignore links, HTML tags

This commit is contained in:
2025-09-29 11:59:14 +00:00
parent 1d43ec5556
commit 36f2b26ac7

View File

@@ -39,6 +39,25 @@ class GenericmessageCommand extends SystemCommand
return Request::emptyResponse(); return Request::emptyResponse();
} }
// Handle Twitter link
preg_match('/^https?:\/\/(?:mobile\.)?(?:x|twitter)\.com\/(\w+)\/status\/(\d+)(\S*)$/', $text, $matches);
if (count($matches) >= 3) {
$author = $matches[1];
$tweetId = $matches[2];
$photoNoText = '';
if (!empty($matches[3])) {
preg_match('/(\/\d)$/', $matches[3], $photoNoMatches);
if (isset($photoNoMatches[1])) {
$photoNoText = '/photo' . $photoNoMatches[1];
}
}
return $this->replyToChat("https://fxtwitter.com/$author/status/$tweetId$photoNoText", ['disable_notification' => true]);
}
if (preg_match('/^https?:\/\/\S+$/', $text)) { // Just URL and nothing else
return Request::emptyResponse();
}
$text_chara_count = count(preg_split('//u', $text, -1, PREG_SPLIT_NO_EMPTY)); $text_chara_count = count(preg_split('//u', $text, -1, PREG_SPLIT_NO_EMPTY));
$text_english_count = count(preg_split('~[^a-z 0-9\'\",.]*~i', $text, 0, PREG_SPLIT_NO_EMPTY)); $text_english_count = count(preg_split('~[^a-z 0-9\'\",.]*~i', $text, 0, PREG_SPLIT_NO_EMPTY));
if ($text_english_count >= ($text_chara_count * 2 / 3)) { if ($text_english_count >= ($text_chara_count * 2 / 3)) {
@@ -53,6 +72,7 @@ class GenericmessageCommand extends SystemCommand
TranslateTextOptions::FORMALITY => 'prefer_less', TranslateTextOptions::FORMALITY => 'prefer_less',
TranslateTextOptions::MODEL_TYPE => 'prefer_quality_optimized', TranslateTextOptions::MODEL_TYPE => 'prefer_quality_optimized',
TranslateTextOptions::SPLIT_SENTENCES => 'on', TranslateTextOptions::SPLIT_SENTENCES => 'on',
TranslateTextOptions::TAG_HANDLING => 'html', // Somehow make it preserve new line
]; ];
if ($htmlMode) { if ($htmlMode) {
$deeplOptions[TranslateTextOptions::TAG_HANDLING] = 'html'; $deeplOptions[TranslateTextOptions::TAG_HANDLING] = 'html';