日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

NoneBot2插件——打印系统状态

發(fā)布時(shí)間:2025/5/22 windows 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NoneBot2插件——打印系统状态 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

使用Python編寫(xiě) NoneBot2插件 顯示系統(tǒng)CPU、磁盤、內(nèi)存的占用狀態(tài)。

sys_states 插件目錄,__pycache__文件無(wú)需創(chuàng)建。

init.py文件

  • on_command:消息事件響應(yīng)器
  • on_notice:通知事件響應(yīng)器
  • export:獲取插件的導(dǎo)出內(nèi)容對(duì)象
from nonebot.adapters.cqhttp import Bot, Event, PokeNotifyEvent from nonebot.adapters.cqhttp.message import Message from nonebot.plugin import export, on_command, on_notice from nonebot.rule import Rule from nonebot.typing import T_Statefrom .info_get import get_sys_infoexport = export() export.name = '系統(tǒng)狀態(tài)' export.usage = '戳一戳以獲取系統(tǒng)當(dāng)前狀態(tài)'async def _is_poke(bot: Bot, event: Event, state: T_State) -> bool:return isinstance(event, PokeNotifyEvent) and event.is_tome()sys_info = on_notice(Rule(_is_poke), priority=50, block=True) @sys_info.handle() async def sys_info_handle(bot: Bot, event: Event, state: T_State):info = get_sys_info('b')await sys_info.send(info)

安裝 psutil 庫(kù)

pip install psutil

info_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使用時(shí)間:{cpu["used"]}\\n ->系統(tǒng)占用:{cpu["syst"]}\\n ->用戶占用:{cpu["user"]}\\nCPU閑置時(shí)間:{cpu["free"]}\\nCPU占用率:{cpu["prec"]}%\\n————————MEM————————\\n總內(nèi)存:{mem["total"]}GB\\n可用內(nèi)存:{mem["available"]}GB\\n內(nèi)存占用率:{mem["percent"]}%\\n————————DISK————————\\n磁盤總空間:{disk["total"]}GB\\n磁盤可用空間:{disk["free"]}GB\\n磁盤占用率:{disk["percent"]}%'elif method == 'b':return f'CPU占用率:{cpu["prec"]}%\\n內(nèi)存占用率:{mem["percent"]}%\\n磁盤占用率:{disk["percent"]}%'

加載插件目錄

在 bot.py 文件中添加以下行:

# 加載插件目錄,該目錄下為各插件,以下劃線開(kāi)頭的插件將不會(huì)被加載 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 內(nèi)置插件 nonebot.load_from_toml("pyproject.toml") nonebot.load_plugins("src/plugins") # 加載插件目錄,該目錄下為各插件,以下劃線開(kāi)頭的插件將不會(huì)被加載 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")

運(yùn)行結(jié)果
嘗試運(yùn)行 python bot.py,可以看到日志輸出了類似如下內(nèi)容:

08-04 14:26:20 [DEBUG] nonebot | Succeeded to load adapter "cqhttp" 08-04 14:26:20 [INFO] nonebot | Succeeded to import "nonebot.plugins.echo" 08-04 14:26:20 [INFO] nonebot | Succeeded to import "sys_states" 08-04 14:26:20 [INFO] uvicorn | Started server process [21184] 08-04 14:26:20 [INFO] uvicorn | Waiting for application startup. 08-04 14:26:20 [INFO] uvicorn | Application startup complete.


說(shuō)明插件安裝成功。
開(kāi)始在QQ上使用,查看效果,使用手機(jī)QQ對(duì)機(jī)器人頭像戳一戳,就會(huì)自動(dòng)打印電腦的

  • CPU占用率
  • 內(nèi)存占用率
  • 磁盤占用率

總結(jié)

以上是生活随笔為你收集整理的NoneBot2插件——打印系统状态的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。