Discord ';成员';对象没有属性';获得许可';

Discord ';成员';对象没有属性';获得许可';,discord,Discord,我想制作一个机器人,以便轻松地删除邮件。它在3个月前工作,但现在我遇到了一个错误“'Member'对象没有属性'hasPermission'”。谢谢大家分享意见。祝你今天愉快 import discord from discord.ext import commands from discord.ext.commands import Bot import asyncio bot = commands.Bot(command_prefix = 'botcuk') @bot.eve

我想制作一个机器人,以便轻松地删除邮件。它在3个月前工作,但现在我遇到了一个错误“'Member'对象没有属性'hasPermission'”。谢谢大家分享意见。祝你今天愉快

import discord
from discord.ext    import commands
from discord.ext.commands   import Bot
import asyncio


bot = commands.Bot(command_prefix = 'botcuk')

@bot.event
async def on_ready():
    await bot.change_presence(activity=discord.Streaming(name="admin biseyler deniyor", url='https://www.youtube.com/watch?v=fw7L7ZO4z_A'))

 if message.content.startswith('botcuksil'):
        if (message.author.hasPermission('MANAGE_MESSAGES')):
            args = message.content.split(' ')
            if len(args) == 2:
                if args[1].isdigit():
                    count = int(args[1]) + 1
                    deleted = await message.channel.purge(limit = count)
                    await message.channel.send('{} mesaj silindi'.format(len(deleted)-1))

它正在抛出
“Member”对象没有属性“hasPermission”
此错误,因为“Member”没有名为“hasPermission”的属性。为了解决您的问题,我重新编写了您的代码,并在代码下面给出了一些解释:

导入不一致
从discord.ext导入命令
从discord.ext.commands导入Bot
导入异步
bot=commands.bot(命令\前缀='botcuk')
@机器人事件
_ready()上的异步定义:
等待bot.change_presence(activity=discord.Streaming(name=“admin biseyler deniyor”,url=)https://www.youtube.com/watch?v=fw7L7ZO4z_A'))
@client.event#我们需要添加并检查客户端事件
_message()上的async def:#我们需要在收到消息时执行该命令,因此我们定义了一个名为'async def on_message():'的函数
如果message.content.startswith('botcuksil'):
if message.author.guild_permissions.manage_消息:#我们需要“author.guild_permissions.(permission)”的intead of“if(message.author.haspmission('manage_messages')”
args=message.content.split(“”)
如果len(args)==2:
如果参数为[1]。isdigit():
计数=整数(参数[1])+1
删除=等待消息。通道。清除(限制=计数)
wait message.channel.send({}mesaj silindi'.format(len(deleted)-1))
我还没有对此进行测试,但据我所知,您的问题:
“Member”对象没有属性“hasPermission”
应该得到解决

您所做的是
message.author.hasPermission('MANAGE_MESSAGES')
,但message.author没有类似
hasPermission
的属性


总结我所做的工作: 我在消息()上添加了一个客户端事件(
@client.event
)和一个异步函数

它所做的是检查是否收到消息。如果它在被邀请访问的任何服务器中检测到新消息,它将触发\u message()
上的
中的代码

正如我所说的:您所做的是
message.author.hasPermission('MANAGE_MESSAGES')
,但是
message.author
没有类似
hasPermission
的属性

我们可以使用
message.author.guild\u permissions.manage\u messages
,而不是编写这些内容。它检查邮件作者服务器的权限是否包括“管理邮件”。希望我的解决方案能解决你的问题

总是乐于助人!
-sqd mountains

hi,现在它说“TypeError:on_message()接受0个位置参数,但给出了1个”,我试图删除1条和1000条消息。此外还有“名称错误:未定义名称‘客户机’”。我解决了这个问题,将客户端更改为bot.event。顺便说一下,非常感谢你的帮助。我没想到会有这么多帮助:)。我也解决了这个问题,我将_message()上的异步定义更改为_message(message)上的异步定义:我总是很乐意帮助:)