Не рекомендуется использовать on_message()
в качестве команд.
Лучше использовать command()
fom discord.ext.commands
.
Очевидно, вы ищете способ сохранить пользовательский ввод в переменную, вот как вы можете это сделать:
Используя команду
Вы определили rr2
как prefix
.Предположим, вы используете систему cog :
@commands.command()
async def info(self, ctx, *, input: str):
await ctx.send(input)
return
Строка await ctx.send(input)
отправит сообщение в канал, где использовалась команда, содержащее то, что пользователь передал какinput
.
Итак, у нас есть:
>>> rr2 info This is my input.
Выход:
'This is my input.'
Использование события on_message
Есливы абсолютно хотите использовать событие для хранения пользовательского ввода, которое вы можете использовать:
@client.event
async def on_message(message):
if message.content.startswith('rr2.info.'):
input = message.content # this will send the message with the 'rr2.info.' prefix
channel = message.channel
await channel.send(input)
Это будет точно такое же поведение, как и решение command()
.