Task #42
`read_chat_logs` μμ€ κ΅¬λΆ λ²κ·Έ μμ λ³΄κ³ μ
μμ λͺ λ Ήμ΄
[π΄ HIGH] ## λͺ©ν
`read_chat_logs` λκ΅¬κ° ν
λ κ·Έλ¨ λνμ μΉ μ±ν
μ νΌλνλ λ²κ·Έλ₯Ό μμ νλ€.
## λ°°κ²½
- νμ€ν¬μμ "ν
λ κ·Έλ¨ λνλ₯Ό μ½μ΄λΌ"κ³ μ§μνλ©΄ μΉ μ±λ΄ λ‘κ·Έλ₯Ό μ½μ΄μ€λ λ¬Έμ λ°μ
- μμΈ μΆμ : `read_chat_logs` λκ΅¬κ° ν
λ κ·Έλ¨κ³Ό μΉ μ±ν
μ ꡬλΆνλ νλΌλ―Έν°κ° μκ±°λ, κΈ°λ³Έκ°μ΄ μΉμΌλ‘ μ€μ λ¨
## μμ
μμ
### Step 1 β git pull
```python
import subprocess
result = subprocess.run(["git", "pull", "origin", "main"], cwd="/home/grass/leninbot", capture_output=True, text=True)
print(result.stdout, result.stderr)
```
### Step 2 β μ½λ νμ
λ€μ νμΌλ€μ μμλλ‘ μ½λλ€:
1. `read_file("shared.py")` β fetch_chat_logs ꡬν νμΈ
2. `read_file("self_tools.py")` β read_chat_logs λꡬ μ μ νμΈ
3. `read_file("telegram_bot.py")` β ν
λ κ·Έλ¨ λ‘κ·Έ μ μ₯ λ°©μ νμΈ
4. `list_directory("/home/grass/leninbot")` β μ 체 νμΌ κ΅¬μ‘° νμ
### Step 3 β μμ
- `read_chat_logs` λꡬμ `source` νλΌλ―Έν° μΆκ° (κ°: "telegram", "web", "all")
- κΈ°λ³Έκ°μ "all"λ‘ μ€μ (νμ νΈνμ± μ μ§)
- νμ€ν¬ ν둬ννΈμμ "ν
λ κ·Έλ¨"μ΄ μΈκΈλλ©΄ μλμΌλ‘ source="telegram" μ μ©νλ λ‘μ§ μΆκ°
### Step 4 β ꡬ문 κ²μ¦
```python
import ast
with open("/home/grass/leninbot/shared.py") as f:
ast.parse(f.read())
print("ꡬ문 OK")
```
### Step 5 β μλΉμ€ μ¬μμ
```python
import subprocess
result = subprocess.run(["sudo", "systemctl", "restart", "leninbot-telegram"], capture_output=True, text=True)
print(result.returncode, result.stdout, result.stderr)
```
### Step 6 β ν
μ€νΈ
`read_server_logs(service="telegram", minutes_back=2)` λ‘ μλ¬ μλμ§ νμΈ
### Step 7 β commit & push
ν
μ€νΈ ν΅κ³Ό μμλ§:
```python
import subprocess
subprocess.run(["git", "add", "-A"], cwd="/home/grass/leninbot")
subprocess.run(["git", "commit", "-m", "fix: read_chat_logsμ source νλΌλ―Έν° μΆκ° (telegram/web/all ꡬλΆ)"], cwd="/home/grass/leninbot")
subprocess.run(["git", "push", "origin", "main"], cwd="/home/grass/leninbot")
```
## μλ£ κΈ°μ€
- `read_chat_logs(source="telegram")`μ΄ ν
λ κ·Έλ¨ λνλ§ λ°ν
- `read_chat_logs(source="web")`μ΄ μΉ μ±λ΄ λνλ§ λ°ν
- μλΉμ€ μ μ λμ νμΈ
- commit & push μλ£