超簡単に大量の nanaco ギフトを自動登録するツール GUI 版

Pocket

突然だが、自動車税や固定資産税などの税金を、どのように支払っているだろうか?
支払う額も大きくなりがちなので、なるべくお得に支払いたいのではないだろうか。

そこでオススメなのが nanaco ギフト だ。

(以下略)

この記事は、以前紹介した以下のツールの GUI 版を紹介するものだ。
nanaco ギフトのなんたるかは、以下のページをご参照をば。

端的に言うと、 税金や公共料金をお得に支払える nanaco ギフトだが、 1,000 円単位で提供されることが多く、 大きな額の支払いだとチャージ作業が非常に面倒になるので、 それを自動入力してしまおうという話だ。

前回は、 PowerShell 版を作成して個人的にはこれで完全に事足りていたのだけれど、 ブログの記事にして公開したら、どうやら敷居が高かったらしく 「素人には難しい」とか「Excel で公開して」とかメールやらコメントやらを、いくつもいただいた。
確かに、昨年私が PowerShell 版の記事を出した頃、同じような時期に同じ目的の記事がいろんなブログで書かれるようになった気がするが、どれもこれも、いわゆる「プログラマ」なら簡単に使えるものの、それ以外の人には厳しそうなものばかりだった。

そこで、 専門的な知識がなくても使える、 みんなに易しい GUI (グラフィカルユーザーインターフェイス) で動くツールとして作り直してみたのが、今回のお話。

当初は、 PowerShell版 を流用して簡単に作れるかな~ とかもくろんでいたのだけれど、色々うまくいかず、 結局イチから作り直している。

booth で販売中

使用している技術の都合上、 プログラムのサイズが非常に大きくなってしまったので、 booth での頒布としている。
思ったより手間がかかってしまったので、支払いで得した部分のほんの一部だけ、ツールの販売価格としていただけると嬉しい。

最大 3つ まで、ギフトを自動で登録できる体験版も用意したので、まずはそちらで期待通り動作するかどうか確認してから、購入してほしい。

このツールは 現状のまま 提供されるものであり、 このツールを利用したことによって生じた不利益などは、いかなる場合でも制作者は責任を負いません。
また、今後 nanaco ギフト側の仕様変更等によって、このツールが動作しなくなったとしても、更新の義務は負わないものとします。

誰も買ってくれないような気はするが、、、 手数料で赤字にならず、20~30枚登録すれば十分元が取れる価格設定にしたつもり。
……と思っていたら、ポツポツと何名かにご購入いただけているようです。 需要があって良かった。

なお、売上げから booth の手数料を引いた、利益のうちの半分は、 COVID-19 支援基金や、 制作に使用したオープンソースプロジェクトに寄付をする。

[追記] 売り上げの寄付

おかげさまでいくつか購入いただけたので、利益の半分を寄付しています。

使い方

…と、お決まりの文章を記載したところで使い方。

上記の booth のページから、体験版または正式版をダウンロードして、 zip ファイルを任意のフォルダに解凍するところからスタート。

  1. nanaco-gift-registerer-gui.exe をダブルクリックして起動する
  2. "ギフトID" のリストや、 "PC用URL付ギフトID" が含まれているメール本文 をテキストボックスに入力する
    • デフォルトの動作では、テキストの中から ギフトID付きの URL が含まれている行を探して、その URL を使って登録する
    • "URL ではなく ギフトID を入力" にチェックを入れると、 ギフトID とみられる 英数字16桁 のみの行を探して、その ギフトID から URL を作成して登録する
    • どちらが良いかは ギフトID を購入したサービスにもよるけれど、 ベネフィット・ステーション や デイリーPlus などで購入した場合のメールであれば、どちらでも動作するはず。 次項の補足も参照。
  3. nanaco の会員の種類と、 nanaco のログイン情報を入力する
  4. 「実行」をクリックする
  5. 新しいウィンドウ上で、 自動的に nanaco ギフトが登録されるので、 終わるまで待機する
    • 進捗や結果は (エラーが発生した場合は、そのエラー内容も) 、「進捗ログ」テキストボックスに表示される
    • 進捗ログに表示される現在実行中の ギフトID は、安全のため先頭4文字以外は * でマスクされている

