Discord.py AttributeError:'Context'对象没有属性'server'

问题描述 投票:0回答:2

嗨我有一个问题,我得到错误AttributeError:'上下文'对象没有属性'服务器',但我如何把ctx.server:放在我的代码中。我认为这会起作用我虽然我从协同签名中缺少ctx。

继承人我是怎么做的。

@commands.command(pass_context=True, no_pm=True)                
async def unpin(self, ctx):
    """Listen for a message then unpin any other messages older than 7 days"""
    server = ctx.server
    messages = await self.bot.pins_from(self.bot.get_channel('490899209067823135'))
    if server:
        for msg in messages:
            if (datetime.now() - msg.timestamp).days > 7:
                try:
                   await self.bot.unpin_message(msg)
                   print ("Unpinned")

                except discord.Forbidden:
                   print("No permissions to do that!")
python python-3.x discord discord.py
2个回答
-1
投票

你可以使用channel = self.bot.get_channel()

这就是我为你所做的。请注意,Discord限制每个通道50个引脚,因此您需要进行粗略检查以评估通道是否有进入引脚的空间。

async def on_message(self, message):
    """Listen for message then pin it"""
    try:
        server = message.server
        channel = self.bot.get_channel('1234567890') 
        pins = await self.bot.pins_from(channel)
        if message.channel == channel and message.type != 
          discord.MessageType.pins_add:
            if len(pins) == 50:
                await self.bot.unpin_message(pins[-1])
            await self.bot.pin_message(message)            

    except discord.Forbidden:
        print("No permissions to do that!")

0
投票

请改用ctx.message.server 根据documentation Context没有属性server

© www.soinside.com 2019 - 2024. All rights reserved.