Skip to content

usagi917/Discord_auto_rolebot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

Discord 自動ロール付与bot

概要

このBotは、指定したユーザーに順次ロールを自動で付与するDiscordボットです。MEE6などの初期ロールが付与されたことをトリガーに、その後のロールを自動的に時間間隔を開けて付与します。このBotはPythonのdiscord.pyライブラリを利用しています。

必要な設定

  1. Pythonとライブラリのインストール

    • Python 3.8以上がインストールされていることを確認してください。
    • discord.pyライブラリをインストールするには、以下のコマンドを実行します:
      pip install discord.py
    • pytzライブラリも必要です。以下のコマンドでインストールしてください:
      pip install pytz
  2. Botトークンの取得

  3. ロールIDの設定

    • role_idsinitial_role_idに各ロールのIDを設定する必要があります。
    • role_idsは、順次付与したいロールのIDを順番にリストとして設定します。
    • initial_role_idは、初期ロールとして付与されるロールのIDを設定します。
    • 各ロールIDの取得方法については、Discordの開発者モードを有効にし、サーバー内の各ロールを右クリックして「IDをコピー」を選択してください。

使用方法

  1. Botの起動

    • コードをPythonで実行してBotを起動します:
      python app.py
    • Botは指定されたトークンでDiscordサーバーに接続し、ロールの付与処理を行います。
  2. ロールの自動付与の流れ

    • メンバーがinitial_role_idのロールを付与された際、設定されたタイミングで次々にrole_idsのロールが付与されます。
    • それぞれのロールは、指定された時間(例:1日と18時間後など)の遅延をもって順次付与されます。

コードの仕組み

  • ロール付与の監視 (on_member_update)

    • on_member_updateイベントはメンバーのロールが変更された際に呼び出されます。
    • 初期ロールが付与されたタイミングで次のロールを順次付与するプロセスを開始します。
  • ロールの付与 (give_role)

    • give_role関数は指定されたロールIDを使ってメンバーにロールを付与します。
    • ロール付与中にエラーが発生した場合には、コンソールにエラーメッセージを表示します。
  • ロール付与のタイミング制御 (start_role_assignment)

    • start_role_assignment関数は指定した遅延時間後に次のロールを付与します。
    • 初期ロールからの時間や、それぞれの次のロールまでの遅延時間を設定し、順次実行します。

注意事項

  • Botを実行するためには、対象のDiscordサーバーで適切な権限(ロール管理権限など)が必要です。
  • ロールIDを設定する際には、必ず正しいIDを使用してください。不適切なIDを設定すると、ロールが見つからないエラーが発生します。
  • discord.pyライブラリのバージョンによっては、コードの修正が必要な場合があります。discord.py v2.0以上の場合は注意してください。

トラブルシューティング

  • Botがオンラインにならない: Botトークンが正しいか確認してください。また、Botがサーバーに追加されていることを確認してください。
  • ロールが付与されない: 設定したロールIDが正しいか、Botにロール管理の権限があるか確認してください。
  • エラーメッセージ: コンソールに出力されるエラーメッセージを確認し、適切に対応してください。

ライセンス

このプロジェクトはMITライセンスの下で公開されています。自由に使用・修正が可能です。

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages