Будет ли этот синтаксис правильно разблокировать участника?

Я пытаюсь сделать команду приостановки, но не уверен, что она будет правильно разблокирована по истечении времени. Я хочу использовать 1 м / 30 с / 5 ч / 2 дня для приостановки после префикса, но он не отключается. Я не уверен, что ждал достаточно долго, однако он не отвечает или не создает ошибку.

@bot.command()
@commands.has_any_role('✪ Commissioner ✪', '✪ Vice Commissioner ✪', '✪ Board of Directors ✪')
async def suspend(ctx, member:discord.Member, time, *, reason):
    guild = bot.get_guild(766292887914151949)
    role_name = 'Suspended'
    role = discord.utils.get(guild.roles, name='Suspended')
    embed = discord.Embed(colour = discord.Colour.red())
 
    embed.add_field(name='<a:CheckMark:768095274949935146> **Success!**', value=f'{member.mention} has been successfully suspended for {time} for {reason}')
    
    # Defile the "role" variable
    role = ctx.guild.get_role(766647041483866132)

    await ctx.send(embed=embed)
    await member.add_roles(role)
    await bot.delete_message(ctx.message)
    # Using asyncio module to wait
    expired = await asyncio.sleep(time)
    await member.remove_roles(role)
    thing = discord.Embed(name='<a:CheckMark:768095274949935146> Suspension Expired', value=f"{member.mention}'s suspension is over.")
    await expired.send(embed=thing)
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
70
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ваша проблема здесь:

expired = await asyncio.sleep(time)
await member.remove_roles(role)
thing = discord.Embed(name='<a:CheckMark:768095274949935146> Suspension Expired', value=f"{member.mention}'s suspension is over.")
await expired.send(embed=thing) # expired isn't a messageable...

# -------------------------------------------------------------
# To fix this, you can use ctx.send instead.

expired = await asyncio.sleep(time)
await member.remove_roles(role)
thing = discord.Embed(name='<a:CheckMark:768095274949935146> Suspension Expired', value=f"{member.mention}'s suspension is over.")
await ctx.send(embed=thing)

Другие вопросы по теме