UI elements and some Flow Commands

In this tutorial we are going to go over UI Elements, the wait finish command, the in sub window command, the If command and the thread command.

UI Elements-

Drag the UI text box command into your script window. Give it a label and a variable. A UI text box will appear at the top of your screen.

Anything you put into that text box will be your variable. Drag over the field that you wish to fill and apply the UI variable that you just created.

So whatever you type in the box at the top will appear in the field you chose to fill.

You can load files from your computer or create a file and save it. Just drag over the UI open file into your script. After you give it a label and apply the variable, any file you load into the UI open file will go into the field you wish to fill. This is good if you want to upload a video to a website.

UI list box- You can create a list of words to choose from. When the parameter window pops up, type the words you want a list of into the values box separated by commas. Your list will appear at the top of the window. Drag the field you wish to fill into the script window and apply the variable you created for the UI list box. Now, whatever word you choose in the list, will be filled into the field.

For a block of text, use the UI block text element.

I will explain the UI Stat Monitor later in this tutorial.


Wait Finish Command allows a page to load before moving on with the rest of the script. If you forget to add in a wait finish, it will continue to go on with the script before everything can load. This can create problems with what you are trying to accomplish.  So always try and remember that anytime you are going to click a button to go to another page, add a wait finish command. The navigate command has a built in wait command.

The time out option works so that if a page takes longer than 30 seconds to load, it will just continue on with the script.

The Delay command delays the script for however long you want. This works if you want to look over the page, or wait to see if anything pops up before continuing on with your script.

There are also stop script and pause script commands. These are good if you are having troubles with your bot. You can add the stop or pause command into your script so it will stop it at a certain point and not run through the whole bot and you can diagnose problems.

The Loop command- is a very useful tool. It will repeat whatever action you tell it to as many times as you want.

When you drag the loop into the script window, it will ask you how many cycles you want it to loop for. You can put a variable, a constant, tell it to do one loop cycle for one thing in a list, or just have it loop for a certain number of times in a row.

For example, maybe you want to create 10 different user names with 5 different first and last names.

So drag all of your commands that you created in the loop. In order to get the user names, names, passwords, etc to change you have to use the create account command.  Drag the create account command into your script window. Put it at the very top and choose the gender you want the user names to be. This tool randomizes all of the account constants and what they are going to output.

Make sure when you create a loop, that you don’t forget to add a wait finish command after it clicks submit and before it cycles into the next loop.

Another type of loop is the while loop. This continues to run the loop as long as some condition is met.

Create a variable, give it a label and set the content to 1.

For this example we are also going to see how the UI stat monitor works. So drag the UI stat monitor into your script window and have it watch the variable that you just created. The UI stat monitor will watch your loop command and display which loop it is on at the top of your page.

Drag the while loop into your script.  Right click on the qualifier place holder and choose evaluate. We are going to tell it to continue looping as long as the variable is below 5. So this will make 5 the second value.

In order for your loop to continue on to the next loop, instead of staying in an endless cycle of 1, you have to add in an INC command.  Drag the inc to the bottom of your script. This increases the variable count by 1.

The search page qualifier allows you to have UBot search for a certain word on a page. As long as this word is available on the page, it will continue to loop. Or you can tell it to continue doing the loop until a certain word  is found on the page. Once it finds that word, the loop with stop.

There is the If command. This lets UBot make a decision. It lets it consider a piece of data that we give it and then it makes a decision based on that data. So if a certain condition is met then preform this task, if it is not met then perform another.

Go to www.ubotstudio.com/playground.  We can tell UBot to search the page for the “Simple Form” link, if it finds this, then we want it to click the link. If it can’t find it, we want it to fill in the about me section on the simple form page.

For this example, I am going to show what you can do when you click a link and it navigates to a different page. Since you are on a different page after clicking the link, the same conditions won’t be met, so you have to tell UBot to do something else.

To do this right click on the simple form link and choose search page. You can highlight what you want it to look for. Drag over the simple form link into the “then” node, this will tell it to click the simple form link.

After we click the simple form link, we are going to be on a different page. Since we are on a different page now, the same conditions won’t be met.  So we have to tell it to do something else.

Drag the about me section into the ‘else’ node. Fill it in with whatever you want. When you run it a second time, it will fill in the about me section.

Thread command- anything that goes inside of this, will happen independently from the rest of the script. It follows it’s own rules, it’s like a script that is running at the same time as the main script.

