自動電話発信機能連携の追加

前回の便利ツール(Androidアプリ)と連携する機能を、チケットぴあ自動購入に追加しました。

使用するには、最新のインストーラをインストールする必要があります。

ヘルプメニューの「MQTT Settings」を選択すると、以下の画面が表示されます。

MQTT Brokerに接続のための情報を設定後、Connectボタン押下で、接続されます。

次に、Topicを指定します。指定後、TabキーでSubscribeボタンが有効になります。

Topicは、便利ツール(Androidアプリ)と同じにする必要があります。

試しに、Publish欄に、「tel:xxxxxxxxxxxx」(x=電話番号)を設定してPublishボタンを押下すると、便利ツールが起動状態であれば、その電話番号に発信することが確認できます。

以下は、チケットぴあ自動購入ツール自身も「tt」TopicをSubscribeしているため、送信したデータを受信しているのが分かります。

チケットぴあ自動購入の右側には、MQTTの状態が表示されており、以下の表示になっていれば、繋がった状態になります。この状態であれば、電話認証が表示されたときに、スマホと連携する動きになります。

Global interpark 自動購入が完成しました。

座席指定のチケットを扱うのが初めてだったからか、対応する画面の量がいつもの倍以上あったため、予定外の時間を費やしてしまいました。

画面遷移の仕組みも、自分は今まで出会ったことが無い作りになっていて、最初はすんなり行けそうと思っていたのですが、なぜか最後の購入完了のところでサーバに弾かれてしまい、その理由が全く分からず、仕方なく通信とブラウザ遷移のハイブリット型と言ったらよいのか、とにかく今までの形とは異なるものが出来上がりました。

動作速度については、最速にはしておらず、失敗しない速度にしています。

最後の画面遷移は入力はしていません。裏でデータは全て取得済みのため、そのデータを足しているだけです。

便利ツールv2.0.0をリリースしました。

この便利ツール(Androidアプリ)は、v1.0.0ではYahoo!ショッピングのSMS認証で、スマホに受信された認証コードをBOTに連携するツールとして、Emperor AIOで使用するためにリリースしたものです。

名前は適当です。当初はGoogle Playに登録しようかと思い、分かりやすい名称ということで選んだものですが、当方の時間的余裕が全く無いので、Google Playからのインストールではない方法でインストールするやり方を採用しています。

野良アプリをインストールするやり方をググれば色々出てきます。

APK(Androidアプリ)は、https://zatturight.com/fastbot/products/detail/38 の下の方にダウンロードリンクがあります。

LAN環境以外でも利用できるようにするため、MQTTというプロトコルを使用することにしました。以下が便利ツールアプリ画面です。

便利ツールはMQTTのクライアント側で、サーバ(Broker)はPublic Freeなところを使用することを想定しています。
個人で使用する分には、有料になることがまず無い程のリソースが用意されている以下のサーバを使用することを前提に進めていきます。
https://www.emqx.com/ja/pricing

MQTTは、世界規格統一された通信プロトコルで、LINEやDiscordなどのチャットシステムで利用されています。

MQTTを簡単に説明すると、Publish アンド Subscribe モデルで動作するマシン間接続プロトコルです。

MQTT クライアントは、MQTT を使用して MQTT サーバーへのネットワーク接続を作成するプログラムまたはデバイスであり、 ブローカー とも呼ばれます

通信が確立されると、クライアントはブローカーにメッセージを送信できるようになります。

他のクライアントは、クライアントから送信された特定のトピックに関する通知を購読できます。

Brokerとして今回利用させて頂くのが www.emqx.com 、SubscribeするだけのClientが便利ツールアプリ、PublishするだけのClientがチケットぴあ自動購入ツールとなります。

何をしたいのかというと、チケットぴあのログイン後にたまに電話認証になりますが、これを自動化したいというのが目的です。

Cloakでリストック監視を行っていると、1日に2~3回は遭遇します。手間でも認証を通しておけば、発生頻度は減ります(と思う)が、電話を掛けること自体が手間です。例え自動化させても、電話認証が出た段階で速度的に不利になることは間違いないので、電話認証が出たときは厳しいかもしれませんが、自動化によってストレスフリーになることをモチベーションとしています。

スマホ側のセットアップが完了したら、次はBroker側の準備です。

