2 回答

TA貢獻(xiàn)1725條經(jīng)驗(yàn) 獲得超8個(gè)贊
您可以覆蓋以下__bool__方法discord.Embed:
import discord
discord.Embed.__bool__ = lambda self: bool(self.title)
以便Embed對(duì)象只有在標(biāo)題非空時(shí)才被認(rèn)為是真實(shí)的,并且您的代碼:
if description: client.send_message(message.channel, embed=description)
會(huì)按預(yù)期工作。

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超4個(gè)贊
Python 對(duì)empty
(evaluates to False
)的定義基于通用對(duì)象,而不是您腦海中的任何東西。如果您控制類(在本例中您不控制),您可以添加一個(gè)isEmpty
方法來實(shí)現(xiàn)您自己的想法。
但是,由于您使用的是完善的類,因此您需要通讀文檔以了解如何針對(duì)您的“空”的想法“提出”正確的問題。您的變量description
絕對(duì)不是空的:它在對(duì)象字段等中有您的初始化信息。默認(rèn)定義是對(duì)象描述是否為None
。
我從您的使用情況推斷您可能想查看是否有任何未完成的消息。如果是這樣,我想你可以用
if description.messages: client.send_message(message.channel, embed=description)
messages
是一個(gè)雙端隊(duì)列,它的內(nèi)在isEmpty
方法可以做你想做的事。
添加回答
舉報(bào)