HomeBot
En lättviktig IRC-bot skriven i Python. Inga externa beroenden utöver standardbiblioteket och cryptography. Byggd för EFNet med krypterad masterautentisering och fjärrstyrning.
Vad är HomeBot?
HomeBot är en enkel-fil IRC-bot som ansluter till valfri IRC-server och går med i en konfigurerad kanal. Den har krypterad masterautentisering med Fernet symmetrisk kryptering, automatisk återanslutning vid frånkoppling och fjärrstyrning via privata meddelanden.
Första användaren som PM:ar !master blir botens master. Master-identiteten lagras krypterad på disk så att den finns kvar mellan omstarter. Alla privilegierade kommandon är begränsade till master via värdbaserad mönstermatchning.
Kärnfunktioner
Krypterad auth
Master-uppgifter lagras med Fernet-kryptering. Nyckel auto-genereras vid första körning, filrättigheter låsta till ägaren (0600).
Auto-reconnect
Återansluter automatiskt efter 30 sekunder vid frånkoppling. Hanterar anslutningstapp, netsplits och serveromstart graciöst.
Värdmatchning
Master-åtkomst kontrolleras via fnmatch glob-mönster på user@host. Endast matchande värdar kan utföra privilegierade kommandon.
Inga beroenden
Byggd helt på Pythons standardbibliotek (socket, ssl, threading) plus cryptography för krypterad användardatabas. Inget annat behövs.
Bot-kommandon
Alla kommandon måste skickas via privat meddelande eller NOTICE. Kommandon i offentliga kanaler ignoreras.
| Kommando | Åtkomst | Beskrivning |
|---|---|---|
| !master | Första användaren | Gör anspråk på bot-master (fungerar bara om ingen master är satt) |
| !restart | Master | Starta om boten med en ny process |
| !die | Master | Koppla från IRC och döda boten |
Setup & config
[irc] server = irc.efnet.org port = 6667 ssl = false nick = HomeBot realname = HomeBot IRC Bot channel = #Home [bot] master = *raven@*.thern.io
python3 HomeBot.py # Ingen master satt. Första användaren som PM:ar '!master' # blir bot-master. # Ansluter till irc.efnet.org:6667 som HomeBot...