NoneBot2插件——打印系统状态
生活随笔
收集整理的這篇文章主要介紹了
NoneBot2插件——打印系统状态
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
使用Python編寫 NoneBot2插件 顯示系統CPU、磁盤、內存的占用狀態。
sys_states 插件目錄,__pycache__文件無需創建。
init.py文件
- on_command:消息事件響應器
- on_notice:通知事件響應器
- export:獲取插件的導出內容對象
安裝 psutil 庫
pip install psutilinfo_get.py 文件
import psutildef cpu_info():cpu = str(psutil.cpu_times())user = float(cpu.split('user=')[1].split(',')[0])system = float(cpu.split('system=')[1].split(',')[0])idle = float(cpu.split('idle=')[1].split(',')[0])return {'used' : round(user+system,1),'user' : round(user,1),'syst' : round(system,1),'free' : round(idle,1),'prec' : round((1 - idle/(user+system+idle))*100,1)}def mem_info():mem = str(psutil.virtual_memory())return {'total' : round(float(mem.split('total=')[1].split(',')[0])/(1024**3),1),'available' : round(float(mem.split('available=')[1].split(',')[0])/(1024**3),1),'percent' : float(mem.split('percent=')[1].split(',')[0])}def disk_info():disk = str(psutil.disk_usage('/'))return {'total' : round(float(disk.split('total=')[1].split(',')[0])/(1024**3),1),'free' : round(float(disk.split('free=')[1].split(',')[0])/(1024**3),1),'percent': float(disk.split('percent=')[1].split(',')[0].strip(')'))}def get_sys_info(method):cpu = cpu_info()mem = mem_info()disk = disk_info()if method == 'a':return f'————————CPU————————\\nCPU使用時間:{cpu["used"]}\\n ->系統占用:{cpu["syst"]}\\n ->用戶占用:{cpu["user"]}\\nCPU閑置時間:{cpu["free"]}\\nCPU占用率:{cpu["prec"]}%\\n————————MEM————————\\n總內存:{mem["total"]}GB\\n可用內存:{mem["available"]}GB\\n內存占用率:{mem["percent"]}%\\n————————DISK————————\\n磁盤總空間:{disk["total"]}GB\\n磁盤可用空間:{disk["free"]}GB\\n磁盤占用率:{disk["percent"]}%'elif method == 'b':return f'CPU占用率:{cpu["prec"]}%\\n內存占用率:{mem["percent"]}%\\n磁盤占用率:{disk["percent"]}%'加載插件目錄
在 bot.py 文件中添加以下行:
# 加載插件目錄,該目錄下為各插件,以下劃線開頭的插件將不會被加載 nonebot.load_plugins("awesome_bot/plugins")app = nonebot.get_asgi()我的 bot.py 文件 如下:
#!/usr/bin/env python3 # -*- coding: utf-8 -*-import nonebot from nonebot.adapters.cqhttp import Bot as CQHTTPBotnonebot.init() app = nonebot.get_asgi()driver = nonebot.get_driver() driver.register_adapter("cqhttp", CQHTTPBot)nonebot.load_builtin_plugins() # 加載 nonebot 內置插件 nonebot.load_from_toml("pyproject.toml") nonebot.load_plugins("src/plugins") # 加載插件目錄,該目錄下為各插件,以下劃線開頭的插件將不會被加載 app = nonebot.get_asgi()if __name__ == "__main__":nonebot.logger.warning("Always use `nb run` to start the bot instead of manually running!")nonebot.run(app="__mp_main__:app")運行結果
嘗試運行 python bot.py,可以看到日志輸出了類似如下內容:
說明插件安裝成功。
開始在QQ上使用,查看效果,使用手機QQ對機器人頭像戳一戳,就會自動打印電腦的
- CPU占用率
- 內存占用率
- 磁盤占用率
總結
以上是生活随笔為你收集整理的NoneBot2插件——打印系统状态的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows 安装 NoneBot2
- 下一篇: NoneBot2插件——今日人品