35 lines
1.1 KiB
Markdown
35 lines
1.1 KiB
Markdown
# CollabVMSharp
|
|
|
|
CollabVM client library in C#.
|
|
|
|
## Usage
|
|
The API is well documented with XML documentation, meaning hovering over a method or property in Visual Studio or another IDE should give a pretty good idea of how to do things. For a basic usage example, see below
|
|
|
|
### Example
|
|
|
|
```cs
|
|
using System;
|
|
using CollabVMSharp;
|
|
// Instantiate the client
|
|
var cvm = new CollabVMClient("wss://computernewb.com/collab-vm/vm0", "cvmsharptest", "vm0b0t");
|
|
// Connect to the VM
|
|
await cvm.Connect();
|
|
// Send a chat
|
|
await cvm.SendChat("What hath god wrought?");
|
|
// Add a command
|
|
cvm.RegisterCommand("!test", (username, args) => {
|
|
Console.WriteLine($"You said {String.Join(", ", args)}, {username}!");
|
|
});
|
|
// Queue a turn, wait until we get the turn
|
|
await cvm.GetTurn();
|
|
// Type a string into the VM
|
|
await cvm.TypeString("hey sexies");
|
|
// Login as an admin or mod
|
|
await cvm.Login("hunter2");
|
|
// Run a command in the QEMU monitor and get a response
|
|
Console.WriteLine(await cvm.QEMUMonitor("info block"));
|
|
// Send a message when someone takes a turn
|
|
cvm.TurnUpdate += async (_, e) => {
|
|
await cvm.SendChat($"You have the turn, {e.Queue[0].Username}!");
|
|
};
|
|
```
|