Telegramを使ってQRコードを簡単にスキャン!
このリポジトリには、QR コードをスキャンする Telegram Mini アプリである @easyqrscanbot のコードが含まれています。
Telegram アプリが更新されていることを確認してください。Telegram API の最小必要バージョンは6.9
です。
@easyqrscanbot
を検索し、プライベート チャットを開始します。Scan QR
) をタップします。 QR コード スキャナーは、Telegram API バージョン6.9
以降の Telegram スマートフォン クライアント (Android および iOS) でサポートされています。残念ながら、QR スキャンは Telegram Web クライアントでは利用できません。ただし、Web クライアント上のミニ アプリにアクセスしてスキャン履歴を確認することはできます。
このプロジェクトは、Vue などの最新の JavaScript フレームワークを使用して Telegram ミニ アプリを作成する例として機能します。また、Telegram API バージョン 6.9 で導入された次のような最新機能を活用する方法も示します。
このプロジェクトは、Telegram Cloud Storage バックエンドを使用して取得したスキャンを保存する純粋な Vue フロントエンド アプリケーションを表します。
デプロイメントプロセスは、GitHub Actions を使用して完全に自動化されています。 master
ブランチにプッシュするたびに、ミニ アプリが自動的に構築され、関連する GitHub Pages サイトにデプロイされます。
ここからミニ アプリにアクセスします: ミニ アプリ リンク。
プロジェクトを開始するには、次の手順に従います。
git clone https://github.com/MBoretto/easy-qr-scan-bot.git
cd easy-qr-scan-bot
npm install
npm run build
コードのリンティングを実行するには、次のコマンドを使用します。
npm run lint
コーディングを楽しんでください!
始める前に、Telegram Bot があることを確認してください。まだお持ちでない場合は、この Telegram ガイドを使用して作成できます。
独自のミニアプリをデプロイする場合は、次の手順に従います。
このリポジトリのクローンを作成します。
Settings
-> Pages
-> [ソースとしてGitHub Actions
選択] に移動して、リポジトリの GitHub Pages を有効にします。 GitHub は、リポジトリに関連付けられた GitHub ページにミニ アプリを自動的にデプロイします。
https://
サポートするホスティング サービスを使用してミニ アプリを展開することも選択できます。
これは、Telegram Bot Menu を 1 回だけ構成する必要があるため、ミニ アプリを開始する最も簡単な方法です。ミニアプリをボットメニューにリンクする手順は次のとおりです。
/mybots
を送信します。これで、Telegram ボット メニューからミニ アプリを起動できるようになりました。
この方法は開発段階で役立ち、Telegram Bot Menu を再構成せずにミニ アプリに別の URL を指定できます。ただし、Telegram ボット サービスが実行されている必要があります。次の手順に従います。
pip3 install python-telegram-bot --upgrade
config.py
内のconfig-example.py
の名前を変更します。 mv config-example.py config.py
config.py
ファイルを編集し、Telegram Bot Token TOKEN
(@BotFather から取得できます)、 URL
、およびURL_TEST
リンクを挿入します。
web-app-launcher.py
スクリプトを実行します。
python3 web-app-launcher.py
/start
(運用リンクの場合) または/dev
(テスト リンクの場合) をボットに送信します。これで、テスト リンクを使用してミニ アプリを起動してテストできるようになりました。
Telegram Cloud Storage は、あらゆる Telegram クライアントからアクセスできるキーと値のデータベースです。これにより、ユーザーごと、ボットごとに最大1024
のキーを保存できます。各値の制限は4096
文字です。データはユーザーの Telegram アカウントに関連付けられ、デバイス間で保持されます。 QR コードをスキャンした後、タイムスタンプをキーとして使用して生の文字列が保存されます。
ミニアプリは起動時に完全なスキャン履歴をロードし、ローカルに保存します。後続のスキャンは、Telegram Cloud Storage とローカルの両方に保存されます。
取得された生データは、QR コードの内容に従って情報を抽出するために操作されます。サポートされている QR コード コンテンツ タイプ:
履歴タブで削除したいQRコードを展開し、 Bin
ボタンを押します。このアクションにより、Telegram クラウド ストレージとローカル ストレージの両方から QR コードが削除されます。ミニアプリは他のデータを保存せず、Cookie も使用しません。
QR コード スキャナは通常、コードを認識した後に閉じます。ただし、設定タブに移動してContinuous Scan
ボタンを押すと、連続スキャン モードを有効にすることができます。連続スキャン モードを無効にするには、ボタンをもう一度押します。左上の矢印を押すと、連続モードを終了できます。
QR コードのスキャンに成功すると、デバイスが振動してフィードバックを提供します。
ミニアプリの設定セクションには、デバッグと開発に役立つツールがあります。
Sync Cloud Storage
ボタン: これは、ミニ アプリのローカル ストレージを Telegram クラウド ストレージと同期します。これは、ミニ アプリを開いたり閉じたりするのと同じです。Enrich QR codes
ボタン: すべてのスキャンに対して生の QR コードの計算をトリガーします。Show debug
を有効にすると、次のように表示されます。このプロジェクトでは、Vue コンポーネント フレームワーク ライブラリである Vuetify を利用します。
コードは MIT ライセンスに基づいて配布されています