CollabVMSharp/README.md

36 lines
1.1 KiB
Markdown
Raw Normal View History

2023-03-08 19:10:41 -05:00
# CollabVMSharp
CollabVM client library in C#.
2023-03-08 19:24:52 -05:00
## 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
2023-03-08 19:10:41 -05:00
```cs
2023-03-08 19:46:08 -05:00
using System;
2023-03-08 19:10:41 -05:00
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?");
2023-03-09 15:42:10 -05:00
// Add a command
cvm.RegisterCommand("!test", (username, args) => {
Console.WriteLine($"You said {String.Join(", ", args)}, {username}!");
});
2023-03-08 19:10:41 -05:00
// 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
2023-03-08 19:45:55 -05:00
Console.WriteLine(await cvm.QEMUMonitor("info block"));
2023-03-08 19:10:41 -05:00
// Send a message when someone takes a turn
cvm.TurnUpdate += async (_, e) => {
await cvm.SendChat($"You have the turn, {e.Queue[0].Username}!");
};
```