@Zw1le

Команда временного мьюта не работает — в чем проблема?

У меня есть код:
@bot.command()
@commands.has_permissions(administrator=True)
async def tempmute(ctx, user: discord.Member, *, time: int, reason=None):
	role = user.guild.get_role(964196682675916840) # айди роли которую будет получать юзер
	if reason is None:
		emb = discord.Embed(title="**TEMPORARILY MUTED**", color = discord.Color.red())
		emb.add_field(name="Администратор:", value= ctx.author)
		emb.add_field(name = "Замьючен:", value = user)
		emb.add_field(name="Причина:", value= "Not specified")
		emb.add_field(name="Время:", value="{} {}".format(time, "минут"))
		await ctx.send(embed=emb)
	else:
		emb = discord.Embed(title="**TEMPORARILY MUTED**", color = discord.Color.red())
		emb.add_field(name="Администратор:", value= ctx.author)
		emb.add_field(name = "Замьючен:", value = user)
		emb.add_field(name="Причина:", value= reason)
		emb.add_field(name="Время:", value="{} {}".format(time, "минут"))
		await ctx.send(embed=emb)

	await user.add_roles(role)
	await user.move_to(None)
	await asyncio.sleep(time * 60)
	await user.remove_roles(role)

Выше кода указан импорт time, однако мне пишет "time imported but unused", из-за этого команда просто не выполняется. Что делать?
  • Вопрос задан
  • 77 просмотров
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
Ну во-первых, imported but unused - это предупреждение, а не ошибка. Учи разницу. Тебе IDE указывает, что импортированный модуль time не используется, а переменная time тут ни причём.
Во-вторых, ты указал *, time: int, reason=None - discord.py рекомендует указываь не более одного параметра после *, это означает "всё, что дальше - записать в этот параметр, не разбивая на слова". Если параметров более одного, то не очень понятно, что куда записывать.
В-третьих, приводи полный текст ошибки, а также вставь отладочный print() в начало функции, чтобы понять, запускается ли она вообще.
В-последних, if можно здорово сократить, вынеся общие части "за скобки".
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы