Discord.py ephemeralメッセージの編集
解決したいこと
Discord.pyでEphemeralメッセージを編集したい
DiscordのTicketBotを作成しているのですが、Embedを使ったephemeralメッセージ
発生している問題・エラー
Traceback (most recent call last):
File "C:\Users\galle\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\discord\ui\view.py", line 427, in _scheduled_task
await item.callback(interaction)
File "c:\Users\galle\Downloads\ploxhost\main.py", line 163, in close_ticket
await msg.edit(embed=new_embed)
^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'edit'
または、問題・エラーが起きている画像をここにドラッグアンドドロップ
該当するソースコード
@discord.ui.button(label='🔐¦チケットを終了', style=discord.ButtonStyle.red, row=1, custom_id='close_ticket')
async def close_ticket(self, interaction: discord.Interaction, button: discord.ui.Button):
embed=discord.Embed(title='チケット終了', color=discord.Colour.red())
embed.add_field(name='', value='5秒後に自動でチケットを削除します。\nキャンセルしたい場合は下のボタンからキャンセルしてください。')
msg=await interaction.response.send_message(embed=embed, ephemeral=True, view=Close_cansel())
print(msg)
await asyncio.sleep(5)
check=[]
with open('ticket_close', 'r', encoding='UTF-8') as file:
for i in file:
i=i.replace('\n', '')
check.append(i)
if str(interaction.channel.id) in check:
check.remove(f'{interaction.channel.id}')
with open('ticket_close', 'w', encoding='UTF-8') as file:
for i in check:
file.write(f'{i}\n')
new_embed = discord.Embed(title='チケット終了', color=discord.Colour.red())
new_embed.add_field(name='', value='新しい内容をここに追加します。\nキャンセルしたい場合は下のボタンからキャンセルしてください。')
# メッセージを編集
await msg.edit(embed=new_embed)
0