More advanced bots help.

Discussion in 'Server and Client Scripting' started by LyfeOG, Oct 27, 2014.

  1. LyfeOG

    LyfeOG New Member

    Joined:
    Apr 12, 2014
    Messages:
    24
    Likes Received:
    1
    I have learned to create different message bots (Thanks to Nightfall Alicorn]. Now I wanna know about the fun bots such as a define bot. If I type #define "Hi" (without quotes)
    It will give me a definition for hi from the dictionary I program into the bot.
    This part is hard to explain ima do my best in an example.
    Example: If I type #run
    +Guardian: LyfeOG runs away from Vida!. How do I program it to randomly select a player in the channel without me putting the name into the bot. Thank You everyone and please help.
     
    Last edited: Oct 27, 2014
  2. Strudels

    Strudels ・◡・ Super Moderator Server Administrator Super Moderator Server Administrator

    Joined:
    Oct 31, 2013
    Messages:
    322
    Likes Received:
    1,104
    PO Trainer Name:
    Strudels/Ripper Roo
    Code (text):
    1. var ownName = client.ownName();
    2. ChannelUserID = client.channel(channel).players();
    3. ChannelUserName = [];
    4. for (var x = 0; x < vChannelPlayerID.length; x++)
    5. {
    6.         ChannelUserName[x] = client.name(ChannelUserID[x]);
    7. }
    8.  
    9. var randomName = ChannelUserName[Math.floor((Math.random()*ChannelUserName.length)+0)];
    10.  
    So you'll end up with something like

    ownName + " runs away from " + randomName + "!"

    I guess :v
     
  3. LyfeOG

    LyfeOG New Member

    Joined:
    Apr 12, 2014
    Messages:
    24
    Likes Received:
    1
    Sorry I am new to this and learning. They give me this message.
    Fatal Script Error line 4: ReferenceError: Can't find variable: channel <global>() at scripts.js:4
     
  4. Strudels

    Strudels ・◡・ Super Moderator Server Administrator Super Moderator Server Administrator

    Joined:
    Oct 31, 2013
    Messages:
    322
    Likes Received:
    1,104
    PO Trainer Name:
    Strudels/Ripper Roo
    Posting your script here might help, I'm not sure what your vars are named :x

    It might also have something to do with where you placed it, based on the error message.
     
    Last edited: Oct 28, 2014
  5. LyfeOG

    LyfeOG New Member

    Joined:
    Apr 12, 2014
    Messages:
    24
    Likes Received:
    1
    Well before I just c+p what you sent and didn't add it to my script and I got that error message. I added what you sent to my script and I don't have a error message but idk how to use what you sent to me. Scratch that now I have an error
     
  6. LyfeOG

    LyfeOG New Member

    Joined:
    Apr 12, 2014
    Messages:
    24
    Likes Received:
    1
    (20:42:37) [OG]KuRupT: I know you can pass it
    (20:42:43) Script Error line 76: ReferenceError: Can't find variable: vChannelPlayerID <anonymous>(message = '[OG]KuRupT: :o', channel = 15546, html = false) at scripts.js:76 <global>() at -1
    (20:42:43) [OG]KuRupT: :o
    (20:42:47) [OG] Flame joined the channel.
    (20:44:51) Script Error line 76: ReferenceError: Can't find variable: vChannelPlayerID <anonymous>(message = '[OG]Vida: wait waht', channel = 15546, html = false) at scripts.js:76 <global>() at -1
    (20:44:51) [OG]Vida: wait waht
    (20:45:02) Script Error line 76: ReferenceError: Can't find variable: vChannelPlayerID <anonymous>(message = '[QQ] Dragon Piss: lmao', channel = 15546, html = false) at scripts.js:76 <global>() at -1
    (20:45:02) [QQ] Dragon Piss: lmao
    (20:45:08) Script Error line 76: ReferenceError: Can't find variable: vChannelPlayerID <anonymous>(message = '[OG]Leto: lucky bastard', channel = 15546, html = false) at scripts.js:76 <global>() at -1
    (20:45:08) [OG]Leto: lucky bastard
    (20:45:09) Script Error line 76: ReferenceError: Can't find variable: vChannelPlayerID <anonymous>(message = '[OG]Leto: :p', channel = 15546, html = false) at scripts.js:76 <global>() at -1
    (20:45:09) [OG]Leto: :p
    (20:45:10) Script Error line 76: ReferenceError: Can't find variable: vChannelPlayerID <anonymous>(message = '[QQ] Dragon Piss: crits everywhere', channel = 15546, html = false) at scripts.js:76 <global>() at -1
    (20:45:10) [QQ] Dragon Piss: crits everywhere
    (20:45:11) Shofu_Mega Lucario left the channel.
    (20:45:17) Script Error line 76: ReferenceError: Can't find variable: vChannelPlayerID <anonymous>(message = '[QQ] Dragon Piss: but it's ok', channel = 15546, html = false) at scripts.js:76 <global>() at -1
    (20:45:17) [QQ] Dragon Piss: but it's ok
    (20:45:24) Script Error line 76: ReferenceError: Can't find variable: vChannelPlayerID <anonymous>(message = '[OG]Leto: his weavile was a problem for me', channel = 15546, html = false) at scripts.js:76 <global>() at -1
    (20:45:24) [OG]Leto: his weavile was a problem for me
    (20:45:36) Script Error line 76: ReferenceError: Can't find variable: vChannelPlayerID <anonymous>(message = '[QQ] Dragon Piss: knock off?', channel = 15546, html = false) at scripts.js:76 <global>() at -1
    (20:45:36) [QQ] Dragon Piss: knock off?
    (20:45:51) Script Error line 76: ReferenceError: Can't find variable: vChannelPlayerID <anonymous>(message = '[OG]Vida: shhhh', channel = 15546, html = false) at scripts.js:76 <global>() at -1
    (20:45:51) [OG]Vida: shhhh
     
  7. LyfeOG

    LyfeOG New Member

    Joined:
    Apr 12, 2014
    Messages:
    24
    Likes Received:
    1
    // GLOBAL VARIABLES
    // ******** ******** ********
    var vBotSwitch = true;
    ({
    beforeChannelMessage: function(message, channel, html) {
    // #### #### #### #### ####
    // MY ADD SCRIPT - AUTO RESPOND MESSAGE
    // #### #### #### #### ####
    // VARIABLES
    // ******** ******** ********
    var vMessage = message;
    var vChannel = client.channelName(channel);
    var vMyName = client.ownName();
    var vUserSent = vMessage.substring(0, vMessage.indexOf(':'));
    // EXTRACT MESSAGE BY TAKING OUT THE NAME
    if (vMessage.indexOf(':') >= 0) {vMessage = vMessage.substr(vMessage.indexOf(':') + 2);}
    // SET THE MESSAGE TEXT TO LOWERCASE
    vMessage = vMessage.toLowerCase();
    // CHANNELS ALLOWED FOR BOTS
    // ******** ******** ********
    var vBotChannelAllow = ["Alicorn Sandbox", "[OG]"];

    // CHECK CHANNELS ALLOWED
    if (vBotChannelAllow.indexOf(vChannel) !== -1){
    // CHECK IF BOT IS ON FOR OTHERS OR IF YA SENT BOT TRIGGER
    if ( (vBotSwitch == true) || (vMyName == vUserSent) ){
    // RESPOND: My Name
    if (vMessage == vMyName.toLowerCase()){
    client.network().sendChanMessage(channel, "Respond to your name message here.");
    }


    // RESPOND TO: Hi, Hello, Hola, Sup, Suplo, Yo, Hey
    if (["hi", "hello", "hola", "sup", "yo", "hey"].indexOf(vMessage) !== -1){
    var vName = "±[OG] Greeter: ";
    var vMsg = [];
    vMsg[0] = "Hello!";
    vMsg[1] = " Go";
    vMsg[2] = " Sup";
    var vRNG = Math.floor((Math.random()*vMsg.length)+0);
    client.network().sendChanMessage(channel, vName + vMsg[vRNG]);
    }
    // RESPOND TO: Hug
    if (["hug"].indexOf(vMessage) !== -1){
    var vName = "±[OG] Hugger: ";
    var vMsg = [];
    vMsg[0] = vUserSent + " gets slapped by Vida!";
    vMsg[1] = vUserSent + " slaps itself like a dummy!";
    vMsg[3] = vUserSent + " hugs [OG] Dark Booty!";
    vMsg[4] = vUserSent + " hugs [OG] blizz!";
    vMsg[5] = vUserSent + " hugs [OG]Leto!";
    vMsg[6] = vUserSent + " hugs [OG]Vida!";
    vMsg[7] = vUserSent + " hugs [OG]Corbinj!";
    vMsg[8] = vUserSent + " hugs [OG] Mysterious M!";
    vMsg[9] = vUserSent + " hugs [OG]KuRupT!";

    var vRNG = Math.floor((Math.random()*vMsg.length)+0);
    client.network().sendChanMessage(channel, vName + vMsg[vRNG]);
    }
    }

    var ownName = client.ownName();

    ChannelUserID = client.channel(channel).players();

    ChannelUserName = [];

    for (var x = 0; x < vChannelPlayerID.length; x++)

    {

    ChannelUserName[x] = client.name(ChannelUserID[x]);

    }

    var randomName = ChannelUserName[Math.floor((Math.random()*ChannelUserName.length)+0)];
    // SWITCHES
    if ( (vMyName == vUserSent) && (vMessage == "-boton") ){
    vBotSwitch = true;
    client.network().sendChanMessage(channel, "±Bot: Bots turned on.");
    }
    if ( (vMyName == vUserSent) && (vMessage == "-botoff") ){
    vBotSwitch = false;
    client.network().sendChanMessage(channel, "±Bot: Bots turned off.");
    }

    }
    // #### #### #### #### ####
    // END OF ADD SCRIPT
    // #### #### #### #### ####
    }
    })
     
    Last edited: Oct 28, 2014
  8. Strudels

    Strudels ・◡・ Super Moderator Server Administrator Super Moderator Server Administrator

    Joined:
    Oct 31, 2013
    Messages:
    322
    Likes Received:
    1,104
    PO Trainer Name:
    Strudels/Ripper Roo
    Code (text):
    1. var ownName = client.ownName();
    2. ChannelUserID = client.channel(channel).players();
    3. ChannelUserName = [];
    4. for (var x = 0; x < ChannelUserID.length; x++)
    5. {
    6.         ChannelUserName[x] = client.name(ChannelUserID[x]);
    7. }
    8.  
    9. var randomName = ChannelUserName[Math.floor((Math.random()*ChannelUserName.length)+0)];
    10.  
    My bad, made an error in the earlier one, try this instead. Use randomName to select a random user. E.g

    if (vMessage == "random test"){

    client.network().sendChanMessage(channel, "Hi, " + randomName);
    }
     
    LyfeOG likes this.
  9. LyfeOG

    LyfeOG New Member

    Joined:
    Apr 12, 2014
    Messages:
    24
    Likes Received:
    1
    // GLOBAL VARIABLES
    // ******** ******** ********
    var vBotSwitch = true;
    ({
    beforeChannelMessage: function(message, channel, html) {
    // #### #### #### #### ####
    // MY ADD SCRIPT - AUTO RESPOND MESSAGE
    // #### #### #### #### ####
    // VARIABLES
    // ******** ******** ********
    var vMessage = message;
    var vChannel = client.channelName(channel);
    var vMyName = client.ownName();
    var vUserSent = vMessage.substring(0, vMessage.indexOf(':'));
    var ownName = client.ownName();

    ChannelUserID = client.channel(channel).players();

    ChannelUserName = [];

    for (var x = 0; x < ChannelUserID.length; x++)

    {

    ChannelUserName[x] = client.name(ChannelUserID[x]);

    }


    var randomName = ChannelUserName[Math.floor((Math.random()*ChannelUserName.length)+0)];
    // EXTRACT MESSAGE BY TAKING OUT THE NAME
    if (vMessage.indexOf(':') >= 0) {vMessage = vMessage.substr(vMessage.indexOf(':') + 2);}
    // SET THE MESSAGE TEXT TO LOWERCASE
    vMessage = vMessage.toLowerCase();
    // CHANNELS ALLOWED FOR BOTS
    // ******** ******** ********
    var vBotChannelAllow = ["Alicorn Sandbox", "[OG]"];

    // CHECK CHANNELS ALLOWED
    if (vBotChannelAllow.indexOf(vChannel) !== -1){
    // CHECK IF BOT IS ON FOR OTHERS OR IF YA SENT BOT TRIGGER
    if ( (vBotSwitch == true) || (vMyName == vUserSent) ){
    // RESPOND: My Name
    if (vMessage == vMyName.toLowerCase()){
    client.network().sendChanMessage(channel, "Respond to your name message here.");
    }


    // RESPOND TO: Hi, Hello, Hola, Sup, Suplo, Yo, Hey
    if (["hi", "hello", "hola", "sup", "yo", "hey"].indexOf(vMessage) !== -1){
    var vName = "±[OG] Greeter: ";
    var vMsg = [];
    vMsg[0] = "Hello!";
    vMsg[1] = " Go";
    vMsg[2] = " Sup";
    var vRNG = Math.floor((Math.random()*vMsg.length)+0);
    client.network().sendChanMessage(channel, vName + vMsg[vRNG]);
    }
    // RESPOND TO: Hugs
    if (["hug"].indexOf(vMessage) !== -1){
    var vName = "±[OG] Hugger: ";
    var vMsg = [];
    vMsg[0] = vUserSent + " gets slapped by Vida!";
    vMsg[1] = vUserSent + " slaps itself like a dummy!";
    vMsg[3] = vUserSent + " hugs [OG] Dark Booty!";
    vMsg[4] = vUserSent + " hugs [OG] blizz!";
    vMsg[5] = vUserSent + " hugs [OG]Leto!";
    vMsg[6] = vUserSent + " hugs [OG]Vida!";
    vMsg[7] = vUserSent + " hugs [OG]Corbinj!";
    vMsg[8] = vUserSent + " hugs [OG] Mysterious M!";
    vMsg[9] = vUserSent + " hugs [OG]KuRupT!";

    if (vMessage == "random test"){
    client.network().sendChanMessage(channel, "Hi, " + randomName);
    }
    var vRNG = Math.floor((Math.random()*vMsg.length)+0);
    client.network().sendChanMessage(channel, vName + vMsg[vRNG]);
    }


    // SWITCHES
    if ( (vMyName == vUserSent) && (vMessage == "-boton") ){
    vBotSwitch = true;
    client.network().sendChanMessage(channel, "±Bot: Bots turned on.");
    }
    if ( (vMyName == vUserSent) && (vMessage == "-botoff") ){
    vBotSwitch = false;
    client.network().sendChanMessage(channel, "±Bot: Bots turned off.");
    }

    }
    // #### #### #### #### ####
    // END OF ADD SCRIPT
    // #### #### #### #### ####
    }
    })
     
  10. LyfeOG

    LyfeOG New Member

    Joined:
    Apr 12, 2014
    Messages:
    24
    Likes Received:
    1
    The blue highlighted is what you sent me. How do I make a bot using that? Do I use the vMsg, RESPOND TO, idk
     
  11. Strudels

    Strudels ・◡・ Super Moderator Server Administrator Super Moderator Server Administrator

    Joined:
    Oct 31, 2013
    Messages:
    322
    Likes Received:
    1,104
    PO Trainer Name:
    Strudels/Ripper Roo
    I already made it a bot command. Try saying "random test", it should say hi to a random channel user.
     
  12. LyfeOG

    LyfeOG New Member

    Joined:
    Apr 12, 2014
    Messages:
    24
    Likes Received:
    1
    Yay it worked thank you
     
    Strudels likes this.