kernixdocs

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

OggettoCosa offre
ctx.reply(testo)Risponde al messaggio del comando
ctx.send(testo)Scrive nella stessa stanza senza citare
ctx.author, ctx.argsUsername di chi ha usato il comando, argomenti
msg.text, msg.author, msg.chat_idContenuto decifrato e dati del messaggio
@bot.on_readyEseguito quando il bot è connesso