Как сделать настройку времнни tempmute в боте discord.py
У меня есть код на tempmute, но там мут идет только по секундам. Т.е если я пишу !mute @ник (время) (причина) то оно мутит на количество секунд указанных в коде. Но я хочу чтобы вместо просто числа там можно было написать например "1m" "1h" "10h" И т.п
Ответы (1 шт):
Автор решения: user423208
→ Ссылка
Используйте эту функцию
def to_seconds(string: str):
total = 0
number = 0
for i in string:
if i in ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']:
number = int(str(number) + str(i))
else:
if i == 'd':
total = total + number * 24 * 60 * 60
number = 0
elif i == 'h':
total = total + number * 60 * 60
number = 0
elif i == 'm':
total = total + number * 60
number = 0
elif i == 's':
total = total + number
number = 0
return total
Данная функция преобразовывает строку вида '(число)d(число)h(число)m(число)s' (без пробелов) в секунды, где d - дни, h - часы, m - минуты, s - секунды. Пример:
to_seconds('2h') = 7200
to_seconds('1d2s') = 86402