Jump to content
UBot Underground

HaHaItsJake

Fellow UBotter
  • Content Count

    133
  • Joined

  • Last visited

  • Days Won

    3

Posts posted by HaHaItsJake

  1. I like that, 

     

    No programing background, so expect to see lots questions from me.  Of course no questions untill I have researched something to death :)

     

    Welcome to the Ubot Community! Welcome to drop a message anytime if you need help. I'm almost always online other then sleeping.

    Regards,
    HaHaItsJake 

  2. I do believe that code will do what I need it to. Thanks for that

    ui button("Close Radio") {
        set(#Loop_While, "false", "Global")
    }
    radioon()
    define radioon {
        in new browser {
            set(#Loop_While, "true", "Global")
            set user agent("Chrome")
            set visibility("Invisible")
            navigate("http://usachatbuds.com/radio/", "Wait")
            loop while($comparison(#Loop_While, "=", "true")) {
                wait(1)
            }
            close page
        }
    }
    
    

    There you go. Works perfectly for me. :)

     

    Regards, 

    HaHaItsJake

     

    EDIT: Added in Visibility and User Agent. 

  3. Here, 

    Take a look at this, 

    Let me know if it helps or not! 

     

    ui button("Close Radio") {
        set(#Loop_While, "false", "Global")
    }
    in new browser {
        set(#Loop_While, "true", "Global")
        navigate("google.com", "Wait")
        comment("Other commands, login, channel, etc")
        loop while($comparison(#Loop_While, "=", "true")) {
            wait(1)
        }
        close page
    }
    

    Regards,
    HaHaItsJake

  4. What is your current set-up if you don't mind showing some of the coding so we can see how to implement the feature. 

    If not, 
    Is it Multi-threaded, Single Threaded? 
    Would having the program turn the radio off in that browser or do you want it to close the whole page? 

    Have you tried the Close Page Command within the thread, with a LoopWhile? 

    Regards,
    HaHaItsJake

  5. Hello Ubotters, 


    I have the following completed: 
    If XML contains a Table Cell Value(ID) 

     
    Now I'm trying to 
    If the ID is in the XML, then add a child under the last Child node of the ID
    If the ID is NOT in the XML, I want it to create a new element under the last element. 
     
    I search the XML ID list with xpath praser for ID: R103828466
     
    ID is in XML 
    It then will go to that element, go under the last Data(Child) Element, and insert a new "Data" child element. 
     
    ID is NOT in XML
    It then will go to the very last "Member" element and insert a new "Member" Element with the Attributes then add a Data(Child) Element under the new Member element.
     
    Then I'm also trying to change a certain Attribute. 
    Change R103828466 MemberUntil value.

    I think I'm missing something that is common, but XML with UBot is new to me. 

    XML: 
     
    <?xml version="1.0"?>
    <AccountManager>
      <Member id="R103828466" MemberSince="2014/09/09" MemberUntil="12/31/3030">
        <Data id="1" Last="2014/10/05" Amount="34">
        </Data>
      </Member>
      <Member id="R104950769" MemberSince="2014/08/25" MemberUntil="12/31/3030">
        <Data id="1" Last="2014/10/06" Amount="46">
    -------------------------------------------------------If the ID is in the XML, then add a child under the last Child node of the ID
        </Data>
      </Member>
      <Member id="R105836511" MemberSince="2014/09/24" MemberUntil="12/31/3030">
        <Data id="1" Last="2014/10/05" Amount="20">
        </Data>
      </Member>
      ----------------------------------------------------------If the ID is NOT in the XML, I want it to create a new element under the last element. <Member> NOT <MembershipDetails> With the child "Data".
      <MembershipDetails>
    <Membership id="Rare">
    </Membership>
      </MembershipDetails>
    </AccountManager>

    Regards, 
    HaHaItsJake
     
  6.  

    Hi,
     
    I created a bot with Ubot studio 4, and was able to auto run it with windows tasks scheduler using "/auto" argument at the end of the target file.
    My compiled bot opened and then ran itself and closed.
     
    I need today tu update this one but it's impossible tu auto run it, the bot opens but does not start.
    I know that there is a new feature "run scheduler" with ubot studio 5 but I can't use i because I can't let the bot always open.
     
    Could you help me ? or give me a way to download Ubot studio 4 please to make me able to update my bot ?
     
    Thanks

     

     

    Go to http://support.ubotstudio.com and put a ticket in for the download. 

     

    Regards, 
    HaHaItsJake
  7. Just got it today, LOVEEEE IT. Making my life so much easier already. Just been playing around with it and got it to do what I need.

    BTW: 

    If anyone is trying to search text/value inside the XML from a Table/List use "Contain" and not Compare with $xpath parser. Xpath, if you don't know brings back a full list from ALL elements and just not single/first one like xml parser. I just figured it out. First time with contain always been compare lol. Anywho, hope it's helpful to someone like me. 

    Example Code: (Jacking your #x Dan) Lol 

    (TABLE ATTACHED DOWN BELOW)

    create table from file("{$special folder("Desktop")}/table.csv", &Table With Data)
    set(#x, "<?xml version=\"1.0\"?>
    <AccountDetails>
      <UserID>
        <ID>R10985412</ID>
        <LoginTimes Login=\"23\" UserSince=\"2014/09/23\" LastLogin=\"2014/10/04\">
        </LoginTimes>
      </UserID>
      <UserID>
        <ID>R101441883</ID>
        <LoginTimes Login=\"24\" UserSince=\"2014/09/24\" LastLogin=\"2014/10/05\">
        </LoginTimes>
      </UserID>
      <UserID>
        <ID>R103828466</ID>
        <LoginTimes Login=\"34\" UserSince=\"2014/09/09\" LastLogin=\"2014/10/05\">
        </LoginTimes>
      </UserID>
      <UserID>
        <ID>R104950769</ID>
        <LoginTimes Login=\"44\" UserSince=\"2014/08/25\" LastLogin=\"2014/10/03\">
        </LoginTimes>
      </UserID>
      <UserID>
        <ID>R105836511</ID>
        <LoginTimes Login=\"16\" UserSince=\"2014/09/24\" LastLogin=\"2014/10/04\">
        </LoginTimes>
      </UserID>
    </AccountDetails>", "Global")
    set(#Found, 0, "Global")
    set(#Found_Not, 0, "Global")
    Finding IN XML(0)
    define Finding IN XML(#Row) {
        loop($table total rows(&Table With Data)) {
            if($contains($plugin function("HTTP post.dll", "$xpath parser", #x, "//ID", "InnerText", "XML"), $table cell(&Table With Data, #Row, 0))) {
                then {
                    increment(#Found)
                }
                else {
                    increment(#Found_Not)
                }
            }
            increment(#Row)
        }
    }


    Regards, 
    HaHaItsJake

    table.csv

  8. Well, everything you need to do is loop through table columns and rows and prepare the data string similar to this one:

    var data = google.visualization.arrayToDataTable([
              [\'Year\', \'Sales\', \'Expenses\'],
              [\'2004\',  1000,      400],
              [\'2005\',  1170,      460],
              [\'2006\',  660,       1120],
              [\'2007\',  1030,      540]
            ]);
    

    Once you have that string you simply pass it to JavaScript used for charting, and execute to draw the chart...

    Yeah, I found the JavaScript functions while looking up about charts with HTML. Was hoping a work around JavaScript for right now, then upgrade to JavaScrpit Charts if needed. 

    I found a complicated way, with having a var set with the HTML code, then Replace with the new Data String after creating the string from the tables, then save the new HTML with the charts and use a shell command to run the .html in the default browser of the user. 

     

    Regards, 

    HaHaItsJake

  9. You can integrate it, but I don't think it will be easy to update it once it get's displayed. There might be a way by executing some javascript inside HTML panel, which would draw a new chart, but haven't tried it yet (I always used charts inside main browser).

     

    Still, here is the code:

    ui html panel("<html>
    <head>
    <script type=\"text/javascript\" src=\"https://www.google.com/jsapi\"></script>
    <script type=\"text/javascript\">
    google.load(\"visualization\", \"1\", \{packages:[\"corechart\"]\});
    google.setOnLoadCallback(drawChart);
    function drawChart() \{
    var data = google.visualization.arrayToDataTable([
    [\'Year\', \'Sales\', \'Expenses\'],
    [\'2004\', 1000, 400],
    [\'2005\', 1170, 460],
    [\'2006\', 660, 1120],
    [\'2007\', 1030, 540]
    ]);
    var options = \{
    title: \'Google Chart\'
    \};
    
    var chart = new google.visualization.LineChart(document.getElementById(\'chart_div\'));
    chart.draw(data, options);
    \}
    </script>
    </head>
    <body>
    <div id=\"chart_div\" style=\"height: 500px;\"></div>
    </body>
    </html>", 200)
    
    So to redraw the chart you should run JS bellow with new "data" and old "options" (haven't tested but I think it should work, since you pass in chard id "chart_div" telling it which chart to draw/re-draw) :

     

    var chart = new google.visualization.LineChart(document.getElementById(\'chart_div\'));
    chart.draw(data, options);
    

    UbotDev, 

     

    Is there anyways you know with a simple method that can convert a Table made in Ubot into a Google Line Chart? Or anyways to have Ubot "Create" the graph values from Var's? 

     

    I wish to use this method to show the Profit/Loss margins from data from a table. NOTE: I plan on using a Shell command to open the .html file after Ubot makes the Html with the graph (If it can)  so it's not in UI

     

    Table looks like: First line is the Variables for the data. Second row Is the data that needs to be graphed. The Table will be adding rows once a day. So, below 10/03/2014 will have 10/02/2014 with that day's data

    Date	CC	RV	AR	EVM	EVA	Extension Value Total	APV	Total Income	Total Loss	Total Profit or Loss
    10/03/2014 15:35:51	327	0	0	0	1.6	1.6	0.462	1.635	-2.062	-0.43
    10/03/2014 15:35:51	327	0	0	0	1.6	1.6	0.462	1.635	-2.062	-0.43
    10/03/2014 15:35:50	327	0	0	0	1.6	1.6	0.462	1.635	-2.062	-0.43
    
    
    <html>
      <head>
        <script type="text/javascript" src="https://www.google.com/jsapi"></script>
        <script type="text/javascript">
          google.load("visualization", "1", {packages:["corechart"]});
          google.setOnLoadCallback(drawChart);
          function drawChart() {
              var data = google.visualization.arrayToDataTable([
                  ['Day', 'CC', 'RV', 'AR', 'EVM', 'EVA', 'Extension Value Total', 'APV', 'Income', 'Loss', 'Profit'],
                  ['10/03/2014', 327, 0, 0, 0, 1.6, 1.6, 0.462, 1.635, -2.062, -0.43],
     ['10/02/2014', 327, 0, 0, 0, 1.6, 1.6, 0.462, 1.635, -2.062, -0.43]  ]);
    
    
              var options = {
                  title: 'Company Performance'
              };
    
    
              var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
    
    
              chart.draw(data, options);
          }
        </script>
      </head>
      <body>
        <div id="chart_div" style="width: 900px; height: 500px;"></div>
      </body>
    </html>

     

    Best Regards, 

    HaHaItsJake

     

     

    EDIT: Table not showing properly... "better" fix made

     

    EDIT: Found Plugin for this I believe, 

     

    http://www.ubotstudio.com/forum/index.php?/topic/15993-sell-ultimate-ubot-plugin-all-in-one/

     

    Thinking about checking it out. Not sure though Haha, don't got that money just yet.

  10. No just compile it and place the dlls in the same folder as the app. There are a few custom installers out there, I dont use the one in ubot 5. There is a plugin here that will obfuscate the files. As well there is ubot locker which is a mainstay around here. :)

     

    Peace

    Awesome, I will search around the forums for the installer. I was planning on getting UbotLocker once my beta testing is ready for beta testers. For the .dll files, how are they runed by Ubot? Is it the $read file command or how to do that? 

     

    Hey There Edward,

     

    I've been using Ubot Locker since its launch, but it won't touch the dll files as far as I know, so how exactly do you protect them (I don't want any part of my source code leaked)? I would love to try this dll method since most of my serious bots are above 10 thousand lines of code, but how exactly would I go about it after exporting the defines to dlls (so they won't simply be able to rename back to txt and get the code)?

     

    Thanks,

    Marton

     

    That's what I am wondering too. Don't want my code I spent the last 2 weeks going to get jacked and recreated and marketed at a lower cost. DX

     

     

    Regards, 

    HaHaItsJake

  11. Once Im finished with a custom define, I usually remove it from the script all together. I just  copy it into a text document, rename it as a .dll then call it when i need it. The smaller you can keep your bot the better it will run.

     

     

    I never thought about that. Do you use the ubot 5 installer compile to put the custom .dll file on the users computer?  How do you protect the .dll files from being read so no one takes the coding and recreates it? 

     

    Best Regards, 

    HaHaItsJake

  12. Hello Ubotters, 

     

    I need a run by and make sure I understand the Tabs, Defines, and HTML UI with clarity. 

    Tabs are basically a "new" sheet that uses DEFINES and Vars threw out the whole program. So, Tab 1 can have a Run Define "Scrape Page". Inside Scrape Page, it will have an account login and what not for a website. Then in Tab 2, you have the custom define of "Scrape Page" so it runs that define in tab 1 and it WILL run. Correct? 

    So, what's the "Best" way for a better "Flow".

    Having the defines for that tab in THAT tab(define 1 in Tab 1, etc). Or have a tab for ALL defines (Define 1, Define 2, Etc IN Tab: "All Defines"). Or have a Define in EACH it's own tab? (Tab1: "Define 1", Tab2: "Define 2", etc) 

    I also use SSUB 6 atm for my HTML UI. Which leads to the other question(s). 

    1. While using SSUB and having a Start/Stop HTML UI button, you'll need a custom DEFINE Start for each one correct? 
    Example(S): 

    Tab Account Login: Start Button (Define Login_Start)
    Tab Scrape: Start Button (Define Scrape_Start)

    OR:

    Tab Account Login: Start Button (Define Start)
    Tab Scrape: Start Button (Define Start)
     

     

    2. Does the SSUB pick up the Ubot "Tabs" or when building "Tabs" inside the HTML it's it own thing and is NOT connected to the Ubot Tabs like how the define function in SSUB works? 
     

    I'm building my first "Real" program with Ubot to sell, and working out the bugs and flow for best performance. If any other advise you have, please run it by me rather on this thread or PM. I want to have my first program be that close to a professional Ubot program rather then a beginner Ubot program. 


    Best Regards, 
    HaHaItsJake
     

  13. Hello everyone, 

     

    I'm losing my mind on this, but how do you add a complete column together? $List from Column command would be a work around, but I want it to be a very simple task. Are you able to add a column in a table and get the total? 

    Example: 
    Column2      Column 2
       1.                      2
       2.                      2
       3.                      3
       4.                      9



    Column 2 total: 16

    Regards, 
    HaHaItsJake

  14.  

    The first time I have heard of ESET.

     

    Antivirus and Security Software

     

    ESET (NOD32) . I like it a lot. Very over protective and I have sent them viruses/Trojan reports and saw 4 hours later it detects it. :) They just over protective with everything and you have to allow A LOT of programs threw. Even safe ones with big name companies get detected as a threat. But, I like the protectiveness 

     

    Nice work with the walkthrough. ESET should auto tag it as UBOT being a safe program though. smile2.png

    Thanks, It only took a few minutes to write lol. I just know how difficult it is and with no guide it can be a pain if you don't know how to do something. Yes, I would think that too. I have sent in a sheet to ESET (NOD32), but that was a few months ago. 

  15. Since I got Ubot, I have had ESET. ESET always blocks the updates, program, and anything else with Ubot 5. 

    If you have ESET you should know how to do this, but if you don't that's okay. I though I would just share this quick tip since everyone I have told about Ubot ask me about this and they might just happen to stumble upon this here forum. :)


    Step 1: Open ESET. 

    Step 2: On the "Home" tab to the left, press F5. A new window titled "Advance Setup" pops up. 

    Step 3: Go to Web and email> Web Access Protection> URL Address Management

    Step 4: On the drop down, make sure it says "List of addresses excluded from filtering" 

    Step 5: Click the "Add..." button and add the following address: http://www.ubotstudio.com/
    (Adding the * in with the URL)

    That allows the connection from client to server to download the updates. 

    For program problems, start from the "Advance Setup" window. 

    Step 1: Go to Computer>Antivirus and antispyware>Exclusions> 

    Step 2: Add the following path(s) to the list: NOTE: NAME is YOUR computer name. (E.I mine is called: Bubbles C:\Users\Bubbles\AppData\   )

    C:\Program Files (x86)\Ubot Studio 5\*.* 
    C:\Users\NAME\AppData\Roaming\Ubot Studio\*.*


    Haven't had any problems since. :) 

  16. What ever you do, DON'T go withcWindows Azure it is BS for Ubot...

    Don't get me wrong, it's nice and cheaper then AWS on a lot of there stuff, but they limit a crap load like connections out, figured that out with my Ubot being multithreaded and only sending 20 at a time (should be 100-200). I could never figure it out until this morning. 

    Back to AWS! :) Just pay your bills on time... lol ( I owe $400 lol)

  17. Append to file command if for ADDING MORE to a file. If you wish to save the list at once without adding more to a file, then you want to do the following
    set(#account information"{#Username}:{#Password}""Global")
    add item to list(%Account information#account information"Delete""Global")
     

    I personally like the UI Button to save the file; 

    ui save file("Save Account Information to:"#saveaccountinfo)
    ui button("Save Account Information") {
        save to file(#saveaccountinfo%Account information)
        alert("Account Saved!
    Location: {#saveaccountinfo}")
    }
     

    Also, When multithreading with var

    set(#Username$next list item(%List), "Global")
    set(#Password$next list item(%Password), "Global")

    Need them to set to Local instead of Global. Global will set the var for ALL threads. Local will do it just for the SINGLE thread.

    Hope that helps :) remember when threading with var's need to set it to Local instead of Global if it's needed ONLY on that thread. If the var is used threw out all, then global. 

  18. Hey Dan, 

    I'll be using your code now in a lot of my bots. LOL 
    I like the UI Stop/start way better then the bot's own Start/stop. 

    I'm new, and might need help. Got a way to Multi thread it by chance? 

    I just injected the threading like so, and it worked.. lol 

    ui drop down("Threads", "1,2,3,4,5,6,7,8,9,10", #Threads)
    ui stat monitor("Status", #status)
    on load("Bot Loaded") {
        set(#running, "false", "Global")
        set(#stop, "true", "Global")
    }
    ui button("Start") {
        if($comparison(#running, "=", "true")) {
            then {
                alert("Task is already running. Please wait.")
            }
            else {
                set(#running, "true", "Global")
                set(#stop, "false", "Global")
                statusupdate("Starting Bot....")
                loop while($comparison(#stop, "=", "false")) {
                    set(#threads to run, #Threads, "Global")
                    set(#used threads, 0, "Global")
                    loop(#Threads) {
                        loop while($comparison(#used threads, ">=", #threads to run)) {
                            wait(1)
                        }
                        comment("Increment Opens a new thread")
                        thread {
                            in new browser {
                                navigate("google.com", "Wait")
                                decrement(#used threads)
                            }
                        }
                    }
                    set(#waitcounter, 5, "Global")
                    loop(#waitcounter) {
                        statusupdate("Waiting:  {#waitcounter}")
                        wait(1)
                        decrement(#waitcounter)
                    }
                }
                set(#status, "Bot stopped.", "Global")
                set(#running, "false", "Global")
            }
        }
    }
    ui button("Stop") {
        if($comparison(#stop, "!=", "true")) {
            then {
                set(#stop, "true", "Global")
                set(#status, "Stopping Bot....", "Global")
            }
        }
    }
    define statusupdate(#text) {
        if($comparison(#stop, "!=", "true")) {
            then {
                set(#status, #text, "Global")
            }
        }
    }

    Anyway to connect the "Start" to a UI HTML panel? (SSUB V6.0 by chance) Having trouble figuring that part out.


    Thanks, 
    Jake


    EDITED: I keep answering my own questions after I post them LOL. Thought I would share to anyone who needs this information, The threading works perfect, if you have another way please let me know. 
    I just took the code from Button Start and Button Stop and put them in a define, then made SSUB V6 define start and stop to the define's I made. :) Now works like that. Just hoping nothing breaks as I keep moving forward. 


    EDIT: The first code was incorrect for threading with the button. 
    It would keep looping out and adding a thread every loop. 
    I had to take out the Loop While, due to it would be 60+ seconds before the threads opened. 
    The correct code is down below, can add in monitor's threw out your code. "Making account, captcha, etc" 

     

    ui drop down("Threads", "1,2,3,4,5,6,7,8,9,10", #Threads)
    ui stat monitor("Status", #status)
    on load("Bot Loaded") {
        set(#running, "false", "Global")
        set(#stop, "true", "Global")
    }
    ui button("Start") {
        if($comparison(#running, "=", "true")) {
            then {
                alert("Task is already running. Please wait.")
            }
            else {
                set(#running, "true", "Global")
                set(#stop, "false", "Global")
                set(#threads to run, #Threads, "Global")
                set(#used threads, 0, "Global")
                statusupdate("Starting Bot....")
                loop(#Threads) {
                    loop while($comparison(#used threads, ">=", #threads to run)) {
                        wait(1)
                    }
                    increment(#used threads)
                    thread {
                        in new browser {
                            navigate("google.com", "Wait")
                            decrement(#used threads)
                        }
                    }
                }
                set(#status, "Bot stopped.", "Global")
                set(#running, "false", "Global")
            }
        }
    }
    ui button("Stop") {
        if($comparison(#stop, "!=", "true")) {
            then {
                set(#stop, "true", "Global")
                set(#status, "Stopping Bot....", "Global")
            }
        }
    }
    define statusupdate(#text) {
        if($comparison(#stop, "!=", "true")) {
            then {
                set(#status, #text, "Global")
            }
        }
    }
×
×
  • Create New...