Out of the box, Ubot Studio is a great program for creating automated web bots. It comes with a ton of features and options, but sometimes you need functionality that Ubot Studio doesn’t provide. Luckily, Ubot Studio provides an API (Application Programming Interface) that allows developers to create custom plugins that extend the product and add additional functionality. This powerful capability is what really sets Ubot Studio apart from the competition in my opinion.
Ubot Studio has a decent wiki tutorial that covers the very basics of creating Ubot plugins and details on obtaining a plugin key from Ubot support. In order for a plugin to fully integrate and work with Ubot Studio, the developer must submit a support ticket and ask for a plugin key. Also, you should read up on the Terms of Service agreement for building Ubot Studio plugins.
According to Ubot support, if you plan on creating plugins that are going to be given away for free, you can obtain a free open source key. This type of key requires you to provide the source code of the plugin as an open source project to the community.
Those looking to make money off custom Ubot plugins, will need to purchase a paid production plugin key which can cost as much as $100. You will also need to provide details about your plugin in your support ticket such as plugin name, description and author. All plugins require approval from Ubot support and they do not guarantee approval. My advice is to contact support for more information before you start your first big paid plugin project. The last thing you want is to find out after putting in all the hard work of building your paid plugin that it’s not approved!
Having said all that, you can still create custom Ubot plugins without a key. You will receive a nag screen when you add the plugin to Ubot Studio and you will get the same nag screen each time a command or function from your plugin is executed.
Tip: If you plan on compiling and testing your custom plugin in a standalone bot and that plugin doesn’t have a key, the plugin will not execute in the compiled bot. It took me a while to figure that part out and I had to ask Ubot support for a free key to be able to test my plugin in a compiled version of my bot.
Software and Skills Needed to Create Ubot Plugins
There are only 2 pieces of software that are needed to start developing plugins for Ubot Studio. You will, however, need a Windows based PC to develop plugins, unless you are running emulation software such as Parallels for the Apple Mac.
As for development skills, you should have some programming background. Of course having experience developing .NET applications using Visual Studio is a huge plus, but if you have experience with Java or C++ the concepts will be familiar to you. If you are a beginner, I would suggest that you read up on .NET programming first and gain conceptual knowledge before starting on this adventure.
First, you will need Microsoft Visual Studio and the .NET Framework. You can download Visual Studio Community Edition 2015, which is the latest free, fully functioning development environment from Microsoft.
If you have older versions of Visual Studio, that’s ok too, but just know that the minimum requirement is Visual Studio 2010.
Developers can use either C# or Visual Basic .NET development languages to create plugins. At a minimum, you will need to compile your plugin using the .NET Framework version 4.0.
Ubot plugins are built using WPF (Windows Presentation Foundation) projects not Windows Forms projects. If you are a .NET developer you already know that there is a distinct difference between the two types of projects. We won’t get into that here, but just know that you will be using WPF to build your plugins.
Second, you will need to download the UBotPlugin.dll library file from http://www.ubotstudio.com/files/plugins/UBotPlugin.dll. This library dll contains all the necessary API interfaces needed to allow your plugin to talk to Ubot Studio.
Once you have installed Visual Studio and downloaded the UBotPlugin.dll library, you are ready to get started creating your first plugin.
Types of Ubot Plugins
The 2 basic types of plugins that you can create for Ubot Studio are commands and functions. Each type can accept input parameters in the form of a list, table, variable or text value.
A command is used when you want to execute an individual task such as making a HTTP call to an external resource, open a file on the host computer or rename all the files in a particular directory. Commands do not have a return value and so basically they are fire and forget types of interactions within Ubot Studio.
You can use custom commands to interact with other systems, run files outside of Ubot compiled applications, or update data in an external database. The possibilities are endless.
A function is used when you want to execute a task and return a result or value. An example of a simple function would be a find and replace function. The function would accept 3 parameters: the text you want to search, the find text value and the replace text value. The function would do a find and replace on the original text passed in as a parameter and return the result of the modified string or text.
Functions can return the following types of values: list, table, variable or text.
Other Types of Commands
Commands can be further extended to create command wizard windows and command containers. The wizard command allows the developer to create separate windows that can be interacted with like color pickers and dialog windows that contain other controls such as textboxes and dropdown lists. Command containers are special commands that allow for other commands to be placed inside the container and executed upon. A command container that loops through and executes each child command several times is simple example of command containers.
In our next tutorial, we will create our first real world Ubot plugin from the ground up. To get started, you will need to have installed Visual Studio and downloaded the UBotPlugin.dll API library.
See How To Create Ubot Plugins – Creating Your First UBot Plugin Project to get started creating your first UBot plugin!