Skip to content

About

Discord で Bot にメンションして「テプラ (TEPRA)」でラベル印刷。Windows向け

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

DiscordTepraBot

DiscordTepraBot — Discord からテプラをカンタン印刷!

Discord で Bot にメンションすると、キングジムのラベルプリンター「テプラ (TEPRA)」からテキストや QR コードのラベルを印刷できる Bot です。

「印刷したい文字を Discord に投げるだけ」で、その場にいなくてもラベルが出力できます。

@TepraBot 会議室A
@TepraBot qr https://example.com 読み取ってね

⚠️ 動作には常時起動できる Windows PC が必要です。 この Bot は、キングジム公式の Windows 用ラベルソフト「TEPRA Label Editor SPC10」と連携して印刷する仕組みです。そのため、Bot と SPC10 を動かす Windows PC が常に必要で、クラウド上やスマホ単体だけでは動作しません。印刷したいときに、その PC の電源が入っている必要があります。

システム構成

DiscordTepraBot のシステム構成図

Discord に送ったメッセージが、PC 上の Bot → テプラ用ソフト (SPC10) → テプラ本体 と流れてラベルとして印刷され、最後に Discord へ完了通知が返ります。


目次


できること

  • 💬 テキスト印刷 — メンションした文字をそのままラベルに印刷
  • 📏 テープ幅の指定 — 9mm / 12mm / 18mm を選択(設定は記憶されます)
  • 🔳 QR コード印刷 — URL などを QR コードにして印刷
  • 🔳+💬 QR コード+テキスト印刷 — QR コードの横に説明文を添えて印刷
  • 🛡 文字数チェック — QR コードに入りきらない場合は印刷せず警告
  • ❓ ヘルプ表示 — @TepraBot help でコマンド一覧を表示

動作に必要なもの

この Bot は Windows PC 上で動かすことを前提にしています。以下が必要です。

必要なもの 説明
Windows PC 常時起動できると便利です(印刷したいときに電源が入っている必要があります)
テプラ本体(PC 接続対応機種) USB または Bluetooth で PC に接続し、印刷できる状態にしておきます
TEPRA Label Editor SPC10 キングジム公式の無料 PC ラベルソフト。公式ダウンロードページから入手します
Node.js この Bot を動かすための実行環境(STEP 1 でインストールします)
Discord アカウントとサーバー Bot を招待するサーバーの管理権限が必要です

メモ: テプラ本体と SPC10 ソフトで、実際に手動印刷ができる状態になっていることを先に確認しておくと、後の手順がスムーズです。

対応しているテプラ(プリンター)

この Bot は PC ラベルソフト SPC10(テプラ クリエイター)が対応している「テプラ」PRO 機種であれば利用できます。SPC10 で印刷できる機種=この Bot でも使える機種、という関係です。

現在 SPC10 が対応している主な機種は以下の通りです(キングジム公式情報より)。

SR-R7900P / SR5900P / SR-R680 / SR670 / SR-R5600P / SR5500P
SR3900P / SR3700P / SR3500P / SR-R980 / SR970 / SR950 / SR750
SR-R560 / SR550 / SR530 / SR-MK2 / テプラ Grand WR1000  など

接続方法(USB / Bluetooth)

PC とテプラの接続は、印刷を担う SPC10 側の対応に従います。USB 接続はもちろん、Bluetooth での PC 印刷に対応している機種(SR-R7900P / SR5900P / SR-R5600P など)であれば、Bluetooth 接続でも利用できます。 あらかじめ SPC10 でそのテプラに印刷できる状態(ペアリング・プリンター選択)にしておけば、この Bot は接続方法を意識せずそのまま動作します。

✅ 動作確認済み: 本 Bot は 「テプラ」PRO SR-R5600P で制作・テストしています。

対応機種は将来変わる可能性があります。最新の正確な一覧は必ずキングジム公式のSPC10ページでご確認ください。お使いの機種が SPC10 に対応していれば、この Bot でも問題なく動作するはずです。


セットアップ手順

エンジニアでなくても進められるよう、順番に説明します。上から順に進めてください。

