Code: Select all
async def echo(ctx, *args):
#If a command is not followed with a text
if not args:
await ctx.send("Please provide some text for me to echo dummy.")
return
#Channel mention
if args[0].startswith(""):
channel_id = int(args[0][2:-1])
channel = client.get_channel(channel_id)
#If the channel is not valid or doesn't exist
if not channel:
await ctx.send("Invalid channel mention.")
return
args = args[1:]
else:
channel = ctx.channel
< /code>
Der Rest des Code ist für das Zeitargument: < /p>
#Check if there is a time argument
time_match = re.match(r"(\d+)(h|m)", args[0])
if time_match:
time_delta = timedelta(hours=int(time_match.group(1))) if time_match.group(2) == "h" else timedelta(minutes=int(time_match.group(1)))
await ctx.send(f"I will echo the message in {time_delta}.")
await asyncio.sleep(time_delta.total_seconds())
args = args[1:]
else:
time_delta = timedelta()
message = " ".join(args)
await channel.send(message)