Creare un bot
I bot di Kernix si scrivono in Python con poche righe e si aggiungono ai groups. Rispondono a comandi con la barra, come /meteo roma.
1. Crea il bot
Vai su link.kernix.chat/bot, premi Nuovo bot, scegli nome e username e copia il token: viene mostrato una sola volta. Le chiavi di cifratura del bot vengono generate nel tuo browser; il server non conosce il token.
2. Scarica la libreria
curl -O https://link.kernix.chat/sdk/kernix.py
pip install cryptography websockets
3. Scrivi il bot
from kernix import Bot
bot = Bot("kxbot_...il-tuo-token...")
@bot.command("ciao", "Saluta qualcuno")
async def ciao(ctx, nome: str = "mondo"):
await ctx.reply(f"Ciao {nome}!")
@bot.command("somma", "Somma due numeri")
async def somma(ctx, a: int, b: int):
await ctx.reply(f"Fa {a + b}")
@bot.on_message
async def ogni_messaggio(msg):
if "aiuto" in msg.text.lower():
await msg.reply("Prova /ciao o /somma 2 3")
bot.run()
I parametri della funzione diventano le opzioni del comando: si scrivono in ordine (/somma 2 3) o per nome (/somma a:2 b:3). Le annotazioni int, float e bool convertono il valore. L'ultimo parametro di testo raccoglie tutto il resto della frase.
4. Aggiungilo a un group
Chi ha il permesso Gestire il group apre Impostazioni del group → Bot e inserisce l'username del bot. I membri online gli consegnano le chiavi in automatico. Scrivendo / in una stanza compaiono i comandi disponibili.
Sicurezza
- Il bot è un membro cifrato: decifra i messaggi delle stanze che può vedere sul computer dove lo esegui. Limita le stanze con i permessi del suo ruolo se serve.
- Chi ha il token controlla il bot. Se è stato esposto, generane uno nuovo: quello vecchio smette subito di funzionare.
- I bot non possono aprire chat private, creare groups o unirsi da soli.
Verifica
Dalla scheda del bot puoi chiedere la verifica. Lo staff la controlla e, se approvata, il bot mostra la spunta accanto all'etichetta BOT.
Riferimento rapido
| Oggetto | Cosa offre |
|---|---|
ctx.reply(testo) | Risponde al messaggio del comando |
ctx.send(testo) | Scrive nella stessa stanza senza citare |
ctx.author, ctx.args | Username di chi ha usato il comando, argomenti |
msg.text, msg.author, msg.chat_id | Contenuto decifrato e dati del messaggio |
@bot.on_ready | Eseguito quando il bot è connesso |