Skip to content

konantgit-sys/snin-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SNIN Bot — Telegram Gateway for NIP-80 Devices

Telegram-бот для управления IoT-устройствами через Nostr relay.
Подписывает команды (kind:8012), отслеживает телеметрию (kind:8010),
генерирует графики и рассылает push-уведомления.

Архитектура

ESP32 ──WSS──→ Nostr Relay ←──poll 20s──→ SNIN Bot ──→ Telegram
                                              │
                                              ├── /telemetry
                                              ├── /cmd <device> <action>
                                              ├── /chart temp 24
                                              └── /watch <device>

Быстрый старт

# 1. Установить зависимости
pip install -r requirements.txt

# 2. Создать бота у @BotFather → получить токен

# 3. Настроить
cp .env.example .env
# Заполнить SNIN_BOT_TOKEN, SNIN_BOT_ADMINS

# 4. Запустить
export $(grep -v '^#' .env | xargs)
python3 bot.py

Переменные окружения

Переменная По умолчанию Описание
SNIN_BOT_TOKEN Telegram Bot Token (обязательно)
SNIN_BOT_ADMINS ID админов через запятую
SNIN_NOSTR_KEY Приватный ключ Nostr для подписи kind:8012
SNIN_RELAY_API https://relay-snin.v2.site REST API relay
SNIN_RELAY_WS wss://relay-snin.v2.site WebSocket relay
SNIN_DASH_API https://cryter-dash.v2.site Dashboard API
SNIN_BOT_URL http://localhost:9906 URL для Webhook
SNIN_BOT_DATA ./data.json Файл хранения подписок
PORT 9906 HTTP порт

Команды

Команда Описание
/relay Статус релея
/telemetry Текущие телеметрии
/chart temp 24 График температуры
/chart alerts 24 Гистограмма алертов
/cmd <device> <action> Команда устройству (kind:8012)
/subkind <kind> Подписка на события kind
/watchdev <device> Все события устройства
/sub Push-алерты

Структура

snin-bot/
├── bot.py          — Telegram gateway (Flask + webhook)
├── chart_gen.py    — Генератор графиков (matplotlib → PNG)
├── signer.py       — Nostr BIP-340 signer
├── requirements.txt
├── .env.example
└── README.md

Зависимости

  • snin (github.com/konantgit-sys/snin) — протокол NIP-80
  • relay-v2 (github.com/konantgit-sys/relay-v2) — Nostr relay

Лицензия

MIT

About

Telegram gateway for NIP-80 IoT devices. Monitors Nostr relay, sends commands (kind:8012), generates charts, push alerts.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages