matrix-rasa

A rasa bot for matrix based on the data from matrix.org
git clone git://archive.git.mtrnord.blog/MTRNord/matrix-rasa.git
Log | Files | Refs | LICENSE

commit 0587df2cd29ff2f37e72c2557495105bf0090cf6
parent 21e85e2fa9146131e77faef59ce24178976af9a4
Author: MTRNord <mtrnord1@gmail.com>
Date:   Thu, 18 Jan 2024 20:00:01 +0100

Add some homeserver support and make sure thank you causes the correct intent

Diffstat:
Mdata/nlu.yml | 9++++++++-
Mknowledge_base_data.json | 146+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mscripts/matrix_org_to_json.py | 11++++++++++-
3 files changed, 164 insertions(+), 2 deletions(-)

diff --git a/data/nlu.yml b/data/nlu.yml @@ -14,13 +14,13 @@ nlu: - good morning - good evening - hey there - - Hi - intent: goodbye examples: | - bye - goodbye - see you around - see you later + - thank you - intent: query_knowledge_base examples: | - What [matrix clients]{"entity": "object_type", "value": "client"} can you recommend? @@ -29,6 +29,13 @@ nlu: - Which matrix tools can you recommend with an [Apache-2.0](licence) licence? - Which tools are using the [Apache-2.0](licence) licence? - Which tools are using the [MIT](licence) Licence? + - Where can I [host]{"entity": "object_type", "value": "provider"} my Homeserver? + - Which [Homeserver]{"entity": "object_type", "value": "server"} options exist? +- synonym: Homeserver + examples: | + - Homeserver + - Server + - Serversoftware - synonym: client examples: | - matrix clients diff --git a/knowledge_base_data.json b/knowledge_base_data.json @@ -1602,5 +1602,151 @@ "room": "#source:etke.cc", "id": 20 } + ], + "server": [ + { + "name": "Synapse", + "description": "Matrix.org homeserver", + "author": "Matrix.org team", + "maturity": "Stable", + "language": "Python", + "licence": "Apache-2.0", + "repository": "https://github.com/matrix-org/synapse/", + "room": "#synapse:matrix.org", + "id": 0 + }, + { + "name": "Dendrite", + "description": "Dendrite is a second-generation Matrix homeserver written in Go!", + "author": "Matrix.org team", + "maturity": "Beta", + "language": "Go", + "licence": "Apache-2.0", + "repository": "https://github.com/matrix-org/dendrite", + "room": "#dendrite:matrix.org", + "id": 1 + }, + { + "name": "Conduit", + "description": "Conduit is a simple, fast and reliable chat server written in Rust", + "author": "Timo Kösters", + "maturity": "Beta", + "language": "Rust", + "licence": "Apache-2.0", + "repository": "https://gitlab.com/famedly/conduit", + "room": "#conduit:matrix.org", + "id": 2 + }, + { + "name": "Construct", + "description": "Construct is a C++ Matrix Homeserver", + "author": "Jason Volk", + "maturity": "Beta", + "language": "C++", + "licence": "BSD", + "repository": "https://github.com/matrix-construct/construct", + "id": 3 + }, + { + "name": "Ligase", + "description": "Ligase is a Cloud-native Matrix home server written in Golang.", + "author": "Finogeeks team", + "maturity": "Obsolete", + "language": "Go", + "licence": "AGPLv3", + "repository": "https://github.com/finogeeks/Ligase", + "id": 4 + }, + { + "name": "bullettime", + "description": "An experimental golang Matrix homeserver", + "author": "Patrik Oldsberg", + "maturity": "Obsolete", + "language": "Go", + "licence": "Apache-2.0", + "repository": "https://github.com/matrix-org/bullettime", + "id": 5 + }, + { + "name": "Dendron", + "description": "Discontinued in favour of Dendrite (\"Dendron, done right\")", + "author": "Matrix.org team", + "maturity": "Obsolete", + "language": "Go", + "licence": "Apache-2.0", + "repository": "https://github.com/matrix-org/dendron", + "id": 6 + }, + { + "name": "jSynapse", + "description": "", + "author": "Swarmcom", + "language": "Java", + "maturity": "Obsolete", + "licence": "Apache-2.0", + "id": 7 + }, + { + "name": "Maelstrom", + "description": "A high-performance Matrix Home-Server written in Rust designed to be scalable, light on resources, and have a pluggable storage engine.", + "author": "Chris Bruce", + "maturity": "Obsolete", + "language": "Rust", + "licence": "Apache-2.0 OR MIT", + "repository": "https://github.com/maelstrom-rs/maelstrom", + "room": "#m-server:matrix.org", + "id": 8 + }, + { + "name": "Matrex", + "description": "A WIP toy Matrix server implementation in Elixir.", + "author": "Ryan Johnson", + "maturity": "Obsolete", + "language": "Elixir", + "licence": "MIT", + "repository": "https://github.com/bismark/matrex", + "id": 9 + }, + { + "name": "mxhsd", + "description": "mxhsd is Matrix Homeserver aimed towards entities who want to have in-depth control of their servers", + "author": "Max Dor", + "maturity": "Obsolete", + "language": "Java", + "licence": "AGPL-3.0-or-later", + "repository": "https://github.com/kamax-io/mxhsd", + "id": 10 + }, + { + "name": "Pallium", + "description": "", + "author": "KoFish", + "language": "Go", + "maturity": "Obsolete", + "licence": "Apache-2.0", + "repository": "https://github.com/KoFish/pallium", + "id": 11 + }, + { + "name": "Transform", + "description": "Transform is a matrix homeserver built using Typescript and Redis.", + "author": "bettiah", + "maturity": "Obsolete", + "language": "TypeScript", + "licence": "Apache-2.0", + "repository": "https://github.com/bettiah/transform", + "id": 12 + }, + { + "name": "Telodendria", + "description": "Telodendria is an open source Matrix homeserver implementation written from scratch in ANSI C and designed to be lightweight and simple, yet functional.", + "author": "Jordan Bancino", + "maturity": "Alpha", + "language": "C", + "licence": "MIT", + "repository": "https://git.telodendria.io/Telodendria/Telodendria", + "room": "#telodendria-general:bancino.net", + "id": 13 + } ] } \ No newline at end of file diff --git a/scripts/matrix_org_to_json.py b/scripts/matrix_org_to_json.py @@ -6,7 +6,7 @@ import toml BASE_PATH = Path("../../matrix.org") ECOSYSTEM_PATH = BASE_PATH / "content/ecosystem/" -output_json = {"client": [], "provider": [], "sdk": [], "integration": []} +output_json = {"client": [], "provider": [], "sdk": [], "integration": [], "server": []} clients_path = (ECOSYSTEM_PATH / "clients").glob("*.md") id = 0 @@ -52,5 +52,14 @@ for provider in providers["providers"]: output_json["provider"].append(provider_json) id += 1 +servers_path = ECOSYSTEM_PATH / "servers" / "servers.toml" +servers = toml.load(servers_path) +id = 0 +for server in servers["servers"]: + server_json = server + server_json["id"] = id + output_json["server"].append(server_json) + id += 1 + with open("../knowledge_base_data.json", "w", encoding="utf-8") as f: json.dump(output_json, f, ensure_ascii=False, indent=4)