https://cloud-intl.emqx.com/console/deployments/new
上記リンクから、無料開始ボタンを押して、アカウントを作ります。

個人情報を入力する欄がありますが、クレカは登録しなくても使用できます。

無料枠は個人利用としては使いきれない程の上限幅なのでクレカを登録する必要は無いでしょう。

アカウントを作成したら、ログインします。
https://cloud-intl.emqx.com/console/

Console画面に行くと、接続先が表示されているので、便利ツールの接続先に指定します。

左側の認証メニューから、ユーザを作成して、便利ツールのユーザとパスワードを指定します。

便利ツールアプリ側でConnectボタンを押して、接続されたら、動作確認をしてみましょう。

サーバ側Consoleメニューのオンラインデバッグを開きます。Connection Nameは適当で構いません。

Topicは、便利ツールのTopicと合わせる必要があります。tel:の後に電話番号を入れてPublishボタンを押してみてください。スマホが自動的に電話発信されたら成功です。

チケットぴあ自動購入ツールの対応後に続きを書きます。

チケットぴあCloakの対応は結構きつかった

リストック監視はいつ来るのか分からない点と、今回の様に、普段出ない画面がプレミアムチケットのときだけ出現するというのがあると対応が厄介だ。

以前からCloak対応して欲しいという要望があったのだが、先着で取れば良いのでは?と思っていたが、時代はそうじゃないことに今回初めて気づいた。

転売禁止の法律が出来てから、チケットは電子的なやり取りに変わっていたのは知っていたが、流通自体も変わっているのは知らなかった。。。

今回は長期にわたってリストックし続けるという性質があったお陰で、苦労はしたが結果は残せた。

Cloakの画面にチケットがあるのは新鮮だ。。。

1枚チケットでも2枚チケットでも対応しており、2枚目は、BOTの右側に個人情報を入れておけばOK。
残件として、電話認証を自動化するAndroid用のアプリの開発が残っている。Google Playには置かずに、ローカルからインストールする形にします。
※iPhone用は作りません

次は、Global interparkを対応します。
Pythonはちょっと弄りたいときに手軽に作れるのが気持ち良い!!

エルメス人気の凄さ

エルメスの商品はバカみたいに高額だと思うが、欲しい人からすると喉から手が出るほど欲しいもののようで、欲とは?という感覚になった話をしたい。

エルメスオンラインは、先着の商品を扱っており、早い者勝ちではあるものの、グローバルIPアドレスのブロックが世界一激しいところでもある。それだけみんなが狙っているということなのだが、つい最近ユーザに成り掛けた人から色々な話を聞いて、なんか凄いことになっているなぁと思うことがあったので、隠すようなことでもないので、ダラダラ書いていく。

日本は円安真っ只中で、世界から見てもかなり割安感があり、エルメスなどのハイブランド商品も他国と比べれば圧倒的に安いのだそう。それをビジネスにしようとしているのが中国人だ。

1つ目は、人気商品がリストックされたらそれを通知することを商売にしている輩。サブスク契約で月額10,000~15,000円程度らしいが、ラッキーじゃなければまず取れないだろう。それでも通知が来てカートに入っただけでも夢見るのだそうだ。「次は取れるのではなかろうか!!」と。

2つ目は、自分たちで取ったものをTwitterで自慢しつつ、かなりの手数料を取って売り捌く輩。なんでも輩にはいくつかの組織が存在していて、序列によってその商品の色を取ってよい輩とダメな輩という括りがあるらしい。

インターネットという仕組みは、世界共通の仕様に基づいており、速度の違いはあれど誰がやっても同じ仕組みを使っていることに変わりはなく、ショートカットなどというものも存在しない。

あそこは良く取れるというものがあるとしたら、品質の良い機器や通信環境を使っている程度である。

エルメスを高く売り捌けるなら、私も本業にしたいぐらいだが、どの色が高く売れるのかなんて分かる訳ないし、そもそもハイブランドに興味が無いので、途中で飽きてしまいそうだし、モチベーションも下がってしまいそうだ。例え取れたとしても、取れるまでの経費を考えると、日本で売るのは赤字にしかならなさそうだ。

ウィルスバスターのようなウィルスチェックソフトウェアは、本来ならWindowsのチェック機構で十分なはずなのだが、未だに年間契約をしている人がいるのにも驚かされる。情弱な人たちをカモにするビジネスモデルは、情弱な日本人をターゲットにしたモデルだと言える。

