Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 19 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,33 @@
# winbot
A Discord bot for interfacing with a VirtualBox VM.
A Discord bot for interfacing with a QEMU VM.
> Fair warning, this branch is *very* buggy as it's pretty much a quick dirty port of the VirtualBox version to QEMU.

## Pre-Setup
1. Install Python 3.8. (If you're able to use `discord.py` with your version of Python 3.9, feel free to use 3.9.)
2. Install VirtualBox.
3. Install `discord.py` and `pywin32` (or your COM library of choice for your platform)
4. Install `virtualbox` by following the instructions at [pypi](https://pypi.org/project/virtualbox/).
1. Install [Python 3](https://www.python.org/downloads/).
2. Install [QEMU](https://www.qemu.org/download/).
3. Install [`discord.py`](https://pypi.org/project/discord.py/) and [`qemu.qmp`](https://pypi.org/project/qemu.qmp/).

## Setup
1. Run `main.py` once. It should generate a new file, `winbot.ini`.
2. Fill out `winbot.ini` with values of your choice. `token` is your Discord bot token, `prefix` is the bot's prefix, `vm_name` is the name of the VM that will be used for the bot, `channel_id` is where the startup message will be sent, and `owner_id` is the ID of the bot owner.
3. Open VirtualBox and create a VM with the same name you used for `vm_name` (if it doesn't already exist.
4. Start the VM through VirtualBox.
2. Fill out `winbot.ini` with values of your choice. `token` is your Discord bot token, `prefix` is the bot's prefix, `channel_id` is the Text Channel ID of where the bot's startup message will be sent and `owner_id` is the User ID of the bot's owner.
3. Start a QEMU VM with `-qmp tcp:localhost:4444,server,nowait` appended to the end of its launch options.
5. Start the bot by running `main.py`.
6. Go nuts!
> Note: You can ignore `vm_name` safely as it is no longer needed, unless you are running multiple QMP enabled QEMU instances at once.

## Commands
```
help Shows this message
keys Get a list of keys you can use with press
mouse Do mouse shit.
ping Ping Pong!
press Send special keys to the VM.
reload Reload the bot config files.
reset Reset the VM. Owner only.
screen Get a screenshot of the VM.
type Sends a long string of text to the VM, followed by a newline.
backspace Really fuckin delete something.
help Shows this message.
keys Get a list of keys you can use with the 'press' command.
mouse Control the mouse.
ping Ping Pong!
press Send special keys to the VM.
raw_command Send raw QEMU inputs.
reload Reload winbot's config file.
reset Reset the VM. Owner only.
screen Get a screenshot of the VM.
type Sends a long string of text to the VM, followed by a newline.
```

Run `help [command name]` for more info on each command.