{"id":18085400,"url":"https://github.com/xe/tetra","last_synced_at":"2025-04-12T20:22:43.163Z","repository":{"id":18404973,"uuid":"21586572","full_name":"Xe/Tetra","owner":"Xe","description":"Next generation extended services for TSora","archived":false,"fork":false,"pushed_at":"2015-08-29T18:16:31.000Z","size":3445,"stargazers_count":9,"open_issues_count":13,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-04T11:52:13.728Z","etag":null,"topics":["atheme","completed-project","go","irc","lua"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"zlib","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Xe.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-07-07T21:00:02.000Z","updated_at":"2024-05-06T01:37:47.000Z","dependencies_parsed_at":"2022-09-02T06:44:19.635Z","dependency_job_id":null,"html_url":"https://github.com/Xe/Tetra","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xe%2FTetra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xe%2FTetra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xe%2FTetra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xe%2FTetra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Xe","download_url":"https://codeload.github.com/Xe/Tetra/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248626542,"owners_count":21135680,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["atheme","completed-project","go","irc","lua"],"created_at":"2024-10-31T15:11:07.659Z","updated_at":"2025-04-12T20:22:43.135Z","avatar_url":"https://github.com/Xe.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tetra\n\n[![GoDoc](https://godoc.org/github.com/Xe/Tetra?status.svg)](https://godoc.org/github.com/Xe/Tetra)\n\nTetra is an extended services package for TS6 IRC daemons with Lua and \nMoonscript support.\n\n## Features\n\n- JSON API\n- Lua / Moonscript script loading\n- Hooking on protocol events\n- Hooking on arbitrary events\n- Client/Channel/Server link tracking\n- Statistics via influxdb\n- Persistent data via etcd\n- Atheme integration\n\n### Things still in progress\n\n- Feature parity with Cod\n- Documentation on migration from Cod to Tetra\n- Scripts being able to define webpages\n\nBuilding a script for Tetra is as easy as:\n\n```moonscript\nCommand \"PING\", -\u003e\n  \"PONG\"\n```\n\n## Installation\n\n### From git\n\nYou need the following buildtime dependencies:\n\n- `liblua5.1-dev`\n- `golang`\n- `libsqlite3-dev`\n\nExample commands to set up the global environment needed for Tetra are in the \nincluded `Dockerfile`.\n\n```console\n$ go get github.com/Xe/Tetra\n$ cd $GOPATH/github.com/Xe/Tetra\n```\n\nContinue with configuration.\n\n### From a tarball\n\nInstall `liblua5.1-dev` then extract the tarball and continue with\nconfiguration.\n\n## Configuration\n\nLook at the example config, copy it to `etc/config.yaml` or set\n`TETRA_CONFIG_PATH` to a file on the disk. Edit the config to your needs.\n\n## Running\n\nYou need to set up `etcd` for runtime key-\u003evalue support for Tetra. You also \nneed to set up InfluxxDB if you want to have Tetra track channel and server \nstatistics. An instance of Atheme with the XMLRPC module loaded is required.\n\nYou need the following lua rocks:\n\n- `luasocket`\n- `moonscript`\n- `yaml`\n- `json4lua`\n- `lsqlite3`\n\nAll are available in [moonrocks](http://rocks.moonscript.org).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxe%2Ftetra","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxe%2Ftetra","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxe%2Ftetra/lists"}