我的discord bot能够运行其on_消息代码,但当我尝试运行命令%ping时,它会出错并显示“discord.ext.commands.errors.CommandNotFound:未找到命令”ping“。
我已经导入了所有需要的模块,在底部写了client.run(令牌),并定义了我的令牌和客户端对象,我认为没有必要包含这些代码行。
我已经包括等待client.process_commands(消息)和移动代码,我不知道该怎么办。
@client.event
async def on_ready():
print('We have logged in as {0.user}'.format(client))
if online:
await client.change_presence(activity=discord.Game(name="Command prefix: " + compref))
else:
await client.change_presence(status=discord.Status("offline"))
@client.event
async def on_message(message):
#print(message.author)
#print(client.user)
if message.author == client.user:
await client.process_commands(message)
return
else:
#print(message.channel.name)
try:
# Create target Directory
os.mkdir(str(message.author.guild.name))
#print("Guild msg Directory Created ")
except FileExistsError:pass
#print("Guild msg Directory already exists")
try:
os.mkdir(str(message.author.guild.name) + "\\message_logs")
except FileExistsError:pass
#print("Guild msg Directory already exists")
with open(str(message.author.guild.name) + "\\message_logs\\" + str(message.channel.name) + "_message_log.json", "a") as c:
ec = (time.asctime(time.localtime(time.time())) + "; " + str(message.author.name) + ": " + message.content).encode("utf-8")
#print(ec)
c.write(str(ec))
c.write("\n")
c.close()
await client.process_commands(message)
@client.command
async def ping(ctx):
await ctx.send(f"pong {round(client.latency * 1000)}ms")
server = ctx.message.author.guild
server_name = server.name
server_id = server.id
server_owner = server.owner.name
print("")
print("hi")
print("server name: {}\n"
"server id: {}\n"
"server owner: {}"
.format(server_name, server_id, server_owner))
print("")
try:
# Create target Directory
os.mkdir(str(server.name))
print("Guild Directory ", str(server.name), " Created ")
except FileExistsError:pass
#print("Guild Directory ", str(server.name), " already exists")
with open(str(server.name) + "\\" + str(server.name) + "_info.json", "w") as s:
e = "Server name: " + server.name + "\n" + "Server ID: " + str(server_id) + "\n" + "Server Owner: " + server_owner
#print(e)
s.write(e)
s.close()
await client.process_commands(message)
Bot.command
是返回装饰器的函数,而不是装饰器本身。你需要称之为:
@client.command()
async def ping(ctx):
await ctx.send(f"pong {round(client.latency * 1000)}ms")
server = ctx.message.author.guild
server_name = server.name
server_id = server.id
server_owner = server.owner.name
print("")
print("hi")
print("server name: {}\n"
"server id: {}\n"
"server owner: {}"
.format(server_name, server_id, server_owner))
print("")
try:
# Create target Directory
os.mkdir(str(server.name))
print("Guild Directory ", str(server.name), " Created ")
except FileExistsError:pass
#print("Guild Directory ", str(server.name), " already exists")
with open(str(server.name) + "\\" + str(server.name) + "_info.json", "w") as s:
e = "Server name: " + server.name + "\n" + "Server ID: " + str(server_id) + "\n" + "Server Owner: " + server_owner
#print(e)
s.write(e)
s.close()
# Remove the process_commands, we're already in a command
所以我尝试使用python为我的不和谐机器人做这个简单的投票函数: 问题是,当我试图调用函数时,它会给我一个错误。错误:忽略命令无中的异常:discord.ext.commands.errors.命令没有找到:命令“makePoll”没有找到。 编辑:试图命名client.commandmakePoll,但知道它给我这个错误:忽略命令makePoll中的异常:Traceback(最近一次调用最后一
我是新的Python开发和尝试使用pipenv。我运行命令,它成功运行: 然而,当我在一个新的根项目目录中运行命令时,我收到以下消息:。我怀疑我可能需要修改我的. bashrc,但是我不清楚要向文件中添加什么,或者是否需要修改。
我在Heroku上使用Postgresql数据库托管了一个RoR应用程序,并且一直在使用PG备份工具将数据库从我的应用程序备份到本地机器上。由于该应用程序仍在开发中,它从编程的角度帮助我降低了我的同事对数据库所做的更改。几个月来,我一直在成功地使用PG备份进行捕获和恢复,但最近,当我运行此处所示的典型命令时: 在curl命令执行后,我遇到此错误: 你知道为什么会这样吗?显然,问题是我无法恢复下载的
我使用的是节点0.10。35和grunt指挥部运作良好。现在升级到0.12之后。3 grunt命令已停止工作。 OS:Mac OSX 10.10.1节点:0.12.3 npm:2.9.1 grunt:0.4.5 我认为可能有问题的节点安装所以我清理安装了3-4次 我试着用- node-v0.12.3.pkg 节点版本管理器(nvm) 许多此类问题的解决方案建议使用 然后使用安装本地节点模块。 我遵
我试着做一个文件: 但是得到了错误: Android:命令未找到 我试图设置Android SDK的路径,但没有帮助: 有没有可能解决这个问题? UPD:我正在使用这个软件中的Git Shell:http://git-scm.com/download/win
我正在学习laravel并遵循这个教程, 但当我尝试安装npm时,它说