在发生此问题之前,我已经在Heroku上托管了较早版本的bot,并且没有任何问题。现在,当我部署了一个更新版本的bot时,该更新程序(我添加了很多东西,因此可以说它是一个比更新程序完全全新的程序评分器)。
我将解释当前情况:
我部署了Bot,Heroku做到了这很神奇,并且该僵尸程序很快在Discord上上线,我检查了日志,并且开始的on_ready
代码部分已成功打印出来。现在,我尝试一个简单的命令: h!ping 。什么都没发生。我尝试了很多类似的操作,例如通过从bot的目录中删除所有内容来查找问题的根源,所以现在只剩下包含on_ready
, h!ping 命令的 main.py 和on_message
响应。
对我来说,这真的是一个谜,因为该机器人可以在我的IDE中运行。
这是 main.py
的代码段import time
import discord
from discord.ext.commands import Bot
from discord.ext import commands
from discord.ext.commands import CommandNotFound
import asyncio
from vars.vars1 import * #File for hard coded variables
Client = discord.Client()
bot = commands.Bot(command_prefix="h!")
bot.remove_command('help')
@bot.event
async def on_ready():
print('Bot '+bot.user.name+'#'+bot.user.discriminator+'('+str(bot.user.id)+') Connected and Ready')
print('---Bot Log Start---')
@bot.command(pass_context=True)
async def ping(ctx):
before = time.monotonic()
embed = discord.Embed(title='Ping!', description="", color=0xE2AD98)
message = await bot.send_message(ctx.message.channel, embed=embed)
ping = int((time.monotonic() - before) * 100)
embed = discord.Embed(title=("Pong! `" + str(ping) + "ms`"), description="", color=0xE2AD98)
await bot.edit_message(message, embed=embed)
@bot.event
async def on_message(message):
if message.content == "Hello":
await bot.send_message(message.channel, "Hello!")
@bot.event
async def on_command_error(ctx, error):
if isinstance(error, CommandNotFound):
pass
bot.run(token)
我的 Procfile :
worker: python3 main.py
我的 Requirements.txt :
discord.py
我想念什么吗?特别进口吗? Heroku设置?还是有问题?
更新:所以我现在注意到,“ Hello” on_message
实际上可以正常运行,并且自动程序可以回复,但是 h!ping 仍然不起作用