💰Discord Tebex Bot [日本語]

Tebex支払い確認Botの紹介ページです。

簡単に支払いが確認できる!

このBotの主な機能:

  • Transaction IDから支払い情報を照会

  • Tebexユーザーネームから支払い情報を照会

  • 商品の一覧を取得

  • 最近の支払い情報を照会

  • 支払い URLを作成

  • スラッシュコマンドに対応

  • Embedメッセージに対応

支援してくれる方々とやり取りする際、いつもその支払いがしっかりと完了しているのか確認するのが面倒でした。Tebexには Tebex Bot をつかってロールを付与することができる機能が実装されていますが、これにはいくつか問題があります:

  1. ロールを付与されるには先にDiscordサーバーに入っておく必要がある

  2. お金を払ってからサーバーに入った場合、/claimをする必要がある

これを解決するためにDiscord Botを開発しました。

このリポジトリにはMainブランチのほかにJapaneseブランチもあります。このブランチをフォークしてデプロイすると、このBotの日本語版が使用できます。ここに書かれていることと若干ことなりますが、大枠の機能は全く同じです。

コマンド一覧

/verify [Transaction ID]

決済をしたときにTebexから自動的に送られてくるTransaction IDを使って支払い情報を照会できます。メールに自動的に送られてくるので、支援者に頼んで送ってもらってください。

このコマンドで照会できるもの:

  • 支払いの状態 (complete / incomplete)

  • 支払いの価格

  • 日付と時刻

  • Tebexユーザーネーム

  • 商品名

/search [Tebex Username]

Tebexユーザーネームから情報を照会できます

このコマンドで照会できるもの:

  • ユーザーネーム

  • Ban 回数

  • 返金率

  • 合計購入金額

  • 最近の支払い

/products

商品の一覧を出力します

products command

/createurl [package ID] [Tebex Username]

決済URLを作ります。このURLはクリックすると自動的にそのユーザーの買い物かごに商品をいれてくれます。買い方がわからないときに有用です。

createurl

/recentpayments

直近25件の支払い情報を照会します

recent payments

デプロイの仕方

このリポジトリはBotのソースコードで、ここからデプロイしないとBotとして使うことができません。このBotをホストする方法としては2つあります

  1. IaaS(such as Heroku, Railway) のレンタル鯖を使ってホストする(おすすめ)

  2. 自分のサーバー またはパソコンでホストする

これはBotで常時オンラインにしておくことが望ましいので、FiveMと同じサーバーでホストすることはお勧めできません。私は個人的にIaaSである Railway.app を使用しています。このコードはIaaSを使うこと前提で書いてあるので、Dockerfileから手軽にデプロイできて便利です。

デプロイする前に

1. トークンを取得

Discord Developer Portal でボットを作り、鯖に招待しましょう。

この時に message intent と applications.commands を有効にする必要があります。

Botを作ったあと、Botタブから

bot tab

Message Content Intentを有効にしましょう

message content intent

OAuth2タブに行き、URL Generatorを開きます。権限の設定をします。

auth2 gen
bot permissions

2. 管理者のロールIDを取得

サーバーの管理画面から、Discordの開発者モードをONにした状態でロールIDを取得します。普段お客様の対応を担当している人のロールIDもお忘れなく。

3. tebex シークレットキーを取得

下記サイトを参考に、シークレットキーを生成してください。

https://docs.tebex.io/creators/faq

✔ これでデプロイの準備が整いました

リポジトリをフォークして (またはダウンロードして) .envファイルを編集してください。これを公開リポジトリとしてフォークして編集するとDiscordからトークンを無効化されます。Railwayの"Service variables"を使うか、非公開のリポジトリとしてフォークしてください。

DISCORD_TOKEN=TOTALLYVALIDTOKEN1234
TEBEX_SECRET=NOTSOSECRETKEY
ADMIN_ROLE_IDS=1234,2345,3456,4567

この後、ローカルでホストするかIaaSでホストするか選んでください。

IaaSを使う場合

リポジトリから自動的にデプロイできるようにしてあります。Dockerfileを使用してデプロイをしてください。使うIaaSによりますが、勝手に全て作業をしてくれるはずです。

ローカルでホストする場合

pyinstallerを使ってコンパイルをしてください https://pyinstaller.org/en/stable/

Done!

技術的な情報

このBotはコマンドが使用されたときにHTTPリクエストをTebex APIに送ります。その結果をembedメッセージとして返します。APIはJson形式のデータを返してくれますが、それを読みやすい形にして提供します。

Support

My discord: https://discord.gg/SB3WMzbDvF

References

Tebex Plugin API: https://docs.tebex.io/plugin

License

You can do whatever you want with this. Credits are always appreciated tho.

Last updated