Restbot
The original project was hosted on code.google.com/p/restbot and was automatically exported to GitHub once Google shut down their own free code repository services; subsequent development is now being done here on GitHub.
Install / Use
/learn @GwynethLlewelyn/RestbotREADME

README File - RESTBot
Revisions
- Written August 9, 2007 - Pleiades Consulting, Inc
- Revised June 5, 2010 - Gwyneth Llewelyn (notes on compilation)
- Revised November 21, 2021 - Gwyneth Llewelyn (updates for a lot of things)
- Dramatic changes made on November 23, 2021 - Gwyneth Llewelyn
Overview
RESTBot is a C# webserver that uses RESTful transactions to interact with a bot in Second Life or OpenSimulator. This bot (or a collection of bots) is started through a REST command and can be stopped the same way. The software is extremely modular, and is designed to easily accept plugins that developers can write (in C#) to add more complex interaction between a web application and a Second Life® bot (a non-human-controlled avatar). More information about Plugins is on the wiki.
Note: The wiki is still under reformulation and may not correctly represent the state-of-the-art of RESTbot (gwyneth 20211123)
Preparing the compilation environment
Under Windows (not tested)
Probably you only need to get the Community version of Visual Studio, which should install everything you need.
Make sure you select a version that supports (at least) .NET 6.0.
Under macOS:
There are basically three possible ways to get RESTbot to compile and run. Let's start with the more straightforward one, which only relies on the command line.
Get Mono
Install Mono. To save time (in fixing dependencies...) just use Homebrew:
brew install mono
export MONO_GAC_PREFIX="/usr/local"
You may wish to add the latter to your ~/.bashrc or equivalent.
Note: There is a chance that a working Mono environment is not even needed any more! (gwyneth 20211129)
If you wish to avoid later errors regarding the lack of libgdiplus, you ought to install it as well:
brew install mono-libgdiplus
Add the .NET environment
brew install dotnet-sdk
export DOTNET_ROOT=/usr/local/share/dotnet/
At the time of writing, you need at least .NET 6.0.15 (a long-term support version). If you use brew install dotnet-sdk in 2023, it should give you version 7 by default. brew install dotnet-sdk-preview should give you version 8.
Compile it
cd /path/where/you/have/installed/restbot
dotnet msbuild
dotnet is Microsoft's megatool for managing .NET packages and (new) applications; the above command invokes msbuild, Microsoft's all-in-one building tool, which, in turn, will handle code dependencies, figure out what to compile, invoke Microsoft's Roslyn compiler, and generate an executable that runs directly under macOS.
Optionally, you may wish to run dotnet msbuild -m to get the Microsoft compiler to use several cores in parallel (by default, everything is compiled sequentially).
There will be quite a lot of warnings, mostly due to the lack of XML comments on the (many) functions. This is a work-in-progress — these days, it seems that it's almost 'mandatory' to have all functions properly documented, so that an automatic documentation file (RESTbot.xml) is generated. This is a Good Thing, but, remember, this code was written mostly a decade ago, when good practices such as documenting code were not enforced, so it means going back through all those old functions and figuring out what each of them does... thus the warnings.
There are also a few warnings not related to documentation, basically some stricter checking on initialisation values. These will also be addressed over time; the main goal, for now, is to get it compiled and running.
Once compiled, the new executable should be generated under restbot-bin/net6.0, RESTbot. This is a standalone executable — actually, the runtime which will load RESTbot.dll (also compiled on the same directory). The amazing thing is that, these days, Microsoft doesn't even require people to use Mono at all — they get their Roslyn compiler to generate native code wrapped around the DLL. What could be more amazing? (Note to self: grumble to the OpenSimulator guys to get them to do the same.) We truly live in interesting times.
Also note that if you managed to install the pre-requisites using Homebrew, you should also be able to compile things for your brand new Apple Silicon CPU. Aye, Microsoft is that nice with their latest-generation Roslyn compiler.
Before you launch RESTbot, you'll need to create a configuration.xml file with the parameters for your grid, and where the 'bot should start. Go ahead and jump to the configuration section.
Note: To clean up everything and start a compilation from scratch, you can use the following target:
dotnet msbuild /t:CleanOutDir
This should be cross-platform-safe (as far as I can test it, of course!).
... or you can just use Visual Studio for Mac!
You wouldn't believe the tools that Microsoft has come up with to persuade non-Windows users to surrender to their integrated environment. These days, you can get Visual Studio for Mac — not the free and open-source Visual Studio Code, which is a humble code editor, albeit one with a megaton of features; but rather Microsoft's own full-blown IDE with all the bells and whistles, and which looks like the Windows equivalent, but with a more Apple-ish look.
In theory, all you need is to install it — please make sure you get a version which works with .NET 6.0; currently, this is Visual Studio 2022 for Mac Preview but expect Microsoft to move on to a non-preview (i.e. stable) version soon. Earlier versions will not work.
If you want to do actual development, especially starting the project from scratch (to adapt it to different environments, for example, such as virtual machines, Docker containers, Azure or even AWS cloud services, whatever...) then I really recommend using Visual Studio for Mac. In fact, I wasn't able to generate all the required files manually, without recourse to Visual Studio; VS basically 'prepares' everything properly, starting from the included .csproj (which gets changed as new references get included and others are removed), to get you a 'working' project. Once that project is generated properly, then you can use the command-line tools.
The third way...
So you're not really fond of IDEs, much less Microsoft's? You're not alone. If you don't trust Homebrew, either — or are used to a different package management system (such as MacPorts) and don't want Homebrew to interfere with it — then Microsoft gives you a further choice: just install dotnet directly from Microsoft. This can be done just for the current user (in which case everything will be installed under ~/.dotnet/) or globally for all users.
Note that, as said before, I could not figure out how to pre-generate all project files, with all correctly included and imported things, just via the command-line tools. But once these are generated and in place (as they are when you download/clone this project), then any set of command-line tools that support NET 6.0 ought to do a successful compilation.
Under Linux:
It's basically the same as using the command-line tools under macOS; you can follow those instructions if you wish. These days, Homebrew also works under Linux, so the instructions would be the same; but possibly you will prefer to run your 'native' package manager, be it apt (Debian/Linux) or yum (Fedora, CentOS, RedHat) or whatever is fashionable these days. You'll have to check what versions of Mono are available; remember that you'll need a 'developer' edition, and don't forget to double-check that msbuild and csc (the Microsoft Roslyn C# compiler) comes as part of the package as well.
Microsoft has excellent resources to help installing dotnet under the many Linux distros. For example, Ubuntu's instructions are here. You have several options available; personally, I've chosen to add the Microsoft repository so I can use apt. It works like a charm!
Note that Microsoft does not explicitly tell that you should also get nuget using, say, sudo apt install nuget (once the Microsoft repository has been added as explained on the previous link). Once installed, just run nuget restore on the root directory holding the RESTbot sources, and Bob's your uncle.
Sadly, at the time of writing, there is no Visual Studio desktop IDE for Linux. You can, however, use many of Microsoft's tools being called from the command line and integrate those in Visual Studio Code, which is available for Linux as well.
Again, like
Related Skills
node-connect
347.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
108.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
347.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
347.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
