bot / deploy / bot.example.json
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
{
  "name": "duhul",
  "dataDir": "/var/lib/ardegazu-bot/duhul",
  "origin": "https://chat.ardegazu.ro",
  "social": { "enabled": true, "autoAcceptFriends": true, "autoJoinInvites": true },
  "rooms": [],
  "//rooms-banca-example": {
    "//": [
      "A banca entry makes this resident a BANKER: it founds the bank, acks",
      "every settled payment/mint promptly (finality in seconds), answers",
      "knocks, and optionally runs a faucet. Move the entry into `rooms` to",
      "activate it (this `//`-prefixed key is documentation and is ignored).",
      "`secret` is the 43-char room secret — the bot assembles the bank link",
      "<secret>.<its own idPub>; a full <secret>.<bankerPub> value with a",
      "FOREIGN banker half joins read-only instead.",
      "THE CHARTER IS WRITE-ONCE: the first valid charter from the banker IS",
      "the bank, forever — editing name/code/sym/dec/join here after founding",
      "changes NOTHING (the fold ignores later charters by design).",
      "`approve`: \"all\" (default) or \"friends\" (only the resident's own",
      "friends list may open accounts). `faucet` is OFF unless present;",
      "capTotal is mandatory with it, and approve \"all\" + faucet together",
      "are sybil-drainable up to capTotal (accepted, bounded, logged loudly).",
      "`treasury` is OFF unless present: when the banker's OWN balance drops",
      "under `floor`, it mints `amt` to itself (memo \"treasury\") — the",
      "inventory the bursa arm's asks sell from, since every other mint goes",
      "to others. One mint per tick; the balance itself is the idempotence."
    ],
    "example": {
      "app": "banca",
      "secret": "ROOM-SECRET-43-CHARS-BASE64URL",
      "nick": "duhul",
      "charter": { "name": "Banca Duhului", "code": "LEI", "sym": "L", "dec": 2, "join": "approve" },
      "approve": "friends",
      "faucet": { "amt": 1000, "capTotal": 100000 },
      "treasury": { "floor": 2000, "amt": 10000 },
      "ackDebounceMs": 2000,
      "foundDelayMs": 60000
    }
  },
  "fleet": {
    "siblings": [
      "#add=SIBLING-PUB.SIBLING-X.SIBLING-XS&n=moroi"
    ],
    "matchmaker": {
      "enabled": false,
      "games": ["seance", "neon-grid", "valley-blocks"],
      "maxConcurrentSelfPlay": 1,
      "cooldownMs": 60000,
      "jitterMs": 30000,
      "partners": 4,
      "inviteTimeoutMs": 60000,
      "matchTimeoutMs": 900000,
      "maxHumanRoomsForSelfPlay": 2,
      "inviteHumans": 1,
      "humanInviteCooldownMs": 2700000
    }
  },
  "learning": {
    "modelDir": "/var/lib/ardegazu-bot/models",
    "reloadMs": 60000,
    "epsilonSelfPlay": 0.1,
    "epsilonHuman": 0.02
  }
}

static mirror of HEAD · about · clone: git clone https://git.ardegazu.ro/bot.git