Discord Python 重写问题 - asyncio.sleep()
Discord Python Rewrite Question - asyncio.sleep()
是否可以
asyncio.sleep()
如果输入时间为 1 分钟,则休眠 60 秒;如果输入时间为 1 小时,则休眠 60 分钟;如果输入时间为 24 小时,它将休眠 1 天,如果是,我将需要一个示例,因为我需要它我的赠品代码。
asyncio.sleep()
总是以秒为单位延迟 - 参见 documentation。您可以轻松编写一个函数,该函数将以任何单位花费任意数量的时间并将其转换为秒。然后你只需将该数字传递给 asyncio.sleep()
.
asyncio.sleep()
只需要几秒钟,你可以为此编写一个函数,将输入的时间转换为秒。
import re
from datetime import timedelta
time_units = {'s': 'seconds', 'm': 'minutes', 'h': 'hours', 'd': 'days', 'w': 'weeks'}
def to_seconds(s):
return int(timedelta(**{
time_units.get(m.group('unit').lower(), 'seconds'): int(m.group('val'))
for m in re.finditer(r'(?P<val>\d+)(?P<unit>[smhdw]?)', s, flags=re.I)
}).total_seconds())
@client.command()
async def giveaway(ctx, *, time):
print(f"{ctx.message.content} --> {to_seconds(time)}")
输出:
>giveaway 1w --> 604800
>giveaway 30s --> 30
>giveaway 1d --> 86400
>giveaway 1h 25m --> 5100
>giveaway 5m 30s --> 330
是否可以
asyncio.sleep()
如果输入时间为 1 分钟,则休眠 60 秒;如果输入时间为 1 小时,则休眠 60 分钟;如果输入时间为 24 小时,它将休眠 1 天,如果是,我将需要一个示例,因为我需要它我的赠品代码。
asyncio.sleep()
总是以秒为单位延迟 - 参见 documentation。您可以轻松编写一个函数,该函数将以任何单位花费任意数量的时间并将其转换为秒。然后你只需将该数字传递给 asyncio.sleep()
.
asyncio.sleep()
只需要几秒钟,你可以为此编写一个函数,将输入的时间转换为秒。
import re
from datetime import timedelta
time_units = {'s': 'seconds', 'm': 'minutes', 'h': 'hours', 'd': 'days', 'w': 'weeks'}
def to_seconds(s):
return int(timedelta(**{
time_units.get(m.group('unit').lower(), 'seconds'): int(m.group('val'))
for m in re.finditer(r'(?P<val>\d+)(?P<unit>[smhdw]?)', s, flags=re.I)
}).total_seconds())
@client.command()
async def giveaway(ctx, *, time):
print(f"{ctx.message.content} --> {to_seconds(time)}")
输出:
>giveaway 1w --> 604800
>giveaway 30s --> 30
>giveaway 1d --> 86400
>giveaway 1h 25m --> 5100
>giveaway 5m 30s --> 330