嗨我有一个问题,我得到错误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!")
你可以使用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!")
请改用ctx.message.server
根据documentation Context
没有属性server