#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). Я отредактировал свой ответ, чтобы показать вам, как вы могли бы это исправить.