initial commit
This commit is contained in:
@@ -0,0 +1,105 @@
|
||||
# Gateway Restart & Test Message Reference
|
||||
|
||||
## Checking Gateway Status
|
||||
|
||||
```
|
||||
ps aux | grep 'hermes gateway run'
|
||||
```
|
||||
|
||||
Note the PID and whether it's running as Ssl (stable).
|
||||
|
||||
## Checking for systemd Service
|
||||
|
||||
```
|
||||
systemctl --user list-units --type=service --all | grep -i hermes
|
||||
```
|
||||
|
||||
Empty response = gateway was started manually, not systemd-managed.
|
||||
|
||||
## Manual Restart Sequence (no systemd)
|
||||
|
||||
```
|
||||
# 1. Find and kill old gateway
|
||||
ps aux | grep 'hermes gateway run'
|
||||
kill -9 <PID> # -9 if plain kill doesn't work
|
||||
sleep 2
|
||||
|
||||
# 2. Verify it's dead
|
||||
ps aux | grep 'hermes gateway run'
|
||||
|
||||
# 3. Start fresh
|
||||
# In the Hermes CLI, use:
|
||||
# terminal(background=true, notify_on_complete=true, command="hermes gateway run")
|
||||
# Do NOT use nohup, disown, or trailing & in foreground terminal()
|
||||
```
|
||||
|
||||
## Verifying Telegram Connection in Logs
|
||||
|
||||
Log file: `~/.hermes/logs/gateway.log`
|
||||
|
||||
### Lines confirming a successful connection:
|
||||
|
||||
```
|
||||
Connecting to telegram...
|
||||
[Telegram] Auto-discovered Telegram fallback IPs: 149.154.166.110
|
||||
[Telegram] set_my_commands OK for scope BotCommandScopeDefault (30 cmds)
|
||||
[Telegram] Connected to Telegram (polling mode)
|
||||
✓ telegram connected
|
||||
```
|
||||
|
||||
### Quick grep check:
|
||||
|
||||
```
|
||||
grep -E "(telegram connected|Connecting to telegram|Connected to Telegram)" ~/.hermes/logs/gateway.log
|
||||
```
|
||||
|
||||
## Sending a Test Message (CLI Workaround)
|
||||
|
||||
The `send_message` Hermes tool does NOT work from CLI sessions for Telegram — it returns "No messaging platforms connected". Use the Telegram Bot API directly via curl:
|
||||
|
||||
```
|
||||
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage" \
|
||||
-d "chat_id=${CHAT_ID}" \
|
||||
-d "text=Hello from Hermes!"
|
||||
```
|
||||
|
||||
### Expected response on success:
|
||||
|
||||
```json
|
||||
{"ok":true,"result":{"message_id":677,"from":{"id":8971430276,"is_bot":true,...},"chat":{"id":1498679692,...},"date":1780001714,"text":"Hello from Hermes!"}}
|
||||
```
|
||||
|
||||
If `"ok":true`, the message was delivered. You can also add `-d "parse_mode=HTML"` for rich text formatting.
|
||||
|
||||
## .env Configuration Snippets
|
||||
|
||||
### Default state (all commented out):
|
||||
|
||||
```
|
||||
# TELEGRAM_BOT_TOKEN=*** TELEGRAM_ALLOWED_USERS=
|
||||
# TELEGRAM_HOME_CHANNEL=
|
||||
# TELEGRAM_HOME_CHANNEL_NAME=
|
||||
```
|
||||
|
||||
### After configuration — split into separate lines:
|
||||
|
||||
```env
|
||||
TELEGRAM_BOT_TOKEN=your_bot_token_here
|
||||
TELEGRAM_ALLOWED_USERS=123456789
|
||||
TELEGRAM_HOME_CHANNEL=123456789
|
||||
TELEGRAM_HOME_CHANNEL_NAME=@yourusername
|
||||
```
|
||||
|
||||
### sed commands to uncomment (one per line):
|
||||
|
||||
```
|
||||
sed -i 's|^# TELEGRAM_ALLOWED_USERS=.*|TELEGRAM_ALLOWED_USERS=123456789|' ~/.hermes/.env
|
||||
sed -i 's|^# TELEGRAM_HOME_CHANNEL=.*|TELEGRAM_HOME_CHANNEL=123456789|' ~/.hermes/.env
|
||||
sed -i 's|^# TELEGRAM_HOME_CHANNEL_NAME=.*|TELEGRAM_HOME_CHANNEL_NAME=@username|' ~/.hermes/.env
|
||||
```
|
||||
|
||||
**Caveat on TELEGRAM_BOT_TOKEN:** The default template has `TELEGRAM_BOT_TOKEN` and `TELEGRAM_ALLOWED_USERS` on the same commented line. The simple `sed` to uncomment probably won't work cleanly. Verify the exact line format with `grep -n 'TELEGRAM_BOT_TOKEN' ~/.hermes/.env` and replace the entire line if needed, or delete the old line and insert fresh ones.
|
||||
|
||||
## Token Visibility Note
|
||||
|
||||
In gateway logs and grep output, the bot token may appear partially masked (e.g., `TELEGRAM_BOT_TOKEN=***...***`). This is normal log sanitization — the full token is still loaded and used by the gateway process.
|
||||
Reference in New Issue
Block a user