実況向けTweetDeck拡張UserScript(テスト)

BetterTweetDeckのハッシュタグ保持機能は割といい感じでしたがポストした後にフォーカスがタグの後ろに来てしまうのが気になるのでフォーカスが先頭に来るようにしてみました。
拡張を直接改造しても署名云々でインストールできないのでUserScriptにしています。


≫導入

UserScriptは以前Greasemonkeyが主流でしたがバージョンアップで互換性が微妙になったので同じく互換性が微妙なTampermonkeyのほうがむしろ使いやすい感じになっています。

なおFirefox版とChrome版と書きましたが私が実際に使っているのはWaterfox(旧Firefox互換ブラウザ)とKinza(Chrome互換ブラウザ)なので上記アドオン及び下記のスクリプトが純正で動くかどうかは知りません。 →最近はChrome使ってます。
あとJavaScriptよくわからないまま継ぎ接ぎで改造してるのでへんなエラーとかメモリリークとかあったらごめんなさい。


≫スクリプト

書いたスクリプトは↓こちらになります。(どちらか片方)(↑の拡張を入れてあれば↓を開くとインストールの確認画面になります)

【ハッシュタグ保持】


有効にしたらTweetDeckを開いて普通に使うだけです。
Tampermonkeyのアイコンクリックしてダッシュボードってところで有効/無効切り替えられます。
BetterTweetDeckとの併用は問題ない感じがします。
TweetDeckの基本ですが入力欄は「Stay open」にチェックを入れて[Ctrl]+[Enter]でポストします。

クリップボードにコピーした画像を[Ctrl]+[V]で貼り付けることも出来るので便利です。
既知の不具合:画像をドラッグ&ドロップで登録した時に何も入力しないでポストするとタグが反映されません。スペース1つでもいいので入力しましょう。

蛇足ですがタグを消してツイートしたい時は[Ctrl]+[A]で全選択して消すか、
[Shift]+[End]で終端まで選択して消すなり[Ctrl]+[C]でカットするなりですかね。[Ctrl]+[Z]で前のツイートも出てくるかと。


【タグ補完(サジェスト)無効化】

タグの自動補完機能が間違えて確定しそうで鬱陶しいので切れるようにするスクリプトも追加しておきます。


【[Shift]+[Enter]でツイート】

[Shift]+[Enter]でツイートしたい、という声があったのでやってみました。(追加してるだけなので代わりにCtrl+Enterで改行を挿入するみたいなことは出来ません)


【ハッシュタグ保持はしない、代わりに別枠のタグを自動付与する】

[Shift]+[Enter]で別処理振れるならいっそのことタグ枠作ってツイート時にくっつけてからポストすれば…ということで実験的に作ったのが↓こちらです。
↑のタグ保持と通常の[Shift]+[Enter]でポストはオフにしてください。補完無効化のみ併用しましょう。
リプライ時やDM時、ハッシュタグを付けて文字数が足りなくなる場合の挙動は調べてません。
慣れないとわかりにくいのでShift押した時だけハイライトするとかCtrl押したらグレーアウトするとかしたいところですね。クリアボタンも欲しいな。

追記:動作しなくなりました。

≫TweetDuck向けplugin

UserScriptはブラウザ拡張ですが、私はTweetDuck(単体でTweetDeckを開くWindowsアプリ)を愛用しています。
TweetDuckはpluginで拡張できるので、decktagmod.zip これを解凍して
インストール場所の\plugins\user\の下に
user\
 + decktagmodstd\
   - .meta
   - browser.js
 + disable_autocomplete\
   - .meta
   - browser.js
こんな感じで配置してやれば使えるはず(ただしProgramFilesにインストールしてる場合はUAC切らないと置けないような?)
もちろんオプションのPluginからEnable/Disableできます。機能が干渉しないように設定してください。


≫謝辞的なやつ

JavaScriptはよくわからないのでほぼコピペで作っています。
凄いのは私ではなく元のコードを書いた人です。

タグ保持スクリプトの原型はBetterTweetDeckのではなく↓こちらから拝借しています。
ちなみにBetterTweetDeckを知ったのは↓こちらからでした。

先頭にフォーカスするのは↓こちらを参考にしました。


Shift+Enterのキーの監視は↓こちらを参考にしました。

言わずもがなですが、全部ググって出てきたサイトです。

≫蛇足

あんま関係ないけど最近のTwitter(PC版Webのみ)にはこんな設定欄もあります。



≫蛇足2 ブックマークレット

ブックマークにしてMac版Safariで使えたとか言ってる人も見かけたのでブックマークレットにもしておきます。
Safariではタグ補完無効化は動かなかったです。他はiPadでBluetoothキーボード併用なら普通にいける感じ。iPhoneはDeck自体が無理ゲーです。
また、iOSではブックマークレットよりもSafari SnippetsというSafariの共有オプションからから呼び出してスクリプトを実行できるアプリが便利なのでコードシェアするとこに登録しておきました。試してみたい方はアプリから検索でどうぞ。
「TweetDeck keep hashtag」「TweetDeck Shift+Ret to post」という名前で登録してあります。

ブックマークレット
Firefox系では about:config で security.csp.enable を false にする必要があります。


≫蛇足3 MarinDeckカスタムJSコピペ用

Android用TweetDeckアプリの以下略

→起動直後はいいが、ツイートタブを見て戻る(新規ツイートボタンを押す)と無効になってしまうので使い物にならず、お蔵入り。

↓代わりにBetterTweetDeckから移植。ちょっと重い。組み合わせればいけそうな気もするけどとりあえず。

≫New! 【ハッシュタグ保持はしない、代わりに別枠のタグを自動付与する】v2

タグ枠作ってツイート時にくっつけてからポストするやつ、ハッシュタグ不意に選択しちゃって消しちゃうミスも防げるのでちゃんとしたい…ショートカットキーだけじゃなくボタン押しても同様の動作にしたい…ということで挙動改善しました。
同様に補完無効化のみ併用可です。これは逆に補完はアリな気がしますが今は未実装です。
エラー時はツイート欄にハッシュタグが残ってしまうので付与しないほうで再ツイートしてください。
ちなみに長らくツイートボタン押した時に処理が動くように頑張っていましたが難しいので別にボタンを作ることにしました。

※新しいデザインのTweeetDeckでは機能しないのでBetterTweetDeckでレガシー表示に戻して下さい。
 あるいはCookieのtweetdeck_versionがbetaになっていたらlegacyに変更してください。

TweetDuck用plugin set decktagmod2.zip
(プラグイン名は「decktagmod2」になっています)




更新履歴
//2018.08.16 @fashi2 (サポートは受け付けません)
//2018.08.17 TweetDuck用zipにもシンプル版追加、オートコンプリート無効化スクリプトを追加、ファイル名変更
//2018.08.18 [Shift]+[Enter]でポストするスクリプト追加
//2018.08.18 蛇足2(アプリ), 適用時にplaceholderを加工
//2018.08.19 蛇足2(bookmarklet,3set)
//2018.08.20 実験
//2018.08.21 実験をスクリプトに追加
//2018.09.27 実験でShiftキーを押してる間タグを強調
//2021.06.07 実験でMarinDeckカスタムJS用追加
//2023.02.09 別枠のハッシュタグを付与してポストするスクリプト追加
//2023.02.11 自分用
//2023.02.12 別枠のハッシュタグを付与してポストするスクリプト調整(必ず文末に追加されるように)
//2023.02.13 ツイート欄を閉じて開いた時にハッシュタグ設定欄を復元するようにした
//2023.07.16 TweetDeckが死んだのでTwitter webのintentをハッシュタグ付きで開くを作りました。空いてる時間にたくさん開いて備えよ
//2023.08.27 どうせもうマトモには動作しないので動作URLを tweetdeck.twitter.com から twitter.com/i/tweetdeck に変更(dimdenGD/OldTweetDeck用)