使用 python3 aiogram 库作为电报机器人。有没有办法从执行器生成的控制台中删除消息?如果您使用skip_updates=True
开始轮询,则会显示诸如
Goodbye!
或
Updates were skipped successfully.
之类的消息
我的机器人的开始部分是这样的:
# Start the bot
if __name__ == '__main__':
executor.start(dp, notify_message())
executor.start_polling(dp, skip_updates=True)
我在控制台中收到了那些烦人的消息。有没有一个参数可以关闭它们?我在 aiogram 文档上找不到任何内容。如果没有这个选项,有任何与 python3 /dev/null 相关的肮脏技巧吗?
没有直接的方法可以删除 aiogram 库中执行器生成的消息。不过,您可以尝试一些解决方法。一种选择是使用以下代码将输出重定向到 /dev/null:
import os
import sys
# Redirect stdout and stderr to /dev/null
sys.stdout = open(os.devnull, 'w')
sys.stderr = open(os.devnull, 'w')
这会将所有输出重定向到 /dev/null,这是一个特殊文件,会丢弃写入其中的所有数据。另一种选择是使用日志记录模块来禁用消息。您可以通过将以下代码添加到脚本中来完成此操作:
import logging
# Disable logging messages
logging.getLogger('aiogram').setLevel(logging.WARNING)
这将禁用 aiogram 库中的所有消息。您可以调整日志记录级别以仅显示您需要的消息。