どんな感じで動作するのかイメージできるような、実行状況のキャプチャー動画も下に置いておくので、ご参考まで。

nanaco ギフト テキストの作り方

"nanaco ギフト" のテキストボックスに入力する内容は、前述の通り以下の2通りの方法がある。

  • "URL ではなく ギフトID を入力" にチェックなし: テキストの中から ギフトID付きの URL が含まれている行を探して、その URL を使って登録する
  • "URL ではなく ギフトID を入力" にチェックあり: ギフトID とみられる 英数字16桁 のみの行を探して、その ギフトID から URL を作成して登録する

デイリーPlus や J's コンシェル など、 ベネフィット・ステーション系のサービスであれば、 ギフトID が記載されたメール本文をそのままコピペすれば、どちらの設定でも動作する。 (2020年5月現在)

福利厚生倶楽部などのように、 HTML ページの表で ギフトID の一覧が表示される場合は、以下のような手順で実行すれば OK。

  1. いったん表ごと Excel や Google スプレッドシート にコピペする
  2. ギフト ID の列だけ改めてコピーしなおす
  3. ツールのテキストボックスに貼り付ける
  4. "URL ではなく ギフトID を入力" にチェックを入れてる
  5. 「実行」をクリック

エラー例

  • no valid Gift URL
    • "nanaco ギフト" のテキストボックスに、有効な ギフト URL が見つかりません。
  • The number of gifts has exceeded the limit: 3
    • 体験版では、記載された数のギフトしか同時に登録できません。
  • no valid button (Probably the card number or the password is wrong)
    • おそらくログイン情報の誤りが原因で、想定されたボタンが表示されません。 (※1)
  • no valid button (Probably the gift is already registered)
    • おそらくすでに登録済みのギフトIDの登録が原因で、想定されたボタンが表示されません。 (※1)

※1: 詳細オプションの設定で、エラーを無視して続行することも可能です。
詳細オプションは、ウィンドウを一番下にスクロールしたところに存在します。

高度な設定

入力が早すぎて表示の処理が追いつかずにエラーとなる場合がある。
そのときは、 --step-waiting オプションに実行後とのウェイトタイム (単位: ms) を指定すると、うまく動くようになる場合がある。

設定例:

nanaco-gift-registerer-gui.exe --step-waiting=1000

余談

以降は、使う上では全く必要の無い情報。

技術的には、 Electron で GUI のガワを作り、 Puppeteer で Electron 内のブラウザウィンドウを操作して、 nanaco ギフトを自動登録させている。
このため、 PowerShell 版とは異なり、別途 Selenium の Driver 等をインストールする必要は無い。

ただし、 nanaco ギフトの登録ページをそのまま操作させると、新しいウィンドウが勝手に開いてしまったりして、処理するうえで色々やりづらかったので、 nanaco ギフトの登録ページの一部をローカル側で書き換えて、ポップアップウィンドウが表示されないよう少し細工している。

技術的には Linux や macOS でも動かせるとは思うのだけれど、 Linux を触るような人には PowerShell 版で十分だと思うし、 macOS は持ってなくて試せない上、 Electron で色々配慮しなくてはならないことが多くて面倒なので、これらの OS 向けにはビルド済みバイナリは用意していない。
macOS ユーザーもきっと CUI 慣れしているような "プロ" ユーザーばっかりでしょ (偏見)

ちなみに、 ソースコードは以下のリポジトリに置いてある。 ライセンスは MIT だ。
……言いたいことはわかるね?
https://github.com/advanceboy/nanaco-gift-registerer-gui

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください