Vai al contenuto
Tutti i lavori
  • #api-integration
  • #cli
  • #roblox
  • #open-source
  • #freeware

Player Clan Finder

Uno strumento da riga di comando che trova il clan di Pet Simulator 99 di un giocatore Roblox, tramite l’API pubblica del gioco. Nato per seguire un truffatore da un clan all’altro.

Ruolo
Sviluppatore unico, open source.
Risultato
Ha seguito il truffatore attraverso diversi clan e ha aiutato ad avvisare più di 15 capi clan. Altri clan l’hanno adottato nei loro controlli di sicurezza.
Anno
2024
Stato
completato
Stack
  • Python
  • Requests
  • Pet Simulator 99 API
  1. L'inizio

    Una truffa dentro il nostro clan

    All'inizio del 2024 facevo parte di LEGIT, uno dei clan più forti di Pet Simulator 99, il gioco Roblox di BIG Games basato sul collezionare e scambiare pet. Il nostro clan era noto per la sua community e per il gioco pulito. Poi uno dei nostri membri è stato truffato da un altro membro e ha perso tutti i suoi pet e oggetti di valore.

  2. L'obiettivo

    Sapere dove va il truffatore

    La vittima era distrutta, e i capi del clan erano decisi a impedire che il truffatore entrasse semplicemente nel prossimo grande clan per rifarlo. Passavamo ore ad avvisare gli altri clan a mano. Ci serviva un modo veloce e affidabile per rispondere a una sola domanda: in che clan è questo giocatore adesso?

  3. L'avventura

    Un piccolo strumento su un'API pubblica

    Pet Simulator 99 ha un'API pubblica che restituisce il clan di un giocatore. Così ho costruito la cosa più piccola che potesse funzionare: uno script Python da riga di comando che prende l'ID utente Roblox, interroga l'endpoint dei giocatori del gioco e stampa il clan e il ruolo del giocatore. Chiunque tra i capi poteva lanciarlo da un terminale e avere una risposta in pochi secondi.

    1. Clona

      git clone https://github.com/leafranger/Player-Clan-Finder.git
    2. Installa

      pip install requests, l'unica dipendenza.
    3. Avvia

      python clan_finder.py 123456789, con l'ID utente Roblox del giocatore.
  4. Le difficoltà

    Codice semplice, conseguenze reali

    La parte tecnica era volutamente semplice. Il difficile era renderla abbastanza affidabile perché i capi clan se ne fidassero per decisioni su persone vere: gestire i giocatori senza clan, gli errori di rete e le risposte inattese senza mai stampare un risultato fuorviante.

  5. La fine

    Più di quindici clan avvisati

    Abbiamo seguito il truffatore attraverso diversi clan e avvisato più di 15 capi clan, il che ha aiutato a evitare altre truffe negli altri clan di punta. Lo strumento è entrato nella routine di sicurezza del nostro clan, e altri clan hanno iniziato a usarlo come controllo prima di accettare nuovi membri. È la prova che uno strumento piccolo, puntato su un problema reale, può avere un impatto enorme.

Cosa aggiungerei

  • Miglioramenti tecnici

    Ricerche su molti giocatori in una volta, uno storico dei cambi di clan di ogni giocatore, un'interfaccia web e un database per conservare i dati.

  • Funzioni per la community

    Una blacklist condivisa, una rete di capi clan, avvisi automatici per i truffatori noti e un modo per la community di segnalarli.

  • Tracciamento dei giocatori

    Inserisci un ID utente Roblox e vedi subito in quale clan si trova quel giocatore, e con quale ruolo.

  • Interfaccia da riga di comando

    Un solo comando da qualsiasi terminale, facile da inserire nella routine di gestione di un clan.

  • Protezione dalle truffe

    Aiuta i capi clan a seguire i giocatori con cattive intenzioni mentre passano da un clan all'altro.

  • Sicurezza della community

    Rende facile condividere ciò che sai sui truffatori, per un gioco più sicuro per tutti.

Il gioco dietro lo strumento

