実現したいこと
import
1from discord import app_commands 2 3TOKEN = "トークン 4 5intents = discord.Intents.default() 6client = discord.Client(intents=intents) 7tree = app_commands.CommandTree(client) 8 9@client.event 10async def on_ready(): 11 await tree.sync() 12 13client.run(TOKEN) 14 15@tree.command(name="ticket", description="チケットを作成") 16@discord.app_commands.default_permissions( 17 administrator=True 18) 19async def create_ticket(interaction: discord.Interaction): 20 channel = client.get_channel(interaction.channel_id) 21 embed = discord.Embed( 22 title="", 23 color=0x178CE6, 24 description="", 25 ) 26 embed.set_footer(text="Made by Spicy │2023/08/25") 27 embed.add_field(name="チケット",value="お問い合わせはこちらからチケットを発行してください!") 28 await channel.send(embed=embed) 29 # チケット作成ボタンの表示 30 view = discord.ui.View() 31 button = discord.ui.Button(style=discord.ButtonStyle.primary, label="チケットを作成", custom_id="create_ticket") 32 view.add_item(button) 33 await interaction.channel.send("", view=view) 34 @client.event 35async def on_interaction(inter: discord.Interaction): 36 try: 37 custom_id = inter.data["custom_id"] 38 if custom_id == "create_ticket": 39 #ここにチケットを作成ボタンを押したときの動作を記述 40 ticket_owners = {} 41@client.event 42async def on_interaction(inter: discord.Interaction): 43 try: 44 custom_id = inter.data["custom_id"] 45 if custom_id == "create_ticket": 46 # create_ticketの処理 47 server = inter.guild 48 49 # ユーザーが既にチケットを持っている場合は処理を終了 50 if inter.user.id in ticket_owners.values(): 51 await inter.response.send_message("既にチケットが存在します。", ephemeral=True) 52 return 53 54 # プライベートチャンネルを生成 55 overwrites = { 56 server.default_role: discord.PermissionOverwrite(read_messages=False), 57 server.me: discord.PermissionOverwrite(read_messages=True), 58 inter.user: discord.PermissionOverwrite(read_messages=True) 59 } 60 channel_name = f"チケット-{inter.user.name}" 61 channel = await server.create_text_channel(name=channel_name, overwrites=overwrites) 62 63 ticket_owners[channel.id] = inter.user.id 64 65 await channel.send(f"{inter.user.mention} チケットが作成されました!") 66 67 ticket_message = f"チケットが作成されました!\n{channel.mention}" 68 69 await inter.response.send_message(ticket_message, ephemeral=True) 70 71 # チケットチャンネルに削除ボタンを表示 72 view = discord.ui.View() 73 button = discord.ui.Button(style=discord.ButtonStyle.danger, label="チケットを削除", custom_id="delete_ticket") 74 view.add_item(button) 75 await channel.send("", view=view) 76 ticket_owners[channel.id] = inter.user.id 77 elif custom_id == "delete_ticket": 78 # delete_ticketの処理 79 channel = inter.channel 80 81 # チケットチャンネルを削除 82 await channel.delete() 83 84 # チケット保持者の辞書から削除 85 del ticket_owners[channel.id]
発生している問題・分からないこと
エラーメッセージ
error
1File "/private/var/mobile/Containers/Shared/AppGroup/8375FEF2-1276-42D0-908F-3A85DC925299/Pythonista3/Documents/discord認証_1.py", line 36 2 async def on_interaction(inter: discord.Interaction): 3IndentationError: unexpected unindent 4
該当のソースコード
unexpected
1async def on_interaction(inter: discord.Interaction):
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
調べても見つからなかった
補足
特になし