Чтобы сохранить сообщение, отправленное пользователем, в строке с помощью Discord.py, вы можете использовать систему событий, предоставляемую библиотекой. Вот несколько методов с примерами кода для достижения этой цели:
Метод 1: использование события on_message
import discord
from discord.ext import commands
intents = discord.Intents.default()
intents.message_content = True
bot = commands.Bot(command_prefix='!', intents=intents)
@bot.event
async def on_ready():
print('Bot is ready.')
@bot.event
async def on_message(message):
if message.author == bot.user:
return
user_message = message.content
# Do something with the user_message string
await bot.process_commands(message)
bot.run('YOUR_BOT_TOKEN')
В этом методе вы определяете обработчик событий on_message
. Это событие будет инициироваться всякий раз, когда сообщение отправляется в любой канал, к которому имеет доступ бот. Вы можете получить доступ к содержимому сообщения с помощью message.content
и сохранить его в строке user_message
.
Метод 2. Использование декоратора команды
import discord
from discord.ext import commands
intents = discord.Intents.default()
intents.message_content = True
bot = commands.Bot(command_prefix='!', intents=intents)
@bot.event
async def on_ready():
print('Bot is ready.')
@bot.command()
async def store_message(ctx, *, message):
user_message = message
# Do something with the user_message string
bot.run('YOUR_BOT_TOKEN')
В этом методе вы определяете команду store_message
с помощью декоратора @bot.command()
. Сообщение пользователя будет передано в качестве аргумента функции store_message
, и вы сможете сохранить его в строке user_message
.
Метод 3. Использование специального события
import discord
from discord.ext import commands
intents = discord.Intents.default()
intents.message_content = True
bot = commands.Bot(command_prefix='!', intents=intents)
@bot.event
async def on_ready():
print('Bot is ready.')
@bot.event
async def on_user_message(user_message):
# Do something with the user_message string
bot.run('YOUR_BOT_TOKEN')
В этом методе вы определяете специальное событие on_user_message
, которое срабатывает каждый раз, когда пользователь отправляет сообщение. Затем вы можете выполнить желаемые действия с помощью строки user_message
.
Это всего лишь несколько примеров того, как вы можете хранить сообщения, отправленные пользователями, в Discord.py. Вы можете выбрать метод, который лучше всего соответствует вашим потребностям.