python - TypeError:'bool' 对象不可迭代
问题描述
嗨,我遇到了一些代码问题,我遇到了类型错误,TypeError: 'bool' object is not iterable
我应该使用if
状态而不是for
语句吗?
我想要实现的是,如果on_message
一条消息已被固定 7 天或更长时间,然后取消固定该消息。
这是我正在使用的:
async def on_message(self, message):
"""Listen for a message then unpin any other messages older than 7 days"""
server = message.server
channelid = '490899209067823135'
limit_date = datetime.now() - timedelta(days=7)
if server:
for message.content in message.channel.id == channelid:
if limit_date:
try:
await self.bot.unpin_message(message)
except discord.Forbidden:
print("No permissions to do that!")
不知道我要去哪里错了。
解决方案
在您的 for 循环中,message.channel.id == channelid
计算为布尔值True
or False
。所以你的for
循环变成了
for message.content in True
或者
for message.content in False
这里的右边in
必须是一些可迭代的。编译器抱怨,因为它不是。
要建议解决此问题的方法,我们需要有关您尝试执行的操作的更多信息。
推荐阅读
- glassfish - 会话超时 - 优先级?
- maven - Databricks - 库安装日志
- ajax - Foreach 循环 ajax
- c++ - 使用 std::vector
访问由 std::unique_ptr 管理的数据 - python - 从字符串中删除“以创建变量?
- regex - 使用 Re2 正则表达式在字符串上特定位置的 2 个括号之间提取内容
- python - 在 TensorFlow 2.0 中使用加载的 Estimator 进行预测
- powershell - Powershell在运行命令时变黑
- machine-learning - 真正理解交叉熵损失
- json - 在 JSON 字符串中查找值