#discord.py #python-decorators
#discord.py #python-декораторы
Вопрос:
Я пытаюсь сохранять сообщения с помощью бота discord, чтобы я мог узнать, как элементы сообщений различаются между сообщениями.
Однако я новичок в некоторых аспектах этого кодирования, то есть декораторов. В настоящее время часть кода моих ботов, которая взаимодействует с сообщениями, такова:
messages=[]
@bot.event
async def on_message(message,messages):
print("someone said something")
messages=messages message
if message.author == bot.user:
return messages
Я думаю, что это неправильно. Что я пытаюсь сделать, так это добавлять сообщение в сообщения каждый раз, когда происходит событие, чтобы позже я мог просмотреть эту переменную и посмотреть, как меняются различные элементы сообщений.
Как мне изменить вышесказанное, чтобы разрешить это?
Ответ №1:
Вы можете использовать только 1 параметр в on_message
событии. Кроме того, вы не можете добавлять элементы в список с
помощью . А также хранение данных в переменной — не очень хорошая идея, потому что всякий раз, когда вы перезапускаете бота, он будет удален. Вы можете просто сохранить их в текстовом файле.
@bot.event
async def on_message(message):
print("someone said something")
file = open('messages.txt', 'a')
file.write(message.content 'n')
file.close()
Редактировать
Если вы хотите сохранить всю информацию сообщения, вы можете сделать:
file.write(f'{message}n')
или
file.write(str(message) 'n')
Комментарии:
1. Спасибо! есть ли способ сделать это так, чтобы сохранить все элементы сообщения, а не только .content?
2. Почему вы хотите, чтобы он сохранял все элементы?
3. Потому что я пытаюсь понять, как они различаются между сообщениями