{"repo":"jpypi/rustix","free":true,"listed":false,"github":"https://github.com/jpypi/rustix","clone":"git clone https://github.com/jpypi/rustix.git","description":"Matrix chat bot written in Rust","language":"Rust","stars":16,"topics":["matrix","bot","chatbot","bots","chatgpt","rust"],"license":"MIT","category":"chat-messaging","readme_excerpt":"About &key width=100) Rustix is a matrix bot/library/framework written in rust. This project does not depend on any 3rd party matrix client libraries, but rather, contains one with only the necessary API calls within. HTTP requests are made directly to a matrix server via the reqwest library. Note: The primary home for this project is on gitlab anywhere else is just a mirror. Running The recommended way to run rustix is to use docker. Instructions for running via docker can be found near the bottom of this document. To run rustix there must be a matrix user account with a password set up. The username and password should be put in config.toml . Rustix uses a database to keep quotes, track \"karma\" (e.g. rust++ or cabbage--) to record likes and dislikes in a channel, among other things. To set up the database, first, create a file called .env which contains a database url to a PostgreSQL database. It should look something like this: (Note: This assumes a database user has been set up and has proper permissions on the proper database.) Next, run the database migrations and compile + run rustix! Architecture The command/filter/service architecture of rustix can be thought of as a directed graph. Service nodes are added to the graph and matrix events get propogated (or blocked) through to child nodes. This makes rustix very flexible. For example: \"self\" filter and prefix filter nodes are prebuilt and it is recommended that new services be added under the prefix filter which is und","default_branch":null,"files":null,"tree":[],"storefront":"/r/jpypi","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/jpypi/rustix/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}