Pet Simulator 99 è un gioco Roblox molto popolare di BIG Games: si collezionano pet di rarità diverse, si scambiano con gli altri giocatori e ci si unisce ai clan per attività ed eventi di gruppo. Sono gli scambi a rendere possibile una truffa, e i clan a rendere utile automatizzarne il tracciamento.

Esempio di output

text
$ python clan_finder.py 123456789
Player 123456789 is in clan: LEGIT
Role: Member

Come funziona

Player Clan Finder è uno script Python da riga di comando basato sull'API pubblica di Pet Simulator 99. Prende un ID utente Roblox, chiede all'API del gioco i dati di quel giocatore e legge il clan dalla risposta JSON.

py
import sys
import requests

def find_player_clan(roblox_id):
    """Find which clan a player belongs to, through the Pet Simulator 99 API."""
    try:
        response = requests.get(f"https://petsimulator99.com/api/player/{roblox_id}")
        response.raise_for_status()
        data = response.json()
        clan = data.get("clan")
        if clan:
            return {"player_id": roblox_id, "clan_name": clan["name"], "clan_id": clan["id"], "role": clan["role"]}
        return {"player_id": roblox_id, "clan_name": "No Clan", "clan_id": None, "role": None}
    except requests.RequestException as e:
        print(f"Error fetching player data: {e}")
        return None

def main():
    if len(sys.argv) != 2:
        print("Usage: python clan_finder.py <roblox_id>")
        sys.exit(1)
    result = find_player_clan(sys.argv[1])
    if result:
        print(f"Player {result['player_id']} is in clan: {result['clan_name']}")
        print(f"Role: {result['role']}")
    else:
        print("Failed to retrieve player information")

if __name__ == "__main__":
    main()

Come si usa

  1. Clona

    git clone https://github.com/leafranger/Player-Clan-Finder.git
  2. Installa

    pip install requests, l'unica dipendenza.
  3. Avvia

    python clan_finder.py 123456789, con l'ID utente Roblox del giocatore.

Lo stack

  • Base

    Python, Requests, JSON

    Un solo script: Requests per le chiamate HTTP, la libreria standard per tutto il resto.

  • Integrazione

    API di Pet Simulator 99, Roblox

    L'endpoint pubblico dei giocatori del gioco, interrogato con l'ID utente Roblox.

  • Interfaccia

    Riga di comando

    Argomenti in entrata, una risposta di due righe in uscita. Basta avere Python.

  • Gestione degli errori

    Affidabilità

    Giocatori senza clan e richieste fallite ricevono una risposta chiara, mai fuorviante.

Competenze acquisite

  • Integrazione di API

    API di terze parti

    Richieste HTTP, lettura delle risposte JSON e gestione degli errori per un servizio reale.

  • Sviluppo di CLI

    Riga di comando

    Gestione degli argomenti, validazione dell'input e un'esperienza chiara nel terminale.

  • Costruire per una community

    Problemi reali

    Capire di cosa le persone hanno davvero bisogno e consegnare qualcosa che le aiuti subito.

Con quale gioco funziona?

Pet Simulator 99 su Roblox. Si appoggia all'API pubblica del gioco, che è quella che restituisce il clan di un giocatore.

Dove trovo l'ID utente Roblox di un giocatore?

È il numero nell'indirizzo del suo profilo Roblox, come in roblox.com/users/123456789/profile.

Cosa serve per usarlo?

Python e la libreria Requests. Clona il repository, pip install requests e avvia lo script con l'ID utente.

E se il giocatore non è in un clan?

Lo strumento lo dice ("No Clan") invece di fallire, e una richiesta fallita riceve un messaggio di errore chiaro.

Il codice è disponibile?

Sì, su GitHub.

Release

Le ultime release, direttamente da GitHub.

  1. v1.0.0

    v1.0.0

    Nessuna nota di rilascio.

    GitHub

Ti serve qualcosa di simile?

Dimmi cosa deve fare, dove gira e per quando ti serve.

Contattami