今やITは生活に無くてはならないものだからこそ、知識を付けなければ日本の衰退は加速していく一方だと思う。IT技術者が学ぶ基礎知識の一部を学校教育でも必須科目にする必要があるんじゃないか?

「ここから先は、ローソンエンタテインメントが運営・管理するサイトです。」チケットに対応しました。

以下のページからローチケのチケット詳細ページに入る形式のチケットに対応しました。

最初のログインは不要で、自動購入時にローチケログイン or メアド+電話番号のビジターログインがあります。

発売前でも購入手続きを行おうとしますが、エラーが起きるので途中で止めています。

本番時は、発売後に実行するようにしてください。

ディズニーレストラン自動予約をリリースします

コロナ禍の2019年のいつかは忘れましたが、ショーレストランが営業休止状態になっていました。

先月からディズニーショーレストランが再開しているので、これを機にBOTの販売を再開します。

ディズニーレストラン予約サイトは、一見変わってないようにみえますが、ログイン周りと棒人間の登場により、自動予約で動かす部分を縮小しました。

今までは購入手続きの完了まで動かすことができましたが、色々な条件で動作確認を行ったところ、棒人間システムに関連しているからだと思うのですが、予約画面を表示後30分後に動作開始するよう設定した状況だと、なぜか「ユーザ情報確認・お支払方法選択」画面から「確認」画面への遷移ができなくなります。
予約画面を表示後、すぐに開始ボタンを押したときは問題ないため、恐らく棒人間システムによるBOT対策だと考えています。

「ユーザ情報確認・お支払方法選択」画面に来ていると、すでに座席は10分程度確保されている状態のため、ここで自動動作は停止して、以降の画面遷移は手動で行うように変更しました。

9時10時の混雑時は、ログイン時のコード認証が出ると思ってください。既に座席は確保されているので落ち着いて入力すればよいですが、それが手間と思う場合は、動作開始前にログインボタンにてログインを済ませておくと、予約手続き中にログイン画面が出ません。

ショーレストランのS席については、ほぼ確実に取れると思います。当方の通信環境において、大人2人の状態で空席がどのくらい残っているのか確認したところ、9:00:40ぐらいまではありました。

上の動画を見てもらうと、1回目は取りこぼしていますが、2回目で座席確保に成功しています。この時点で9:00:10でした。

ショーレストランは9時からの販売ですが、通常のレストランは10時になります。その中で人気なのがシェフミッキーです。

このレストランは、ディズニーランドの提携ホテルに宿泊すると、その特典としてWEBサイト予約よりも早く予約できるため、WEBサイト販売当日に空きがあるか分かりません。
当方が試したところ、
09:59:59.902(11144)[781542 msec]request
10:00:16.966(11144)[798606 msec]Finished: NO_Error(200)
予約リクエストから17秒後にやっと応答があるぐらい混雑している状況がうかがえます。このときは既に空きがありませんでした。もう少し早くアクセスしても良いのか分かりませんが、空売りという可能性もあります。

2023/08/14 追記

棒人間システムの対策をしたところ、開始時間を30分後のタイマー設定にした自動予約処理において、「ユーザ情報確認・お支払方法選択」画面から「確認」画面への遷移が正常動作したので、購入完了まで動くことを確認しました。

TIGET自動購入 v7をリリースしました。

本日、TIGET自動購入 Version7をリリースしました。まずは、動画をご覧ください。

ログを確認すると、購入開始から購入確定画面表示までの経過時間が3.3秒でした。以前のバージョンでは、画面遷移リクエストの応答が4秒ぐらい掛かる場合があり、明らかにBOT対策されていたのですが、今回は、ブラウザ操作と素の通信を混ぜました。

本日は某レストランにてリリース作業していたのですが、ノートPCであることやWi-Fiも某レストランで開放されているものなので、速度としては4~5秒掛かっていたのですが、自宅のデスクトップ+10G光の組み合わせで3秒台を記録したので、ブラウザの描画はマシンスペックに左右され、通信速度は通信速度に左右されることが改めて実感しました。

2023/06/16 追記

既存ユーザは無償アップデートなので、ガンガン使っちゃって下さい!