#python #discord #discord.py
Вопрос:
time_dict = {"h":3600, "s":1, "m":60, "d":86400} class TimeConverter(commands.Converter): async def convert(self, ctx, argument): matches = time_regex.findall(argument.lower()) time = 0 for v, k in matches: try: time = time_dict[k]*float(v) except KeyError: raise commands.BadArgument("{} is an invalid time-key! h/m/s/d are valid!".format(k)) except ValueError: raise commands.BadArgument("{} is not a number!".format(v)) return time @client.command() async def mute(ctx, member: discord.Member, time: TimeConverter=None, *, reason=None): format = datetime.now(tz=pytz.timezone('America/Tijuana')) formatted = format.strftime("%I:%M %p") b = DT.datetime.now().timestamp() modlogs = client.get_channel(872909569196707870) db = await aiosqlite.connect('database.db') cursor = await db.execute('SELECT * FROM mutes') rows = await cursor.fetchall() muted = discord.utils.get(ctx.guild.roles, name="Muted") farmer = discord.utils.get(ctx.guild.roles, name="Farmers") apprentice = discord.utils.get(ctx.guild.roles, id=907127783849861120) if ctx.message.author.guild_permissions.administrator: if member is None: e = await ctx.reply('You must mention someone to mute!') await asyncio.sleep(5) await e.delete() await ctx.message.delete() return if time is None: e = await ctx.reply('You must state a time/reason!') await asyncio.sleep(5) await e.delete() await ctx.message.delete() return else: if time == 0:
Поэтому у меня возникли некоторые проблемы с приведенным выше кодом, я пытаюсь добраться туда, где, например, кто-то использует команду
.отключить @Чей-то тест
После проверки if time == 0 он каким-то образом сделает «0» «тестом», я не могу понять, как это сделать. Любая помощь будет очень признательна!