Creating a Bot for CollabVM

Revision as of 07:42, 28 December 2022 by Elijah (talk | contribs)

So, you want to create a bot for CollabVM? This guide will take you through the process of doing so. I'll go through available libraries, and also briefly explain how to implement the protocol yourself.

Do you really need a bot?

Before you start creating your bot, ask yourself if you really need it to exist. We've had our fair share of useless bots, and usually end up banning them pretty quickly once they get annoying. Three general criteria can be:

  • Does a bot with the same function already exist
  • Is your bot idea practically useless
  • Does your bot idea break the rules?

If the answer to any of those questions is yes, you should probably come up with a better idea. Note that mods will ban bots at their discretion if they are perceived to be breaking the rules, or are generally annoying to have.

The following is a list of things that are not good ideas for bots:

  • A bot whose sole purpose is to encode and decode ROT13
  • A bot that just sends "facts" about one random guest
  • A bot that is just a shitty notsobot clone and filled with useless commands
  • A bot that "bans" users from the VM by locking it up using a RAT when they take a turn (Rule 9)

If you make any of these things, we will ban it.

Bot Libraries

There are a few existing libraries which allow you to easily create a bot. Here are some of those. If you have a library not in this list feel free to add it.

C#

CollabVMSharp

Written by Elijah. Supports most functions including mod tools. Turns are experimental and may not work. Targets .NET 4.7.2 for compatibility but works on cross-platform .NET Core Link