如果用户沿.stoprepeat
行执行命令,则我想在完成之前取消的命令是重复命令。
import discord
from discord.ext import commands, tasks
import asyncio
import string
import time
import random
import datetime
from datetime import datetime
import os
class Botting(commands.Cog):
def __init__(self, client):
self.client = client
@commands.Cog.listener()
async def on_ready(self):
print("Botting Cog is online and connected to Discord")
@commands.command()
async def repeat(self, ctx, times: int, *, content):
"""Repeats a message multiple times."""
for i in range(times):
await ctx.send(content)
await asyncio.sleep(0.75)
def setup(client):
client.add_cog(Botting(client))
答案 0 :(得分:0)
您可以使用asyncio.Task
来运行单独定义的协程。
您必须将Task
分配给齿轮的属性,并在另一个命令中使用它来取消它。
如果您希望该命令同时运行多次,则可以存储Task
的列表,并在另一个命令中取消每个命令。