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