我一直在使用
import os
import discord
from discord.ext import commands
client = commands.Bot(command_prefix = "!")
@client.event
async def on_ready():
await client.change_presence(status=discord.Status.idle,
activity=discord.Game(''))
print('Successfully logged in as {0.user}'.format(client))
@client.command()
async def hello(ctx):
await ctx.send("Hello! It's great to see you!")
client.run(os.getenv('TOKEN'))
命令代码。我希望它回复“你好!很高兴见到你!”当我说 !hello (!= 前缀) 时。但它什么也没返回。甚至没有错误。有谁知道为什么?另外,请不要显示 discord bot not responding to commands 或 Discord command bot doesn't responde (python),因为我都试过了,都没有效果。
答案 0 :(得分:0)
因为名气不好,我不能在这里聊天,所以我在这里回答。您应该发布完整的代码以使工作更轻松。
.
原因 1:
您没有添加前缀。您需要一个前缀才能使用该命令
看看你的client
。你已经告诉前缀了吗?喜欢:
client = commands.Bot(command_prefix = "-")
如果是这样,添加它,它应该可以工作!
.
原因 2:
您没有导入 from discord.ext import commands
如果你想使用命令,这很重要,导入它应该可以工作!
.
原因 3:
你混淆了 client
和 bot
这可能不会发生,但它会发生,您可能会在装饰器上混淆 client
或 bot
,即 @client.command
如果您使用客户端(如 client = commands.Bot(command_prefix = "-")
),则在装饰器上使用 @client.command
,而如果您使用 Bot(bot = commmands.Bot(command_prefix = "-")
),则应在装饰器上使用 @bot.command
.
希望这些会有所帮助:D