STEP 1. Node.js をインストール

  1. Node.js 公式サイト を開きます。

  2. 「LTS」 と書かれた方のボタンをクリックしてインストーラーをダウンロードします。

  3. ダウンロードしたファイルを実行し、基本的に「次へ」を押し続けてインストールします。

  4. インストールできたか確認します。スタートメニューで「PowerShell」または「コマンドプロンプト」を開き、次を入力して Enter:

    node -v

    v20.x.x のようにバージョンが表示されれば成功です。

STEP 2. このプロジェクトをダウンロード

GitHub のページ右上あたりにある緑色の 「Code」ボタン → 「Download ZIP」 をクリックしてダウンロードし、好きな場所(例: ドキュメント)に解凍します。

Git を使い慣れている場合は git clone でも構いません。

STEP 3. Discord Bot を作成する

Bot 本体を Discord 側で作成し、「トークン」という鍵を取得します。

  1. Discord Developer Portal を開き、Discord アカウントでログインします。
  2. 右上の 「New Application」 をクリック。好きな名前(例: TepraBot)を入力して作成します。
  3. 左メニューの 「Bot」 を開きます。
  4. 「Privileged Gateway Intents」 の項目にある MESSAGE CONTENT INTENT を オンにして保存します(⚠️ これをオンにしないとメッセージを読めず動きません)。
  5. 同じ「Bot」ページの上部にある 「Reset Token」 をクリックし、表示された文字列(トークン)を コピーします。
    • このトークンは STEP 5 で使います。 メモ帳などに一時的に貼り付けておいてください。
    • ⚠️ トークンは絶対に他人に見せない・SNS やスクショに載せないでください。 パスワードと同じです。

STEP 4. Bot を自分のサーバーに招待する

  1. 左メニューの 「OAuth2」 を開きます。
  2. 「OAuth2 URL Generator」 の SCOPES で bot にチェック。
  3. 下に出てくる BOT PERMISSIONS で、最低限 Send Messages(メッセージ送信)にチェックを入れます。
  4. 一番下に生成された URL をコピーしてブラウザで開き、Bot を追加したいサーバーを選んで招待します。

これでサーバーのメンバー一覧に Bot(オフライン状態)が表示されます。

STEP 5. 設定ファイル (.env) を作成する

トークンなどの秘密情報は、.env というファイルに書いて管理します(このファイルは GitHub には公開されません)。

  1. 解凍したフォルダの中にある .env.example をコピーして、同じ場所に貼り付けます。

  2. コピーしたファイルの名前を .env に変更します(先頭がドットのみのファイル名です)。

  3. .env をメモ帳で開き、次のように編集します。

    # STEP 3 でコピーしたトークンを貼り付け
    DISCORD_TOKEN=あなたのトークン
    
    # SPC10.exe の場所(ダブルクォートで囲まない)
    TEPRA_EXE=C:\Program Files (x86)\TEPRA Label Editor SPC10\SPC10.exe
    • TEPRA_EXE は、お使いの PC に SPC10 がインストールされている場所に合わせて書き換えてください。
    • SPC10.exe の場所が分からない場合は、デスクトップの SPC10 ショートカットを右クリック →「プロパティ」→「リンク先」で確認できます。

STEP 6. 必要なパッケージをインストール

  1. 解凍したフォルダを開きます。

  2. フォルダのアドレスバーに powershell と入力して Enter すると、そのフォルダで PowerShell が開きます。

  3. 次を実行します(少し時間がかかります)。

    npm install

    エラーなく終われば準備完了です。

STEP 7. テプラのテンプレートを準備する

この Bot は、印刷レイアウトを SPC10 のテンプレートファイル (.lw1) から読み込みます。templates/ フォルダにサンプルが入っていますが、テプラの機種やテープの設定によってはそのまま使えないことがあります。 その場合は SPC10 で作り直してください。

ファイル名 用途
Text_H9 / H12 / H18.lw1 テキスト印刷用(9 / 12 / 18mm)
QR_H9 / H12 / H18.lw1 QR コードのみ(9 / 12 / 18mm)
QR_Text_H9 / H12 / H18.lw1 QR コード+テキスト(9 / 12 / 18mm)

作り直す場合のポイント:

  • 流し込み印刷の機能を使い、データ欄の A1 セルが本文(またはQRデータ)に対応するように作ります。
  • QR+テキストのテンプレートは、A1 に QR データ、B1 にテキストが流し込まれます。
  • ファイル名は上表とまったく同じ名前で templates/ フォルダに保存してください(Bot がファイル名で判別しています)。
  • 9mm など細いテープで QR が読み取りにくいときは、SPC10 側で QR のモード(バージョン) を上げると改善する場合があります(その分、入る文字数は減ります)。

