サーバーごとにカスタム管理者の役割を取得できませんdiscord.py

Lysander12 PT

管理コマンドにアクセスできる役割を変更できる「システム」を作ろうとしていますが、どうすればよいかわからないというエラーが表示されます。

コード:

def get_prefix(client, message):
    with open("prefixes.json", 'r') as f:
        prefixes = json.load(f)
    return prefixes[str(message.guild.id)]


@bot.command(name="changeadminrole", help="Choose the role that can execute admin commands")
async def changeadmin(ctx, role: Role):
    with open("admins.json", 'r') as f:
        admins = json.load(f)

    admins[str(ctx.guild.id)] = role.name

    with open("admins.json", 'w') as f:
        json.dump(admins, f, indent=4)

    await ctx.send(f"Admin role changed to {role.mention}")

次に、人々が必要な役割を持っているかどうかを確認するために、私はこれを行います:

@bot.command(name="kick", help="Kicks a member from the server")
@commands.has_role(get_adminrole)

私にはこのエラーが発生する役割があります。

discord.ext.commands.errors.MissingRole: Role <function get_adminrole at 0x03977220> is required to run this command.

Idkなぜ<function get_adminrole at 0x03977220>admins.jsonファイルに存在するロール名の代わりにその()を取得するのですか?

{
    "506201000374435850": "Absolute Admin"
}

助けていただければ幸いです。

アブデュルアズィーズ

これが私がそれをするために使用したコード全体です。

ここで、残りのコードを続行できる役割を取得しました。

@bot.command()
async def changeadmin(ctx, *, role: discord.Role):
    # Code here
    await ctx.send(f"Admin role changed to {role.mention}")

名前の代わりにロールIDを保存して、スキップrole = ....してただ実行できるようにするとよいでしょう。return admins[str(message.guild.id)]

def get_adminrole(message):
    with open("admins.json", 'r') as f:
        admins = json.load(f)
    role = discord.utils.get(message.guild.roles, name=admins[str(message.guild.id)])
    return role.id

キックコマンドの使用方法の回避策は次のとおりです

@bot.command()
async def kick(ctx):
    admin_role_id = get_adminrole(ctx)
    if ctx.author not in ctx.guild.get_role(admin_role_id).members:
        await ctx.send("You are not an Admin")
        return

    # code here

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

(discord py)サーバーを参照できません

分類Dev

discord.py-ユーザーのアバターの平均色を取得できません

分類Dev

Discordサーバーでメッセージ作成者のタイムゾーンを取得するにはどうすればよいですか?(discord.py)

分類Dev

discord.pyは作成者のメッセージを削除できません

分類Dev

discord.pyは作成者のメッセージを削除できません

分類Dev

ユーザーの役割discord.pyを取得する方法

分類Dev

discord.pyで役割を取得する

分類Dev

discord.py | ミュートコマンドを作成すると、メンバー名を取得できません

分類Dev

discord.py | 特定のユーザーに役割を追加する

分類Dev

Discord.pyはdmをメンバーに送信できません

分類Dev

Discord.pyはカスタムステータスを取得します

分類Dev

すべてのサーバーのユーザーから役割を削除するにはどうすればよいですか?Discord.py

分類Dev

discord.pyの書き換えでサーバーIDを取得する

分類Dev

Djangoはadmin.pyのデータベースに投稿するための登録フォームを取得できません

分類Dev

Discord Musicボットを複数のサーバーで動作させますか?Discord.py(書き換え)

分類Dev

ボットがサーバーに参加したときにステータスを変更する| discord.py

分類Dev

Discord.pyカスタムエラーを書き換える

分類Dev

discord.pyの書き換えでどのように役割を割り当てますか?

分類Dev

コマンドを使用して複数のユーザーに役割を割り当てます--discord.py

分類Dev

discord.pyのdiscordサーバーからランダムなユーザーを取得します

分類Dev

discord.pyメンバーの役割に関するElseステートメントの場合

分類Dev

discord.pyを介して不和で色付きの役割を作成するとエラーが発生します

分類Dev

Discord.py:DMから言及されたユーザーの情報を取得できません

分類Dev

Discord.pyの書き換え-メンバーがサーバーでミュートされているかどうかを確認していますが、APIリファレンスに情報が見つかりません

分類Dev

discord.py:ボットのあるサーバーにいないユーザーの名前をIDから取得できますか?

分類Dev

discord.pyのキー値でAPI応答を解析するclient.commandパラメーターを取得できません

分類Dev

Discord.pyサーバーのIDを取得する方法は?

分類Dev

discord.py:ギルドからユーザーにすべての役割を追加します

分類Dev

Discord.pyオンラインで特定の役割を持つユーザーに言及する

Related 関連記事

  1. 1

    (discord py)サーバーを参照できません

  2. 2

    discord.py-ユーザーのアバターの平均色を取得できません

  3. 3

    Discordサーバーでメッセージ作成者のタイムゾーンを取得するにはどうすればよいですか?(discord.py)

  4. 4

    discord.pyは作成者のメッセージを削除できません

  5. 5

    discord.pyは作成者のメッセージを削除できません

  6. 6

    ユーザーの役割discord.pyを取得する方法

  7. 7

    discord.pyで役割を取得する

  8. 8

    discord.py | ミュートコマンドを作成すると、メンバー名を取得できません

  9. 9

    discord.py | 特定のユーザーに役割を追加する

  10. 10

    Discord.pyはdmをメンバーに送信できません

  11. 11

    Discord.pyはカスタムステータスを取得します

  12. 12

    すべてのサーバーのユーザーから役割を削除するにはどうすればよいですか?Discord.py

  13. 13

    discord.pyの書き換えでサーバーIDを取得する

  14. 14

    Djangoはadmin.pyのデータベースに投稿するための登録フォームを取得できません

  15. 15

    Discord Musicボットを複数のサーバーで動作させますか?Discord.py(書き換え)

  16. 16

    ボットがサーバーに参加したときにステータスを変更する| discord.py

  17. 17

    Discord.pyカスタムエラーを書き換える

  18. 18

    discord.pyの書き換えでどのように役割を割り当てますか?

  19. 19

    コマンドを使用して複数のユーザーに役割を割り当てます--discord.py

  20. 20

    discord.pyのdiscordサーバーからランダムなユーザーを取得します

  21. 21

    discord.pyメンバーの役割に関するElseステートメントの場合

  22. 22

    discord.pyを介して不和で色付きの役割を作成するとエラーが発生します

  23. 23

    Discord.py:DMから言及されたユーザーの情報を取得できません

  24. 24

    Discord.pyの書き換え-メンバーがサーバーでミュートされているかどうかを確認していますが、APIリファレンスに情報が見つかりません

  25. 25

    discord.py:ボットのあるサーバーにいないユーザーの名前をIDから取得できますか?

  26. 26

    discord.pyのキー値でAPI応答を解析するclient.commandパラメーターを取得できません

  27. 27

    Discord.pyサーバーのIDを取得する方法は?

  28. 28

    discord.py:ギルドからユーザーにすべての役割を追加します

  29. 29

    Discord.pyオンラインで特定の役割を持つユーザーに言及する

ホットタグ

アーカイブ