Sometimes a dialogue window will pop up and stop the script from continuing to run. The solution to this problem is using the thread command. Put the click chosen button for the button that causes the window to pop up,  in it’s own thread. Then drag a delay command into the script window. This delay gives the pop up enough time to pop up before moving on. Use click dialogue button on the left hand side and drag it under the delay command. Enter the command that you have to click on the pop up (ex: OK) This will click the button in a separate thread, and because it does this, it is free to move on with the script.

In sub window command- it does everything you put inside it, in another pop up window. Anything you put in your script will happen in a pop up window. When it finishes with the commands that are included in the sub window, it will close the window.

The divider- is just something that you can put into your script to make it look cleaner and nicer. If you want, you can divide things into groups, but the flow has to remain the same.

In the next tutorial, we will cover the different ways you can work with lists.

UbotStudio: Constants

$Constants- Are things that give you the information that you need. They give you  randomly generated pieces of information, ie. a username or password.

Go to the simple form link in the ubotstudios.com/playground

Just like before, drag the text box over to your script window. But this time we are going to choose the variable constant to give us our information.

When the parameter box loads, you’ll notice there are account constants on the left hand side. There are a few different things in there: $first name, $last name, $password, etc which are randomly generated pieces of account information. Just drag the one you want into the node that says “drag parameters here.”

There is a reference number at the top. This number references the first name. Drag a last name into the same box, another reference number will appear. $Firstname (1) $Lastname (2) Hit okay, and then run it. You will see it has randomly generated a first and last name.

There are also $Math Constants

  • $rand- a random number chosen between two numbers
  • $eval- a mathematical expression- solved

The $rand constant picks a number between two numbers. When you hit play, the randomly chosen number will display in your text field. Enter in a mathematical expression into the $eval and when you hit play, the answer will appear in the text field box.

$read file -This takes a file from your computer and returns the information as the constant. It will fill in the field  with the contents inside the file. So if you want to fill in an about me section or post a comment on a blog, you can use the $read file constant. Drag the text field that you wish to fill into the script window. When the parameter window pops up, go under variable constants and choose the $read file.

Text variable Constants-

You can enter things in $spin format. Drag the field box you wish to fill over into the script window. When the parameter window pops up, look under text constants and choose $spin. This can generate random looking articles. I {went|am going} to the {store|bank}. When you hit play it will pick between the words to chose a sentence. I am going to the store. I went to the bank, etc. Each time you hit play it will generate something new. This is useful for article marketing and things like that.

There is a $nothing constant, which fills it in with nothing.

There is also $replace:

You can replace a word with something else.

EX: I went to the store. We will replace store with the phrase “the best restaurant in town. So when you hit play, it will generate “I went to the best restaurant in town” instead of, “I went to the store”.

You can also choose to replace something and fill it with nothing.

This is good for if you are scraping something like an email address and it has additional information, you can choose to only keep the email address.

We will get more into $variable constants in the Lists tutorial.

There will be a short tutorial on the $System Constants and the $Document constants soon

UBot Studio: Account Creation

The Form Commands  (The Right-Click Menu)

Go to www.ubotstudios.com/Playground and choose simple form. We are going to be working with this form so you can play with some of the commands and gain a basic understanding of how they work.

We are going to create an imaginary account. The easiest way to do this,  is to drag the text field box you want to fill, over into your script window. The parameter window will  pop up, and you can fill it in with the username you want. Do this with each fill field box. Then click and drag the submit button into your script window. Remember to check the flow.

____________

For this lesson go to ubotstudios.com/playground and click on the difficult form link.

When you try to create an account like we did before, you will see that when you click and drag the text field box over, the name field is empty. If this name field is empty, it is useless.

Delete this, because we cannot use it. Right click in the text field box and select “choose by attribute.” Find the attribute that best describes what you are looking for. In this case it is “id.” When you click on “id” you can see that the search string is filled with “username.” Since we are trying to fill in the username text box, this is the one we want.

Now you have to right click in the username fill field box. This time you want to select “change chosen attribute.” This allows you to tell UBot what you want the username field to be filled in with. When the parameter window pops up, you want to choose “value” because we are changing the value of the text field.

So the flow will describe what you want the bot to do. It will look for the attribute, choose it and then change it to the value you selected.

Do the same thing for each box you want to fill in. Remember after you “choose by attribute” you have to “change by attribute” and change the value.

If you accidentally chose the wrong attribute, you can right click on the node and click edit.

Sometimes you will not be able to simply drag the submit button into your script. You have to do the same thing as you did with the other fields. Right click the submit button and click choose by attribute. It may not have an ID so you have to look for something that is unique to only it (ie: something that says submit) Now you have to tell UBot to click it. To do this, right click on the button and choose “Click chosen”

As soon as it clicks this button it will load the next page.

Usually you will want to wait for the page to finish loading before you move on to the next command in the script. It is smart to get in the habit early on of adding in a Wait Finish Command, after the click chosen command. To do this, simply go into the Flow Commands on the left hand side and choose Wait Finish.  This allows your script to finish loading before going on to the next page.

UBot Studio: Basic Concepts

Basic Concepts

A script- is a collection of commands placed together for a specific purpose. Some examples of scripts you can create are:

  • a script to create an account for you on a website
  • a script to scrape data from a different website
  • a script to help you reach a lot of people quickly on popular websites.

You can work on multiple scripts at the same time. To create a new script, click on the new script button at the top. Each tab is a different script. Each script can have a different set of commands that you want UBot to follow.

A bot- is the entire system that you are creating. A bot is your finished script of commands that you want UBot to perform.

The browser in UBot, is basically a miniature version of internet explorer. It functions like a normal web browser but with advanced functions that let you interface it with UBot. If you right click on the web browser page, a context menu will pop up. Based on what you choose within that menu, it will gather information from the page. More of how the UBot browser works will be explained throughout the tutorials.

Types of Nodes – A node is like a word in a sentence. It can tell UBot to do something or it can modify the way another node tells UBot to do something. There are: command nodes, text nodes, constant nodes, variable nodes, list nodes, table nodes. A Node is basically every little command box inside the bot.

One way to get nodes into the script window is to simply drag the commands from the toolbar on the left into the script.

Two- you can right click in the script window (where it says drag and drop commands here) and a menu will appear with all of the nodes available in the left hand toolbox.

Three- is to simply start typing in the command you need into the script window. Click where it says “drag commands here” and start typing. A search toolbox will pop up and show the list of commands to choose from. It will find any command that starts with the letters you have typed. Double click on the command you are looking for.

A fourth way is to right click within the browser. Some commands can interact with the browser.

A fifth way is you can click and drag a link from the page into the script window. This will create a command for you. Based on the element that you are dragging into the script window, UBot will decide what it thinks you want to do. By dragging the simple form link into the script window, UBot will know that you want to click that link.

A Parameter is a certain type of node. These explain something to another node, and they tell other nodes what to do/how to do their job. It can be given to a command, or it can be given to another parameter.

  • String parameters- dark red, a string of text
  • constant parameter- giving you some piece of information. $green
  • Variable parameter- #purple, holds a value- you can change it, it is flexible
  • list parameter- %salmon color. A collection of data, a collection of variables.

EX: If you want to create a navigate command. Drag the navigate command into your script window; a parameter window will pop up.  This window sets what the parameters will be for this specific node.  Navigate is a command node, the navigation node contains two parameter nodes.

Flow- describes the order in which things execute. If you are having trouble with something in UBot or your script and you can’t figure it out, usually it has something to do with the flow. So be sure to always look at the flow.

$Constants- Are things that give you the information that you need. It gives you a randomly generated piece of information, ie. a username or password.


#Variables- Hold some kind of value. You can tell it what to be, it is flexible and you can change the value. #Variables are kind of like a note card. You can write on it with a pencil, erase it and write something else. It’s like a little nugget of information that you can change whenever you want to.

Set Command- sets a variable to a given value. The set command is under the Variable commands on the left hand side. Drag the set command into the script. Name the variable anything you’d like. Then enter the content you want it to say. Drag the username box over into the script window. Where it says enter text, chose insert variable. Then chose the #variable that you just created. Then it will fill the username box in with what content you entered.

You can edit the content of the variable. By right clicking on the content node and going to insert, and then insert string. This will change the value of the variable.

These are just a few of the basic concepts in UBot Studio, we will get into more detail of how everything works in later tutorials.

UBot Studio 3.3….. Stable!?!?

After weeks of development, hundreds of bugs, hundreds of fixes, the pain and the joy of the debugging process, customers hesitant to change, customers overjoyed with raw power and speed of the new system, and a few thousand lines of code, I think we’re just about ready to unleash 3.3 stable on an eager public. To those who are using the betas, please keep a hawk-eye out for bugs from here until the stable version is released, and report any glitches that will hold back the stable status.

If you’re used to the 3.1 system and the 3.3 system seems different and like it may take some getting used to, keep an eye out, as we will release a few videos to show the major changes and assist in making sure that the transition is as smooth as possible.

I want to let you all know that we truly appreciate all the feedback that we’ve gotten during the creation of UBot Studio 3.3. Your feedback has allowed us to create a powerful and structurally sound piece of software that’s built around your needs. Keep letting us know how we can improve UBot Studio and we will keep revolutionizing the field of internet marketing.

UBot Studio 3.3 Beta Release x63

Hey — we have fixed the following bugs in the UBot Studio 3.3 – Beta Release Version x63. Thanks being involved in the private beta and look forward to your continued feedback. We are hoping this to be the final beta release before we roll-out the UBot Studio 3.3 Release Candidate 1 on the public update system.

fixed: create compilation system (not yet implemented into system)

fixed: edit will fail on the wrong type of parameter

fixed: ctrl-v pastes over blank space command

fixed: run sub parameter window has a blank space

fixed: error when loading bots

Please note that the old bug threads are now void and have been closed. If you find that a problem is still there, please report it again as a new thread.

Download Instructions: Please download the new file from the same link as it was given to you initially. The URL for download is http://ubot.me/beta-3.3/ and the access credentials are the same as before.

You are advised to delete the old beta version from your hard-disk and use the Beta Release Version x63 for testing.

After some bug-fixing and adding new features to the first beta release, we released UBot Studio 3.3 – Beta Release Version x62 with the following updates -

- Added Drag Position Adorners.

- Else command has been added (for if blocks)

- Highlight Works.

- Fixed bug in bot loading routine.

- Fixed some structural issues.

- Fixed textarea drag from browser capability.

- Scrape commands show up.

- Qualifier place holders get replaced.

- Fixed multiple “drag node here” on old bots.

- Upgraded debugging features.

- Fixed threading issue with error reporting.

- Fixed parameter window for run sub and run script.

- Fixed some script window issues.

- The scripts window has been tightened up.

- Bypass Captcha Chosen command has been added.

Try out UBot Studio 3.3 Beta x62 and let us know what you think. Discussion Thread on UBot Studio Forums.

After weeks of development, UBot 3.3 is finally ready. This version completely changes the workflow of UBot Studio in a way that makes it many times faster and more efficient.

Here are some videos that provide a quick overview of the new version

Video 1
Video 2

A few things I forgot to mention in the video:

  • parameters now have labels
  • the script window is animated smoothly
  • if you are dragging something to the edge of the window, it will scroll automatically
  • send keys chosen field now does capital letters correctly
  • a ton of other little changes here and there

If you signed up to receive this limited beta release, then Lord Brar will contact you shortly with instructions on how to download it.

3.15 – The New Update System

We appreciate everyone’s patience with the updates to UBot. We’ve now implemented a more intelligent system, and once you update to this latest version, all subsequent versions will use the new system. A few things to point out here:

First of all, you will now have the choice of whether or not you want to update. There is a possibility of mandatory update, for instance if there are major security concerns, but 99% of the time, the updates will be entirely voluntary.

When you see an update prompt, it will now give you a message about what is in the new update. This gives you the opportunity to look through exactly what features have changed, to let you make a more qualified decision.

There are now 3 types of updates: STABLE, BETA, and MANDATORY. As I stated previously, the mandatory updates will be used sparingly, and only when there is a major security concern or a fundamental system change. A beta release will be made any time we add or change a feature. While we always test things before releasing them, there are many contexts in which UBot is used and sometimes bugs can slip through the cracks. Beta releases will give our power users a chance to try new features and find bugs while casual users can simply wait for the stable releases. A stable release is, as it sounds, a release that has been tested and (hopefully) has no bugs in any new or changed features.

We hope that this change will take some of the edge off of the frequent releases, while still allowing us to provide an ever-evolving platform for growing the power of UBot. Let us know your opinion!

3.14 – timeouts on wait commands

this one was added purely at the requests of a number of users. from now on, when you use a wait finish or wait for command, you’ll have a timeout option, which will allow you to force the script to continue if the command hangs for too long. you will specify the timeout in seconds.

enjoy!