@Takeomi

Pycord, как передать сообщение отправленное боту по команде в отдельный канал?

Как сделать так, чтобы сообщение которое отправляется боту по команде, переходило в отдельный канал или в личные сообщение разработчику бота.

@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("Ваше время вышло, попробуйте еще раз!")


Данный код, хештегом указал где что нужно.
  • Вопрос задан
  • 62 просмотра
Решения вопроса 1
fenrir1121
@fenrir1121 Куратор тега discord.py
Начни с документации
Достаете канал по id через get_channel, отправляете через сhannel.send

channel_id = ... # достаете из БД или оттуда где у вас хранится id нужного канала
channel = bot.get_channel(channel_id)
channel.send(feedback_message.content)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы