Как настроить отправку сообщения, написанного пользователем боту при выполнении команды, в отдельный канал или для отправки разработчику бота в личные сообщения? <br/> <br/> <pre><code class="python">@bot.slash_command(description="Обратиться к разработчику.") @discord.option("name", description="Введите своё имя.") async def feedback(ctx: discord.ApplicationContext, name: str): try: await ctx.respond(f"Здравствуй, {name}! Введите своё обращение в течение 30 секунд.") def is_author(m: discord.Message): return m.author.id == ctx.author.id feedback_message = await bot.wait_for("message", check=is_author, timeout=30.0) await ctx.send(f"Спасибо за ваше обращение!\nВаше обращение: `{feedback_message.content}`") # Указать, чтобы сообщение отправлялось в отдельный канал или личные сообщения except asyncio.TimeoutError: await ctx.send("Ваше время вышло, попробуйте еще раз!")</code></pre> <br/> <br/> Я добавил комментарий по поводу необходимости указания места передачи сообщения(nto an open new channel or send a private message to the developer).
Для отправки сообщения в другой канал или в личные сообщения разработчику, вам нужно указать объект канала или пользователя, куда вы хотите отправить сообщение. Вот пример кода, дополнив который вы сможете отправить сообщение в отдельный канал: ```python @bot.slash_command(description="Обратиться к разработчику.") @discord.option("name", description="Введите своё имя.") async def feedback(ctx: discord.ApplicationContext, name: str): try: await ctx.respond(f"Здравствуй, {name}! Введите своё обращение в течение 30 секунд.") def is_author(m: discord.Message): return m.author.id == ctx.author.id feedback_message = await bot.wait_for("message", check=is_author, timeout=30.0) # Отправка сообщения в другой канал channel = bot.get_channel(CHANNEL_ID) # ID канала, куда вы хотите отправить сообщение await channel.send(f"Пользователь {ctx.author} отправил обращение: `{feedback_message.content}`") await ctx.send("Ваше обращение было отправлено успешно!") except asyncio.TimeoutError: await ctx.send("Ваше время вышло, попробуйте еще раз!") ``` Если вы хотите отправить сообщение в личные сообщения разработчику, замените строку `channel.send` на `await ctx.author.send`. Вместо CHANNEL_ID укажите ID пользователя разработчика бота. Надеюсь, это поможет вам отправлять сообщения в нужные каналы или пользователям!
Достаете канал по id через get_channel , отправляете через сhannel.send
channel_id = ... # достаете из БД или оттуда где у вас хранится id нужного канала channel = bot.get_channel(channel_id) channel.send(feedback_message.content)
'NoneType' object has no attribute 'send'