如何解决这段代码有什么问题?(Python) AttributeError: 'Client' object has no attribute 'command'
我是 Python 新手,我正在开发一个不和谐的机器人。但是我每次都运行这个错误。我不知道是什么问题,你能帮我吗?这是错误: 第 19 行,在 @client.command() AttributeError: 'Client' 对象没有属性 'command'
代码如下:
import discord
import random
from discord.ext import commands
class MyClient(discord.Client):
client = commands.Bot(command_prefix = '?')
# Start
async def on_ready(self):
print('Logged on as',self.user)
# Latency
client = discord.Client()
@client.command()
async def ping(ctx):
await ctx.send(f'Pong! {round(client.latency * 1000)}ms')
# 8ball
@client.command(aliases=['8ball'])
async def _8ball(ctx,*,question):
responses = ['Biztosan.','Nagyon kétséges.']
await ctx.send(f'Kérdés: {question}\nVálasz: {random.choice(responses)}')
# Clear
@client.command()
async def clear(ctx,amount=5):
await ctx.channel.purge(limit=amount)
await ctx.send(f'Kész!')
async def on_message(self,message):
word_list = ['fasz','kurva','anyad','anyád','f a s z','seggfej','buzi','f.a.s.z','fa sz','k U.rv@ any@dat']
if message.author == self.user:
return
messageContent = message.content
if len(messageContent) > 0:
for word in word_list:
if word in messageContent:
await message.delete()
await message.channel.send('Ne használd ezt a szót!')
messageattachments = message.attachments
if len(messageattachments) > 0:
for attachment in messageattachments:
if attachment.filename.endswith(".dll"):
await message.delete()
await message.channel.send("Ne küldj DLL fájlokat!")
elif attachment.filename.endswith('.exe'):
await message.delete()
await message.channel.send("Ne csak parancsikont küldj!")
else:
break
client = MyClient()
client.run(token)
解决方法
我很确定这是由于您定义客户端变量的位置,当我制作我的不和谐机器人时,我是在 javascript 中完成的,所以我可能是错的,但我相信这是因为您试图调用一个变量尚未定义,因此将 client = MyClient()
行向上移动,以便在创建类后立即定义
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。