{"id":22694910,"url":"https://github.com/xforever1313/rau","last_synced_at":"2026-02-13T08:43:24.500Z","repository":{"id":265597510,"uuid":"895330295","full_name":"xforever1313/Rau","owner":"xforever1313","description":"An AT-Proto bot framework that allows one to post to a PDS node","archived":false,"fork":false,"pushed_at":"2025-04-02T02:28:59.000Z","size":236,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-09T09:35:08.972Z","etag":null,"topics":["at-protocol","bluesky-bot","bsky-bot","dotnet","pds","rss"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xforever1313.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":"License.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-28T02:15:36.000Z","updated_at":"2025-04-02T02:29:02.000Z","dependencies_parsed_at":"2024-12-07T22:21:02.215Z","dependency_job_id":"9216fd67-fb40-4a95-9723-450acfc0300a","html_url":"https://github.com/xforever1313/Rau","commit_stats":null,"previous_names":["xforever1313/rss2pds","xforever1313/rau"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xforever1313%2FRau","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xforever1313%2FRau/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xforever1313%2FRau/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xforever1313%2FRau/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xforever1313","download_url":"https://codeload.github.com/xforever1313/Rau/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250297442,"owners_count":21407212,"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":["at-protocol","bluesky-bot","bsky-bot","dotnet","pds","rss"],"created_at":"2024-12-10T03:10:15.716Z","updated_at":"2026-02-13T08:43:19.450Z","avatar_url":"https://github.com/xforever1313.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rau\n\nRau is a framework that allows one to create bots to post to a PDS (personal data server) running on the AT protocol (AT-Proto).  Therefore, this can be used to write Blue Sky bots.\n\nDon't be dick and use this for spamming.  Only make fun or useful bots with this framework.\n\n## Configuration\n\nConfiguration of the bot is unique.  It is not a YAML or JSON or similar format, it is a custom C# configuration file that is compiled and run when the bot starts up.  See [RauConfig.cs](https://github.com/xforever1313/Rau/blob/main/Docker/rau/RauConfig.cs) inside of the ```Docker/rau``` directory of this repository for an example configuration.\n\nWhen running Rau, this configuration file should be passed into Rau via any one of the following methods:\n\n* Command line argument\n  * Pass ```--config_file=\u003cpathToFile\u003e``` to your config file during startup.\n* Environment Variable\n  * Set the environment variable ```RAU_CONFIG_FILE``` to the path to the config file.\n  * The command line argument takes priority over environment variables.\n* Default location\n  * The default location of the config file is in your user's roaming application data folder inside of a ```rau``` folder.  On Windows, this is ```C:\\Users\\\u003cUserName\u003e\\AppData\\Roaming\\Rau\\Config.cs```, and on Linux this is ```/home/\u003cUserName\u003e/.config/Rau/Config.cs```.  This file is used if no command line argument or environment variable is passed in.\n\nTo check to see if the config file will compile, pass in the ```--check_config``` command line argument when starting Rau.  If Rau exits with an exit code of 0, the config file's syntax is correct.\n\n## Plugins\n\nThis bot can be extended by plugins.  The default Rau install comes with several default plugins you can use.\n\nTo implement your own plugin, you need a class that has a \"RauPlugin\" attribute that implements the IRauPlugin interface.  See a basic plugin example in Rau's [Canary Plugin](https://github.com/xforever1313/Rau/blob/main/src/Plugins/Rau.Plugins.Canary/CanaryPlugin.cs).\n\nFor more information on creating plugins, see our [Wiki page](https://github.com/xforever1313/Rau/wiki/Creating-Plugins) on it.\n\n## Running\n\nAt the moment, the recommended method of running Rau is via Docker.  There is a Docker folder in the root of this repository you can copy that contains a docker-compose file.  Edit that and the RauConfig.cs file inside of the rau folder, and then run ```docker compose up -d```.  If you ever edit RauConfig.cs, you'll have to run ```docker compose up --force-recreate --build -d``` to ensure the new docker container takes your config.  Note, on some operating systems, the command may be ```docker-compose``` instead of ```docker compose```.\n\nIf you do not wish to install docker, you can download a zip file that is compatible with your operating system from the [releases](https://github.com/xforever1313/Rau/releases) section of Rau's GitHub page.  You will also need to install the Dotnet 8 ASP.NET Core Runtime.  Instructions on how to download it are on Microsoft's website [here](https://dotnet.microsoft.com/en-us/download/dotnet/8.0).  From there, unzip the zip file and run ```./Rau --config_file=path/to/your/config/file.cs``` inside of the unzipped ```bin``` directory (```Rau.exe``` if on Windows).\n\nThere are plans to make a Windows Service and a Systemd file, but those are not implemented yet.\n\n## Name\n\nRau is named after the Bionicle Kanohi mask [Rau](https://bionicle.fandom.com/wiki/Rau), which was the mask of translation.  The original intent of Rau was to get updates from a source (such as RSS) and translate them to the PDS format.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxforever1313%2Frau","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxforever1313%2Frau","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxforever1313%2Frau/lists"}