Не понимаю как получить сообщение в теме на форуме
Уже несколько часов пытаюсь понять. Я создал создание темы в ForumChannel через модальное окно в disnake хочу что бы жалобы на форуме проверяли только модераторы, а сам форум обычные пользователи не видели, так вот, после того как человек создает тему модератор может начать рассмотрение данной темы и я хочу что бы после сообщения в данной теме эти сообщения писались автору создания темы на форуме, я надеюсь что понятно обьяснил, если нет то задавайте вопросы, я попытаюсь более подробно расписать, вот весь код
from disnake.ext import commands
class ModalReport(disnake.ui.Modal):
def __init__(self):
components = [
disnake.ui.TextInput(
label='Введите ник нарушителя',
placeholder='Введите никнейм нарушителя',
custom_id='Никнейм нарушителя',
max_length=32
),
disnake.ui.TextInput(
label='Суть обращения',
placeholder='Введите суть обращения',
custom_id='Суть обращения',
style = disnake.TextInputStyle.paragraph,
max_length=500
),
disnake.ui.TextInput(
label='Доказательства',
placeholder='Вставьте ссылку на доказательства',
custom_id='Доказательства',
max_length=64
)
]
super().__init__(title='Создание тикета', components=components)
async def callback(self, inter:disnake.ModalInteraction):
chtosend = disnake.utils.get(inter.guild.forum_channels, name='「?」на-дискорд')
embed = disnake.Embed(title='Для модераторов', color=disnake.Colour.blue())
view = StartView()
for key, value in inter.text_values.items():
embed.add_field(
name=key.capitalize(),
value=value[:1024],
inline=False,
)
embed.set_thumbnail(url=inter.author.display_avatar)
await chtosend.create_thread(name=f'Обращение от {inter.author}', embed=embed, view=view)
await inter.send('Вы успешно создали обращение. Ожидайте его рассмотрения', ephemeral=True)
await inter.send()
class ButtonView(disnake.ui.View):
def __init__(self):
super().__init__(timeout=None)
@disnake.ui.button(label="Связаться", style=disnake.ButtonStyle.blurple, custom_id="button1")
async def button1(self, button: disnake.ui.Button, interaction: disnake.Interaction):
modal = ModalReport()
await interaction.response.send_modal(modal=modal)
class StartView(disnake.ui.View):
def __init__(self):
super().__init__(timeout=None)
@disnake.ui.button(label="Начать рассмотрения", style=disnake.ButtonStyle.green)
async def disable_button(self, button: disnake.ui.Button,interaction:disnake.Interaction):
msg = f'**Модератор {interaction.author.mention} начал рассмотрение жалобы**'
embed = disnake.Embed(
description=msg,
color=disnake.Colour.blue()
)
for child in self.children:
if isinstance(child, disnake.ui.Button):
child.disabled = True
await interaction.response.edit_message(view=None)
await interaction.send(embed=embed)
class ButtonsRole(commands.Cog):
def __init__(self, bot):
self.bot = bot
self.persistent_views_added = False
@commands.command()
async def forum(self, ctx):
view = ButtonView()
msg = 'Вы можете **связаться с модераторами и администраторами** при возникновении всевозможных проблем: начиная от обычных **вопросов**, заканчивая **жалобами** на пользователей'
embed = disnake.Embed(
title='Репорт',
description=msg,
color=disnake.Colour.blue()
)
await ctx.send(embed=embed, view=view)
@commands.Cog.listener()
async def on_ready(self):
if self.persistent_views_added:
return
self.bot.add_view(ButtonView(), message_id=1284956666290507927)
def setup(bot):
bot.add_cog(ButtonsRole(bot))