流し込み印刷の作り方は キングジム公式FAQ が参考になります。

STEP 8. Bot を起動する

一番かんたんなのは、フォルダ内の Bot起動.bat をダブルクリックする方法です(内部で pm2 を使います。初回は下の「補足」を参照)。

または PowerShell から直接起動することもできます:

npm start

Discord 側で Bot がオンラインになり、コンソールに ログイン: TepraBot#0000 のように表示されれば成功です。試しにサーバーで @TepraBot help と送ってみてください。

補足(バッチファイルを使う場合): Bot起動.bat などは常駐管理ツール pm2 を利用します。初回のみ PowerShell で npm install -g pm2 を実行して pm2 をインストールしておいてください。npm start で直接起動する場合は pm2 は不要です(ただしその PowerShell を閉じると Bot も止まります)。


使い方(コマンド一覧)

すべて Bot へのメンション付きで送信します。

@TepraBot 印刷したい文字            ← テキストを印刷
@TepraBot 12mm 印刷したい文字        ← テープ幅を指定して印刷(以後12mmが既定に)
@TepraBot 18mm                     ← 既定のテープ幅だけ変更

@TepraBot qr https://example.com                    ← QRコードのみ
@TepraBot qr https://example.com 読み取ってね         ← QRコード+テキスト
@TepraBot qr "https://example.com/a b" "読み取って ね" ← スペースを含む場合は " で囲む

@TepraBot help                     ← コマンド一覧を表示(h でもOK)

QR コードの文字数制限

QR コードに入る文字数はテープ幅ごとに上限があります。超えた場合は印刷せずにお知らせします。

テープ幅 最大文字数
9mm 32文字
12mm 46文字
18mm 122文字

この上限はテンプレートの QR モードに合わせた目安です。テンプレートを作り直した場合は、index.js 内の QR_CHAR_LIMITS の数値も合わせて調整してください。


PC 起動時に自動で立ち上げる

PC を再起動しても Bot が自動で立ち上がるようにできます。付属のバッチファイルをダブルクリックするだけです。

ファイル 動作
Bot起動.bat Bot を起動する
Bot停止.bat Bot を停止する
Bot再起動.bat Bot を再起動する
自動起動登録.bat PC 起動時に Bot が自動で立ち上がるよう登録する
自動起動削除.bat 自動起動の登録を削除する

これらは pm2 を利用します。事前に npm install -g pm2 が必要です。

pm2 コマンドで手動操作する場合
pm2 start index.js --name tepra-bot   # 起動
pm2 stop tepra-bot                     # 停止
pm2 restart tepra-bot                  # 再起動
pm2 list                               # 状態確認
pm2 save                               # 現在の状態を保存

困ったときは(トラブルシューティング)

症状 確認すること
Bot がオンラインにならない .env の DISCORD_TOKEN が正しいか。STEP 3-4 の MESSAGE CONTENT INTENT がオンか。
メンションしても反応しない Bot にメッセージ送信権限があるか。@TepraBot help で試す。
DISCORD_TOKEN が設定されていません と出て終了する .env ファイルが作成され、トークンが記入されているか。
TEPRA の実行ファイルが見つかりません と警告が出る .env の TEPRA_EXE のパスが正しいか(ダブルクォートで囲まない)。
反応はあるが印刷されない SPC10 で手動印刷できるか。テプラの電源・接続・テープ残量を確認。テンプレートのファイル名が正しいか。
QR が読み取れない STEP 7 の通り、SPC10 で QR のモード(バージョン)を調整。

セキュリティについて

  • .env は絶対に GitHub に公開しないでください。 本プロジェクトの .gitignore で除外済みです。
  • 万が一トークンを公開してしまった場合は、Developer Portal の Bot ページで 「Reset Token」を押してすぐに再発行してください(古いトークンは無効になります)。
  • 公開してよいのはコード類のみです。.env / data/text.csv / data/settings.json はコミットされません。

ライセンス

MIT License の下で公開しています。自由に利用・改変・再配布できます。

About

Discord で Bot にメンションして「テプラ (TEPRA)」でラベル印刷。Windows向け

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages