#python
Вопрос:
У меня есть код бота для команды отчета, но я хочу, чтобы он поместил все в канал, в котором была команда
@bot.command()
async def report(ctx):
a_list = []
submit_channel = bot.get_channel(889700840913371166)
channel = await ctx.author.create_dm()
def check(m):
return m.content is not None and m.channel == channel
for question in q_list:
await asyncio.sleep(1)
await channel.send(question)
msg = await bot.wait_for('message', check=check)
a_list.append(msg.content)
submit_wait = True
while submit_wait:
await channel.send('End of questions - "submit" to finish')
msg = await bot.wait_for('message', check=check)
if "submit" in msg.content.lower():
submit_wait = False
answers = "n".join(f'{a}. {b}' for a, b in enumerate(a_list, 1))
submit_msg = f'Application from {msg.author} nThe answers are:n{answers}'
await submit_channel.send(submit_msg)
Ответ №1:
Я не совсем понимаю, об этом ли ты просишь. Но чтобы отправить сообщение на канал, по которому первоначально была отправлена команда, вы должны сделать:
@bot.command(pass_context=True)
async def report(ctx):
await ctx.send("Message to the original channel!")
Кроме того, я хотел бы добавить, что discord.py библиотека архивируется, поэтому изменения в api в будущем могут привести discord.py не функционирует.