TwitterIRCGatewayを改めてセットアップ

利用しているネット環境のノートOSをWindows7からWindows10に移行したのですが、その際に色々弄ってしまったせいかログインできなくなってしまいました。日頃から殆どTwitterは使ってないんですが情報の流れに目を留められうる環境のほうが良いと考えるほうで、頑張って色々調べつつ再セットアップを試行しました。しかし検索しても情報少なめでやや苦労したので覚書きとして書いておきます。

※ 即知の問題としてtwitter apiの利用制限由来でコンソール窓に「エラー: リモート サーバーがエラーを返しました: (404) 見つかりません」と表示される前後でのツイートの送信は不可能だと思います。

TIG (Twitter-IRC-Gateway)のセットアップ

  1.  配布元 :

    GitHub - opentig/TwitterIrcGatewayBinary: TwitterIrcGateway のビルド済みバイナリ
    TwitterIrcGatewayBinary-master.zip をダウンロードしておく(こちらTwitterIrcGateway.zipのほうは動作しなかった )

  2. Windows.NET Framework 3.5での規定の利用での暗号化通信をTLS1.1/1.2にする為にレジストリを変更しておく必要がある。regjumpregscannerなどがあると楽にキーの箇所を探し出せます。

    参考になったサイト 項目5の 「.NET Framework 3.5 で TLS 1.1 および 1.2 を既定値にするための方法」

    • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727

    両者のキー以下に種類は REG_DWORD (REG_QWORDのほうではない)で名前は SystemDefaultTlsVersions 、値は 1 で登録する。変更は上記の二箇所だけで良い。

  3. https://developer.twitter.com/en/portal/projects-and-apps

    素のままで動作させてもフォロワーのツイート閲覧は可能なものの、ツイートは出来ないようになっている。素で入れた状態でのTwitterIRCGatewayの開発者が用意したらしい規定のAPIキーでは制限対応されていると思しきようで、自らツイート出来るようにするためには開発者向けのアプリ側用のConsumerキーが必要なので用意する。
    1. 使用するプロジェクトを用意(無ければ新しく作成申請する)し、そのプロジェクトを開き以降の設定する
    2. 上のタブ項目からSettingsを開き、Authentication settingsでTIGでのPIN-Code方式の認証に合わせる為、3段階認証をdisabledにする
    3. App permissionsではRead, Write, and Direct Messagesにする
    4. 上のタブ項目からKey and tokensを開き、Consumer Keysを新しく生成し必ず控えておく
    5. Authentication TokensのAccess token & secret の生成は必要ないと思う
  4. ダウンロードしたTwitterIrcGatewayのビルド済みバイナリを、インストール先にしたいフォルダに解凍し、中のTwitterIrcGateway.exe.configを開き、編集する
    <setting name="OAuthClientKey" serializeAs="String">
       <value>上で作成したConsumer Key</value>
    </setting>
    <setting name="OAuthSecretKey" serializeAs="String">
      <value>上で作成したConsumer Secret Key</value>
    </setting>
    1. APIの制限に耐えるようにname="Interval"の項目のvalueの値を規定の90から大きめに変更する。
    2. 別のPCから接続して利用する場合はname="LocalOnly"の項目のvalueをTrueからをFalseにする
    3. UTF-8文字コードで利用する為に name="Charset"のvalueISO-2022-JPからUTF-8に変更する。
    4. TwitterIRCGateway.exeを実行
  5. IRCクライアントを用意し、TIGサーバーへの接続設定をする
    1. 接続先、ポート番号などを設定する。(規定でのポート番号は16668)
    2. ログイン名をTwitterアカウント名 (自分のユーザーページを開くときのURLの https://twitter.com/*** の***部分)にする。nickは適当につける。
    3. 文字エンコードUTF-8
    4. パスワードは空欄にしておく
  6. IRCクライアントからTIGサーバーへ最初の接続をする。

    パスワード無しで最初の接続をし、TwitterAPIへの認証手続きをする。接続時に、チャンネルリストに$OAuthという項目が出現して以下のようなメッセージが出力されている場合、認証段階に入る接続迄は成功している

    次のURLをブラウザで表示してアプリケーションのアクセスを許可してください。また、許可のあと表示される暗証番号(PINコード)を入力してください。
    https://api.twitter.com/oauth/authorize?oauth_token=xxxxx...
  7. 以降,$OAuthとの対話に添ってブラウザに表示されたPINコードの入力やパスワードの設定をし、認証作業を終了する。IRCクライアントのTIGサーバーへの接続設定を再び開き、設定したTIGサーバへの接続パスワードを入力して再接続し、#twitterにフォローユーザーのツイートが表示されているのを確認する

その他の追加の設定など

  1. 適当に「#カテゴリー名」のチャンネルを作って該当のツイートをするユーザーをinviteして見やすくする
  2. AddinのTypableMapを有効にして使いやすくする

手続きが必要なものとはいえ、10年以上前のソフトが未だにきちんと動作するのはよくできたものですねー