Ошибка кода. бота дискорд на Python. Ошибка в команде выдачи мута
Я делал команду для выдачи мута... Код написал, но выдается ошибка:
discord.ext.commands.errors.MemberNotFound: Member "<@&663790862299562054>" not found.
Я пытался гуглить, искать в других поисковых системах, в ютубе и других площадках. В итоге нигде нет ответа, поэтому я решился обратиться на этот сайт за помощью.
Вот сам код:
import discord
import asyncio
from discord.ext import commands
from config import settings
import discord.ext.commands
client = discord.Client()
bot = commands.Bot(command_prefix = settings['prefix'])
@bot.command()
@commands.has_permissions(view_audit_log=True)
async def mute(ctx, member:discord.Member, time:int, reason):
channel = bot.get_channel(752914841911558315)
muterole = discord.utils.get(ctx.guild.roles,id=664118477425999873)
emb = discord.Embed(title="Мут", color=0xff0000)
emb.add_field(name='Модератор', value=ctx.author.mention, inline=False)
emb.add_field(name='Нарушитель', value=member.mention, inline=False)
emb.add_field(name='Причина', value=reason, inline=False)
emb.add_field(name='Время', value=time, inline=False)
await member.add_roles(muterole)
await channel.send(embed = emb)
await asyncio.sleep(time)
await member.remove_roles(muterole)
bot.run(settings['token'])
Ответы (1 шт):
Автор решения: Fixator10
→ Ссылка
MemberNotFound поднимается, если конвертер MemberConverter (используемый при указании в качестве типа discord.Member) не может обнаружить пользователя в кэше.
По умолчанию, библиотека кэширует пользователей в зависимости от включенных "intents".
- При включённом
Presences intentбиблиотека будет кэшировать пользователей на основе статуса: пользователи уходящие в оффлайн удаляются из кэша. - При включёноом
Members intentбиблиотека будет кэшировать пользователей на основе нахождения на доступных серверах: пользователи уходящие с сервера удаляются из кэша.
Таким образом, скорее всего, вам просто нужно включить необходимые intents:
- Убедитесь что необходимые intents включены в панели управления приложением бота в Discord:

- Укажите необходимые intents в аргументе
intentsконструктора бота:
intents = discord.Intents.all() # включает все Intents, включая "привилегированные" Presence и Members
# или
# intents = discord.Intents
# intents.presences = True # включает "Presence intent"
# intents.members = True # включает "Server members intent"
bot = commands.Bot(command_prefix = settings['prefix'], intents=intents)