Twitterへの投稿可能な文字数のチェックを行うAppleScriptです。
Twitterへの投稿可能な文字数の計算は、なかなか頭の痛い処理です。つい先日廃止されたMac版のクライアントアプリケーションはついに最後まで正しい文字数をカウントできていませんでした(本来の仕様よりも少ない文字数しか投稿できなかった)。
# macOS 10.15以降向けにCatalystアプリケーションとしてMac用クライアントが再公開されました。が……
Twitter, IncがGithubで公開しているフレームワーク「twitter-text」を使えば、Tweet文字数カウントシミュレーションを行えるようだったので、フレームワークをXcodeでビルドして試してみました。
この(↑)テスト文字列は、普通にlengthで文字数をカウントすると155文字ですが、Twitterの文字カウントロジックを用いると139文字。実際にTwitterのWebサイト上から投稿してみると、なるほどたしかにエラーになりません(じゃあなんでMac版のTwitterクライアントにこの機能が乗ってなかったんだろう。とっても不思議)。
TwitterText.framework (To ~/Library/Frameworks/)
AppleScript名:TwitterへのTweet文字数チェック |
— Created 2018-04-03 by Takaaki Naganoya — 2018 Piyomaru Software use AppleScript version "2.4" use scripting additions use framework "Foundation" use framework "TwitterText" –https://github.com/twitter/twitter-text set aText to "【Twitter文字数カウントテスト】:MS Cognitive Serviceに画像認識させてみたら、前回認識させた時よりも突っ込んだ情景描写のテキストが返ってきた。前回「犬」と認識されたイルカは「なんかの泳いでいる動物」と認識。https://github.com/twitter/twitter-text" set aParser to current application’s TwitterTextParser’s defaultParser()’s parseTweet:aText set aLen to aParser’s weightedLength() –> 139 set aPerm to aParser’s permillage() –Twitter文字数Fullで1,000 –> 992 set aValid to aParser’s isValid() as boolean –> true set aRange to aParser’s displayTextRange() –> {location:0, length:155} set aVDTRange to aParser’s validDisplayTextRange() –> {location:0, length:155} |
More from my site
(Visited 80 times, 1 visits today)
ぴよまるソフトウェアが選ぶ、2018年に書いた「価値あるScript」 – AppleScriptの穴 says:
[…] ・TwitterへのTweet文字数チェック Github上で発見した当時「こんないいものが存在しているのに、なんでMac版のTwitterクライアントにこの機能は搭載されていないんだろ?」と首をひねって […]