前提・実現したいこと
discord.pyで現在、ユーザーがコマンドで入力した名前のロールを作成する
Botを作成しています
コマンド例 .!rolecreate test でTestという名前のロールが作成されるように組んでいたのですが、作成しようとコマンドを入力するとエラーが発生します
発生している問題・エラーメッセージ
Traceback (most recent call last): File "C:\Users\oboro\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\ext\commands\bot.py", line 903, in invoke await ctx.command.invoke(ctx) File "C:\Users\oboro\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\ext\commands\core.py", line 859, in invoke await injected(*ctx.args, **ctx.kwargs) File "C:\Users\oboro\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\ext\commands\core.py", line 94, in wrapped raise CommandInvokeError(exc) from exc discord.ext.commands.errors.CommandInvokeError: Command raised an exception: NameError: name 'get' is not defined
該当のソースコード
Python
1@client.command(pass_context=True) 2async def rolecreate(ctx): 3 author = ctx.message.author 4 #コマンドから文字を分解してロールの名前を取得 5 role_name = ctx.message.content.lower().split("!rolecreate ", maxsplit=1)[1] 6 #そのロール名が既に存在するかどうかを確認 7 check_for_duplicate = get(ctx.message.server.roles, name=role_name) 8 if check_for_duplicate is not None: #そのロールが存在しない場合 9 #ロールを作成する 10 role = await client.create_role(author.server, name=role_name, colour=discord.Colour(0x0000FF)) 11 await client.add_roles(author, role) 12 else: 13 client.send_message(ctx.message.channel, "That role already exists")
補足情報(FW/ツールのバージョンなど)
discordbot作成初心者のためわかりやすく解説・改変コードを教えて頂けると
幸いです
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/12/06 22:38
退会済みユーザー
2020/12/06 22:45 編集
2020/12/07 08:59
退会済みユーザー
2020/12/11 00:29