timmy / Telegram Bot 通知系統
0 curtidas
0 bifurcações
2 arquivos
Última atividade 10 months ago
這段程式碼提供了一個 TelegramNotifier 類別,透過 Telegram Bot API 發送訊息到指定的聊天 ID (chat_id),並透過 loguru 記錄發送狀態。程式會從環境變數載入 Bot Token 和 Chat ID,並在啟動時發送通知,適用於自動化系統監控或事件提醒。
| 1 | TELEGRAM_BOT_TOKEN=你的_bot_token |
| 2 | TELEGRAM_CHAT_ID=你的_chat_id |
timmy / 磁碟使用量查詢 API
0 curtidas
0 bifurcações
1 arquivos
Última atividade 10 months ago
這段程式碼建立了一個簡單的 HTTP 伺服器,透過 /disk-usage API 端點提供磁碟空間使用狀況的查詢功能。使用者可以透過 GET 請求並指定 path 參數來獲取該目錄的總空間、已使用空間、可用空間及使用率,適用於系統監控或遠端管理工具。
| 1 | import json |
| 2 | from http.server import BaseHTTPRequestHandler, HTTPServer |
| 3 | from urllib.parse import urlparse, parse_qs |
| 4 | import shutil |
| 5 | |
| 6 | |
| 7 | class DiskUsage: |
| 8 | def __init__(self, path="/"): |
| 9 | self.path = path |
timmy / 檢查硬碟空間使用情況
0 curtidas
0 bifurcações
1 arquivos
Última atividade 10 months ago
這段程式碼透過 DiskUsage 類別來檢查指定路徑的磁碟空間使用情況,包括總空間、已使用空間、可用空間及使用率,並提供 format_size 方法將數值轉換成人類可讀的格式(如 KB、MB、GB)。適用於系統監控、伺服器管理或儲存資源分析。
| 1 | import os |
| 2 | import shutil |
| 3 | |
| 4 | class DiskUsage: |
| 5 | def __init__(self, path="/"): |
| 6 | """ |
| 7 | 初始化 DiskUsage 類別,指定檢查的路徑(預設為根目錄 /)。 |
| 8 | |
| 9 | :param path: 要檢查的檔案系統路徑。 |
| 10 | """ |
timmy / 基於 WebSocket 的遠端指令執行服務
0 curtidas
0 bifurcações
1 arquivos
Última atividade 10 months ago
這段程式碼建立了一個 WebSocket 伺服器,允許遠端用戶端傳送指令,並在伺服器端執行該指令後回傳執行結果。適用於遠端系統管理、指令控制或測試環境中的即時互動,但因為直接執行來自用戶端的指令,需特別注意安全性風險,如權限控管與輸入驗證,以防止指令注入攻擊。
| 1 | import asyncio |
| 2 | import websockets |
| 3 | import subprocess |
| 4 | |
| 5 | async def handle_command(websocket, path): |
| 6 | try: |
| 7 | async for message in websocket: |
| 8 | print(f"Received command: {message}") |
| 9 | |
| 10 | # 執行系統指令 |
timmy / Python 排程任務管理
0 curtidas
0 bifurcações
1 arquivos
Última atividade 10 months ago
這段程式碼使用 schedule 設定每 5 分鐘執行一次指定任務,並透過主迴圈不斷檢查和執行排程中的任務。
| 1 | import time |
| 2 | import schedule |
| 3 | |
| 4 | # 定義任務函數 |
| 5 | def job(param): |
| 6 | print(f"執行任務,參數: {param}") |
| 7 | |
| 8 | if __name__ == "__main__": |
| 9 | # 設定排程,每 5 分鐘執行一次 |
| 10 | schedule.every(5).minutes.do(job, param="範例參數") |
timmy / 解析 RSS Feed 以獲取最新資訊
0 curtidas
0 bifurcações
1 arquivos
Última atividade 10 months ago
這段程式碼解析指定的 RSS Feed,並顯示 Feed 的標題以及每個項目的標題、連結和發布日期。
| 1 | import feedparser |
| 2 | |
| 3 | # RSS Feed 的 URL |
| 4 | rss_url = "https://www.twcert.org.tw/tw/rss-104-1.xml" |
| 5 | |
| 6 | # 解析 RSS Feed |
| 7 | feed = feedparser.parse(rss_url) |
| 8 | |
| 9 | # 顯示 Feed 的標題 |
| 10 | print(f"Feed Title: {feed.feed.title}\n") |
timmy / 使用 SQLite 儲存與管理 RSS 資料
0 curtidas
0 bifurcações
1 arquivos
Última atividade 10 months ago
這段程式碼使用 SQLite 初始化資料庫與表格,並提供函數將條目插入表格,同時處理重複條目的情況。測試範例展示如何插入一筆包含標題、連結、發布日期及描述的資料。
| 1 | import sqlite3 |
| 2 | |
| 3 | |
| 4 | # 初始化資料庫及表格 |
| 5 | def initialize_db(db_name="database.db", table_name="entries"): |
| 6 | conn = sqlite3.connect(db_name) |
| 7 | cursor = conn.cursor() |
| 8 | cursor.execute( |
| 9 | f""" |
| 10 | CREATE TABLE IF NOT EXISTS {table_name} ( |
timmy / 自動化前端專案初始化腳本 (PowerShell)
0 curtidas
0 bifurcações
1 arquivos
Última atividade 10 months ago
這段 PowerShell 腳本建立一個專案目錄,初始化基本的前端專案結構,包括 index.html、src 資料夾及子目錄,並透過 npm 安裝必要的依賴 (lit、vite、serve),最後列出目錄結構供檢查。
| 1 | # 檢查是否提供了目錄名稱參數 |
| 2 | if ($args.Length -eq 0) { |
| 3 | Write-Host "Usage: .\setup_project.ps1 <directory_name>" |
| 4 | exit 1 |
| 5 | } |
| 6 | |
| 7 | # 將參數設定為 PROJECT_DIR 變數 |
| 8 | $PROJECT_DIR = $args[0] |
| 9 | |
| 10 | # 嘗試建立目錄 |
timmy / Python 虛擬環境自動化設定
1 curtidas
0 bifurcações
2 arquivos
Última atividade 10 months ago
這段 Bash 腳本用於建立和管理 Python 虛擬環境,檢查虛擬環境是否存在,若不存在則建立並啟動環境,升級 pip,並自動安裝 requirements.txt 中的依賴(若檔案存在)。
| 1 | #!/bin/bash |
| 2 | |
| 3 | # 設定虛擬環境名稱 |
| 4 | VENV_DIR="myenv" |
| 5 | |
| 6 | # 檢查是否已經存在虛擬環境 |
| 7 | if [ -d "$VENV_DIR" ]; then |
| 8 | echo "虛擬環境 '$VENV_DIR' 已經存在。" |
| 9 | else |
| 10 | echo "正在建立虛擬環境 '$VENV_DIR'..." |
timmy / Mac iCloud 目錄自動切換腳本
0 curtidas
0 bifurcações
1 arquivos
Última atividade 10 months ago
| 1 | #!/bin/bash |
| 2 | |
| 3 | BASE_DIR="$HOME/Library/Mobile Documents/com~apple~CloudDocs" |
| 4 | |
| 5 | # 確認目錄是否存在 |
| 6 | if [ -d "$BASE_DIR" ]; then |
| 7 | echo "切換到目標目錄: $BASE_DIR" |
| 8 | cd "$BASE_DIR" || { echo "無法進入目標目錄,退出腳本。"; exit 1; } |
| 9 | fi |