我正在开发基本的Discord.py机器人。当前,我有一些命令,但是由于每次都运行它,并运行另一个命令,所以会添加新的响应。我要做的就是每个命令一个答复。
import discord
from discord.ext import commands
client = commands.Bot(command_prefix = '.')
@client.event
async def on_ready():
print('Bot is ready.')
@client.command()
async def logon(ctx):
await ctx.send(f'You are now On-Duty!')
@client.command()
async def ping(ctx):
await ctx.send(f'Pong! {round(client.latency * 1000)}ms')
我希望输入命令“ .logon”和“ .ping”后的输出为1x输出,而不是倍数。
答案 0 :(得分:0)
如果在命令行中运行此脚本,请确保未运行2个脚本实例。您可以使用任务管理器或命令行进行检查。
tasklist /v | findstr /c:"python.exe"
然后添加一个Taskkill /PID {PID_HERE}
,您可以在末尾添加一个/F
以强制关闭它。
您还可以执行Klaus D.提到的完全重启计算机的操作。
答案 1 :(得分:0)
如果您无法解决问题,请转到 Discord Application Manager,单击您的机器人,然后单击 Bot,然后单击重新生成令牌并将其复制到令牌所在的代码中,然后您有解决了你的问题。这发生在我身上,我刚更换了令牌,它就停止了。