Discord.py не добавляет поля во встраиваемые

#python #discord.py

#питон #discord.py

Вопрос:

Поэтому в основном я пытаюсь выполнить команду checkwarns, но все, что она показывает, — это название и цвет.

Ошибок не возвращено. Может быть, это глупая ошибка, отвлекающая внимание. Заранее спасибо.

 try:  embed = discord.Embed(title = f"Infractions for {member}", colour = 0x0f9492)  i = 1  mod = await client.fetch_user(modid)  for user in users:  if user == member.id:  i  = 1  embed.add_field(name= f"Infraction #{i}", value = f"**{type}** nCase ID: {caseid}nModerator: {mod}nDate:{date}n", inline = False )  await ctx.author.send(embed = embed)  

Ответ №1:

Поскольку ошибка в вашем комментарии указывает на то, что user это строка , а не объект, по сути , происходит то user , что строковое значение сравнивается со member.id значением int. Чтобы исправить это, выполните следующие действия:

 if user == str(member.id):  

Комментарии:

1. Command raised an exception: AttributeError: 'str' object has no attribute 'id'

2. С показанным кодом я подумал, что user это объект, а не сам идентификатор пользователя. Возможно, причина, по которой поле не добавляется в ваше вложение, заключается в том, что условие user == member.id никогда не выполняется. Вы можете попробовать распечатать что-то внутри блока if-оператора, чтобы подтвердить это.

3. Ладно, условие не выполнено, спасибо

4. Условие, вероятно, не выполнено, потому что вы пытаетесь сравнить строковое значение (пользователь) со значением int (member.id). Я отредактировал свой ответ, чтобы показать вам, как вы могли бы это исправить.