Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何检查频道是否有任何消息?不和谐_Python_Python 3.x_Discord.py - Fatal编程技术网

Python 如何检查频道是否有任何消息?不和谐

Python 如何检查频道是否有任何消息?不和谐,python,python-3.x,discord.py,Python,Python 3.x,Discord.py,所以我现在想要实现的是,找到并编写一个代码,这样每当我清除通道时,它都会首先检查其中是否有任何消息。如果没有,那么它将发送一个错误。唯一的问题是,我不知道客户端是否可以首先检查它是否有任何消息。如果有人有任何想法或例子,我真的很高兴知道 答案是: @commands.command() 异步def清除(自身、ctx、*、限制=100): 等待ctx.message.delete() 频道=ctx.channel messages=wait channel.history(limit=123).f

所以我现在想要实现的是,找到并编写一个代码,这样每当我清除通道时,它都会首先检查其中是否有任何消息。如果没有,那么它将发送一个错误。唯一的问题是,我不知道客户端是否可以首先检查它是否有任何消息。如果有人有任何想法或例子,我真的很高兴知道

答案是:

@commands.command()
异步def清除(自身、ctx、*、限制=100):
等待ctx.message.delete()
频道=ctx.channel
messages=wait channel.history(limit=123).flatten()
如果没有,请发送消息:
等待ctx.channel.send(“非常抱歉,我无法清除空频道!”)
返回
其他:
尝试:
等待通道清除(限制=限制)
返回
不和谐除外。禁止:
return wait ctx.channel.send('我没有烫发')

您可以使用
messages=wait channel.history(limit=123).flant()
获取包含频道消息的列表。Limit用于指定要读回的最大消息数

您可以检查该列表是否为空,以检查通道中是否有消息


API参考:

所以我基本上会添加它,然后尝试,
如果不是消息:
?当然。我自己也没试过,但我想那会管用的。我试过了,但似乎还是不管用。。。它将继续清除而不发送错误消息。我会编辑我的答案,这样你就可以看到代码了。除了第一行关于无消息错误的消息外,其他一切都正常打印消息查看返回的内容。我希望它有你的!清除命令,因为在检查其他消息之前清除通道不会删除消息