Discord.py 消息发送命令有问题

Discord.py 消息发送命令有问题,discord.py,Discord.py,我正在尝试使用以下代码执行重复命令: import discord from discord.ext import commands bot = discord.Client() client = commands.Bot(command_prefix='V!') @client.command(name='repeat') async def _repeat(ctx, arg): await ctx.send(arg) bot.run('TOKEN') 但是,当用命令发送消

我正在尝试使用以下代码执行重复命令:

import discord
from discord.ext import commands

bot = discord.Client()

client = commands.Bot(command_prefix='V!')


@client.command(name='repeat')
async def _repeat(ctx, arg):
    await ctx.send(arg)

bot.run('TOKEN')

但是,当用命令发送消息时,bot既不响应想要的消息,也不响应可能暗示某些错误的错误。我对编程也很陌生,所以这可能是我不知道的一些愚蠢的事情。非常感谢您的帮助。

如果您仔细检查代码,您将看到您正在将命令分配给
客户机
对象,但正在运行
机器人
对象。您需要执行
client.run(“”)
,正如另一位评论员建议的那样

您也根本不需要
bot=discord.Client()
<代码>不和谐。客户端是一个能力较少的父类。不过,我建议您将
客户端
重命名为
机器人

from discord.ext import commands

bot = commands.Bot(command_prefix='V!')

@bot.command(name='repeat')
async def _repeat(ctx, arg):
    await ctx.send(arg)

bot.run('TOKEN')
请注意,现在任何地方都没有
导入discord
discord.Client


请参阅:

您是否正在运行bot?使用文件末尾的
client.run(“TOKEN”)
?是的,它显示bot在discord上联机,并表示它已登录bot。它显示bot联机,但不是您想要的:PI更改了“client”和“bot”的位置,但我遇到了相同的结果。我没有说只是交换名称。根本的问题是,您声明了两个对象A和B,为A分配了一个命令,但随后运行了B。单独交换A和B并不能解决此问题。您是对的,在分配代码以运行bot和命令它workedGreat to hear之后,命令才起作用!TL;DR不使用discord.Client