Add a Blog Post Title

  Code a Discord Bot with JavaScript - Host for free within the  Cloud

hello, i am Beau Carnes with free code camp.org. I'm  going to allow you to code a discord bot with  . JavaScript that runs completely in the cloud  for free. I already made a course approximately coding  . a discord bot with Python. And you can get  the hyperlink to that up right here within the  nook or  . down in the description. We are gonna use a few  exclusive tools, adding the discord API,  . some  JavaScript libraries, and a cloud computing  platform referred to as replique. You possibly already  . know what discord is, and what a discord  bot is, since you're watching this educational,  . yet simply in case you do not let me give you a brief  evaluation. discord is an app used for real time  . text chat, discord servers are hooked up by people  and usually are targeting a undeniable neighborhood.  . Many businesses and businesses have discord  servers for people to talk with one another..

broken image

You've a Discord server to feature the bot to, you  could already have one. but let me simply show you  . the way to set one up genuinely speedy in case you don't  have already got one. So you are going to have got to go  . to discord comm and log into Discord. after which you  simply click the plus button right here to feature a server.  . And I'll say for me and my neighbors. And I'll just  call it robot household server. Ok, let's create  . that. And we've got our server. okay, so before  we can code our bot utilizing Python, and utilizing the  . discord API, we have got to first create a discord bot  account correct within Discord. So you're going to  . have to visit the discord developer portal. I'll  placed the link in the outline, but it's just  . discord comm cut back developers reduce applications.  So once you're on the applications web page, you're.

broken image

You may definitely regenerate the token if  they by chance get shared. So now we have  . to ask the bot to our server, we have the  bot consumer, and we have to get into our server.  . to try this, we're gonna ought to create an invite  URL for it. So let's go to the off to tab here.  . And now we are simply gonna visit the scope part.  considering that this can be a bot, we will simply click on Buy right here.  . We have to scroll down slightly more and  visit the bot permissions area. So we'll choose  . the permissions we want for the bot. Our bot  is going to be chiefly used for textual content messages.  . So we don't want plenty of permissions. So your  bot could do different things. Yet let's just  . select a majority of these here. actually will do all  of them in this line except ship TTS messages. Now  . you do should be cautious with this administrator  permissions. If you give your bot administrative.

That we want to do all this stuff, we want  to authorize the bot for all these things.  . And II'm not a robot and the bot is permitted.  that means  the bot has joined the server. So  . if we really go over into our server, we can see  advocated bot simply slid into the server. But also  . you notice over here that the bot is offline, it's  not going to be on line until we write our code that  . creates the bot and run the code. And talking of  code, it is time to start that. Now I stated earlier  . that you do not have to put in whatever, you don't  need to use any software apart from your web browser,  . we'll be growing the full discord bot  correct in the cloud on replicat. The website for  . replique is our epl.it. and replica is an online  identification e that you'll just use on your cyber web browser..

broken image

Bot, and no GS or JavaScript. okay, we are in our  assignment, you will see that that we have got our documents here  . we've our code that we're going to write right here.  after which we've a console over on the facet. And  . then there is a few special tabs, we are only  going to be mainly using the Documents tab here. But  . we will also be using the database tab later.  Yet for now, let's get started. So first,  . we'll add the discord.js library. So  i'll upload const discord equals require discord.js.  . Now repple, it is going to instantly install  this dependency when you press the button the  . Run button. So that's one cool thing about  repple is that dependencies are installed  . immediately. And iif you ever have an issue,  you could necessarily cross into the shell. And you can  . install whatever manually within the  shell. But  let's go back over to the console. This core.js.

Revolves round the thought of hobbies. An event  is whatever you listen to after which reply to.  . for example, when a message occurred, you will  be given an event approximately it that you'll reply to,  . we will start with the aid of making aa very simple bot.  it is a bot that is going to reply to messages.  . it truly is taken immediately from the discord.js doc  documentation. So we will begin by making a very  . easy one. after which we will maintain to add to  and make it more complicated and make it work for our  . purposes. So after this primary line, we need to get  a shopper const purchaser And equals new discord dot  . purchaser. So it really is our discord client that  we are going to be operating with to hook up with our Discord  . server. it is the client for the discord.js  library. Ok, I noted exceptional activities.  . So our purchaser is going to answer different  forms of events. One occasion is the all set event,.

A all set event means that the bot has successfully  linked to our Discord server and iis ready to do  . more things. So let's add code now to respond  to the all set occasion. So you begin with client  . that on so on what on what event?  good, the event goes to be ready.  . So on the prepared occasion, once it's able to start  working, once it's related to our server,  . it's going to name this callback operate.  So let's make this callback operate here.  . And we're simply going to console  dot log whatever console dot  . log, web publication and as. after which once I get the  client name, or the username, the name of  . the bot client, that consumer dot tag. okay, now we're  going to reply to another event, the event  . is a message. So every time the bot sees a message  in the discord server, it gets the message.

event and it'll do something anytime there's  a message, so client that on message. And then  . it is going to call this callback operate, we will get  access to the message by means of this parameter right here.  . And we're going to assess to see what the message  correctly is. message content material is the text of the  . message. So we will check for this  instance, if the message is the word Ping.  . And iif so, then we are going to do something. So we are going  to respond message respond. Pong. So it's going to the our  . bot will actually respond with one other message  in the chat, and the message would be Pong.  . okay, now that we have got our, our event set  up the prepared event in the message occasion,  . we need to have our client login to the server. So  to log into the server, we'll do client dot login.  . Now here, we need to put our token. but we're  unlikely to truly you may placed your token.

As a string right here. Remember, the token is a thing  once we created the bot on the developer page,  . we copied the token. And if you do not have that  anymore, you can go back to the developer web page and  . replica  the token. returned, you could placed the token as a  string right here. but we are not likely to do this.  . And for the reason that because anything on repple,  it's accessed through anybody on the internet.  . So we don't need anyone that allows you to have access  to our token that is like a password for our bot.  . after which anybody could actually use our bot to do  anything that they wanted. We don't desire that. So  . we should have a discovered we'd like a way to  keep our token a mystery. and the way we're going  . to do this is when it inside an environment  variable repple, it has a unique way of doing  . that, we are going to create our environment  variable in only a moment. Let's entry it right.

Now. And then we'll create it. So that you can access  a environment variable, in which we do process  . dot E and V dot and then the call of the  environment variable, which for that reason is going  . to be token. So we've to locate a place to put  this. So it really is how it really works in redplum, we're  . gonna create a brand new file, and i am gonna call it dot  E and V. Whatever in  runeinfo discord bot  and V file is hidden  . from the remainder of the realm. And you will find we  already have it right here. So we have the observe token,  . you are gonna have got to put the observe token and then  an equal sign. after which you paste on your token  . which you obtained in your bot. So therefore, this  is my token. And now that we have got our token stored  . in our environmental variable, it may get the  token and the dot E and V file. Like I stated,  . it can't be accessed through it, no person can see except  you in the other file. Everyone can see it yet.

The dot EMB simply you will discover it and that is how  we will get that token that no-one else can see.  . i suppose all of you just noticed because I just  saw it on my display screen, yet more usually,  . you recognize Not to be making a video so no person will  actually see the particular surroundings variable.  . So it is time i will run this software.  okay, it says we are logged in. So that labored.  . maybe you have had an issue if one way or the other it  did not automatically install discord dot j s. In  . that case, like I mentioned, you may set up it in  this shell. but every thing worked for me so and  . i'll pass over to my Discord server  at the moment and spot what it appears like. okay,  . show is that advocated with the aid of is logged in. So  i will do a talk, i am gonna type in  . ping pong. and spot since it's a reply, it says  My name due to the fact encouraged via replying to me.

And saying Pong. So it worked. We've a bot, and  it works. Now that we have got a ordinary bot operating,  . we are going to improve it. it is known as encouraged bot for  a cause. The bot will reply with a message  . of encouragement whenever somebody despatched a message  containing a sad or miserable word. anyone will  . be able to add encouraging messages for the bot  to use, and the user submitted messages will be  . stored in the replique database. The bot will also  go back a random inspirational quote from an API.  . While someone models a message in spire into the  chat. we'll start with including the encourage feature,  . we're gonna get inspirational quotes  from an API called Zen rates.io.  . Now this, it could work with any API,  you should use any API and just any API that's  . going to come back JSON or any sort of string, you  can use. after which you will get that data..

And then you can go back the string as a  message along with your bot. Yet I simply found that's in  . charges that I owe is a simple way to get a quote  and encouraging or motivating quote, that we can  . go back with our bond. So on account that we are going  to be calling this API, we will need  . to import the node fetch module. So up here,  i am going to do const. Fetch equals require  . node fats. So we will use that to call  the API. And now let's make a function referred to as get  . quote, which will have the ability to be referred to as to get  a quote from the API. So operate, get quote,  . within this operate, we will go back the  quote. And iinside this function, we're going  . to fetch the quote, and actually, we're going to  return it so return, and then i'll do my fetch  . command, fetch. after which here's where we put  the URL, HTTPS, colon reduce below prices.io.

slash API. Let's make more room right here. So  you'll find everything that i am typing in  . x n is going to be diminish random. okay, after  we fetch the information, do dot then this  . is an asynchronous name. So first, it gets the  data, it might not get it instantly, so but  . it will wait until it gets data from  this URL, then it's going to do something with  . that data. So let's placed the callback operate,  they are going to call that will call after get that information.  . we are going to go back the outcome.  Yet we will convert it to JSON.  . after which we will do anything else with  that data that JSON that information that is lower back.  . we will go back we're going to format it  in the exact way we want it to be formatted.  . So we have the information. And let me just kind during this.  . Ok, to determine precisely what I want  to come right here and how to layout this,.

I had to use trial and blunder. So I  got the information from this URL,  . and i transformed JSON. after which I figured out  that the Q is quote, and the A is the writer. So  . this is going to place the quote here. And then it's  going to be there'll be a touch and there will be the  . author, you'll see precisely what it feels like when  we test this out. Yet so this is going to this is  . going to come back a random inspirational quote. And  to get the information into the format I wished.  . It will appear as if that. And so it's going to  go back the quote while somebody calls this operate.  . So let's update our message. Here, so it will  return a quote at the correct time, we are going  . to add anything wherein, first we're gonna upload a  new issue , we are gonna check to see if the message  . is from the bot. If the bot ever says anything we  don't need the bot to, to answer itself. So if.

Message dot writer dot bot, meaning if the  bot is author of the message, just go back.  . So we're not likely to do anything in that  case. But if message content material equals, well,  . it's not gonna be equivalent, and ping anymore, we're  searching for the be aware inspire. So if it senses  . that there is a message that is, that's motivate,  then we're gonna do the get quote, operate,  . get quote, that then, so you notice wherein, where  respond, we're returning the risk, the what's  . the results of this fetch. And so this is also a  promise that we will then this is an async name. So  . once we get the outcome, then we will do  whatever, then we will take the quote  . and we will do a message dot channel, dot ship.  So this is going to send a message to the whole  . channel, and the message goes to be the  quote. okay, let's do that out. First of all,.

discontinue it because it became already strolling before  but we just started again for the recent code.  . And I'll wait until it indicates it is logged in here.  Oh, see is installing the node fetch module now.  . Ok, we are logged in. Ok, now  i'll type greenback signal inspire.  . they are saying love is the best investment The  extra you supply, the more you get in go back,  . Audrey Hepburn. Wow, i feel very encouraged now.  . And simply so you know, it does not respond  like that to whatever. If I say good day,  . it would not have reaction, the sole response if it  sees dollar sign and spider. Now we can implement  . the characteristic in which the bot reply with encouraging  messages while a person posts a message with a sad  . note. So first, we have to create an array that  involves the sad words that the bot will respond  . to. So I'm gonna pass up here, and II'm going to  create an array, it's going to be known as unhappy .

 

phrases. after which i am going to just  have a listing of sad words.  . Now you can use any list you want, and  any unhappy  phrases about the sad, depressed,  . sad, irritated. And we are going to do these. But  you could add more to this list if you  . want. Now we'll add an array of encouraging  messages that the bot will reply wherein. So  . let's add yet another array called  encouragements, const encouragements  . Cheer up. cling in there. You  are a very good person, or bot.  . Unlike earlier than, be happy to add any phrases you  prefer, or simply change them up.  censor bot discord 'm simply using these  . three items for now, due to the fact later we'll add the  potential for users to add more encouraging phrases  . for the bots to for the bot to apply. So now we need  to replace our bot to use both lists we created.  . So let's move down to the message operate, we're  going to feature a further area right here. And we are.

Going to feature a bit that's going to examine to  see if the message incorporates a word from the sad  . glossary. after which if a sad word is located, the  bot will ship a random message of encouragement.  . So let's add that. And this time, I just paste  it in some  code, and we're going to cross over it.  . So it's how we're going to assess if the  message features a note and the unhappy words record.  . So we start with unhappy  words, that sum, this is an  array technique. let me show you what it's gonna do.  . we will suffer each object in the array,  or consequently, a be aware. And then we're going to  . examine if message content dot contains if the  message involves the word, and we're going to  . do this for each observe within the  list. And thiis sad  phrases that Psalm goes to come true if one or  . more of these items are actual. And so if at least  a kind of phrases within the  record is in the center.

it's going to be real. So then it is going to run  the code here. So first we will create a  . unmarried encouragement. So the encouragement  record, we've the encouragement list,  . and then we'd like a random factor. So it is how  we get a random factor. Mat that ground rounds  . down math dot random time, it's encouragements  that link. So it is just aa way to get a random  . index variety for the encouragements array. And  then we're going to get that random encouragement,  . and then message reply, encouragement. So  it's going to go back that encouragement.  . Ok, let's discontinue this. And then we are going  to restart it. okay, we are able to experiment it. i am sad.  . says Beau Carnes. cling in there. It's very  encouraging. Thank you recommended bought,  . I'm pleased now. And it doesn't respond  at all. Because now that i am comfortable,.

It doesn't desire to respond. but now I'm  feeling well. i am feeling depressed.  . Cheer up. Oh, that makes me feel a lot better.  And you will find us getting random phrases,  . grasp in there, cheer up, and iinclude my name here.  Because it's a respond. If we return to our code,  . you can find that it is a message dot reply. Anytime  it is a reply, it will include the name,  . the person who stated the message, and then  the hot message, that's the encouragement.  . okay, you in actual fact know enough to  make your individual bot. And you can go to  . the discord.js documentation to determine even  extra features you can do together with your discord bot.  . Yet now we will learn today how to  enforce extra improved capabilities with this bot,  . and shop information utilizing the rep database. So  let's give the chance to update the bot.

correct from Discord. A consumer should be able to  add extra encouraging messages for the bot to use  . when it detects the sad be aware, we'll be  using replicates in-built database to store user  . submitted messages. The database is a key value  store that is built into every duplicate. So if you  . click on right here, it says database, it's going to  show you all these database commands you should use.  . So you're always going to have to import  the database at the tip, you may create a  . new database, we're correctly going to put some  of these instructions right this moment. So if we simply go  . as much as the top right here, and then correct under my other  require, i'll click on insert here. And it's  . simply going to place this code correct in here, current  database equals require, and then it's going to  . get this database library. Ok, now we have to  create a brand new database. So we'll separate these.

Require statements from these different new statements  right here. So i'll create a brand new database.  . And once we run the code, this  will automatically set up.  . And if it would not, or if you are doing it on your  nearby computer, you may simply cross over to the shell  . and do npm set up, after which use this for the  call here. So what we'll do down here  . after the encouragements, we're  going to initialize the database  . with these three encouragements. We're  gonna just add these to the to the database  . if they're not already in the database. So  it really is how we are gonna do that. dB dot get  . encouragements. So we're going to get the  encouragement that are already in the database.  . Well, if it truly is the first time this program  runs, there won't be any in there. But if the  . software has run formerly in our there's already  encouraged us in the database, then we'll get the.

List of encouragements that are in the database.  So it is the foremost, enter thiis key key value  . pairs. So that is the main after which we're going to  get the cost which to start off with would be no,  . yet after we get the encouragement, then  we'll take these encouragements.  . after which we'll do that.  i will put this function here.  . If we will examine if there are no  encouragements, if there are no encouragements or  . if the encouragements that link  is under one. So if there's  . zero encouragements, then we'll add the  encouragements. So there'll always be at least  . whatever to motivate those with. So and by  the style, the explanation why we have both of these  . is because the first time thiis runs encouragements  would be no but later encourages could be 0..

So an both case, we want to do DB dot set.  we will set the encouragements key. We're  . going to set this to be the encouragements. good,  we wish to set to be these encouragements, but  . we're already utilizing this variable here. And we're  going to use encouragements later. So it really is what  . let's simply difference this to be called starter  encouragements. So this is now this starter  . encouragements, and we'll set these  encouragements to be the starter encouragements.  . clients will be capable to add custom  encouraging messages for the bot to use  . instantly from the discord chat. earlier than we add  new commands to the bot, let's add to let's  . create two helper functions which will upload custom  messages to the database and delete the messages.  . So right after this, we're going to  create a helper function function..

Operate replace encouragements and it's going  to take one argument and inspiring message.  . And so first, we are gonna get the list of  current encouraging messages, db dot get  . encouragement. after which after  we get these encouragements,  . then we will take those encouragements.  . And iin this function, we are gonna do something  with them. So we are gonna do encouragements  . dot push, we are gonna push the hot message on to  this list onto this array. encouraging message.  . Now, we'll do DB dot set,  we're going to add this to the database  . with the hot the hot encouraging message on it. So  . encouragements that is the key, and the recent value  for that key is going to be encouragements. okay,  . we've to make an extra function to delete  the encouragements. So operate, delete, incur.

Encouragement. And this is going to take an index,  the index within the  array that needs to be deleted.  . So first, we're going to  get it's aactually gonna be  . relatively comparable. So I'm going to  get simply replica  this and paste this in.  . Yet we aren't going to be pushing any new any  new issue  here. So what we will do instead  . is that if encouragement, that size is greater than  the index, we're only basically good delete something  . if the index is is actually an appropriate index.  So if the size is greater than the index,  . then it is portion of the index will correctly apply  to this array. What we'll do is incur  . encouragements dot splice, that is the way you remove  an item from an array index one. So at the index,  . we will remove one item, and then we're  going to simply flow this up. i will reduce this.

And positioned it here. So now we'll set the  encouragement lower back to be this new encouragements  . array that has the encouragements  remove that we want to eliminate.  . okay, let's update this part now. So now we  have to make sure that we're utilizing our record from  . the database after we return a message whilst there's  a tragic be aware detected. So let's add something right here.  . We will need to get the the  messages from the database. So DB  . dot get encouragement. That then encouragement.  . And now all this code, i am simply gonna  cut that aand then positioned it in here.  . And this is really ought to be endorsed mins.  . okay, now let's make it so our bot will respond  to 2 new commands. So, if message dot content  . dot starts offevolved starts offevolved with. So if the content starts  with dollar signal new, then we are going to do.

Anything. So first we have to figure out what the  new the recent messages. So the man would be typing  . dollar signal new space, after which they will positioned their  new message that ought to be should be added to the  . record of encouragements. So the encouraging message  is going to equal message dot content material dot break up,  . new one. So that is the tactic. And  that split is a JavaScript string  . technique. And we'll break up at this  and make sure there's an area at the top,  . because the person's going to sort in dollar  sign new space. after which we need whatever after  . that to be the hot message. So index one in the  array, because this goes to create an array  . index one will be whatever after this. So  we will get the encouraging message. And then  . replace encouragements with  the encouraging message..

And then after we do this, we will ship a message  to the total channel, message dot channel, dot  . ship. So our bot is about to send this  message new, motivate Jane and her urging,  . there we move. Message added. Oh, see right here.  Encouraging. There we move. New encouraging message  . added. Ok, we've got to do an analogous aspect with  delete. So i am just going to copy this complete thing  . since it would be variety of similar, after which paste  it right here. Now we're looking to see if the message  . the user types in begins with D l for delete. And  we are splitting it D L. And it really is now going to  . be the index, the person goes to variety in  dollar sign t l area and they're going to put  . a variety of and the range is going to be the  index of the array that ought to be deleted,  . sends it to variety we must always do parse int to  convert this to from a string to an int. So.

Parse int, and then I'm going to positioned this  in parentheses. So parse int, and iinstead of  . update encouragements, we'll be doing  the leet encouragement. after which i will placed the  . index here, after which message that child  that send new encouraging message deleted.  . Ok, we can experiment this out here. So I'll  run the program. And we're logged in.  . i am sad. Hang in there. that is really  encouraging. Well, let's grow to be even  . extra encouraging, due to the fact I'm going to upload a new  message. You're a fantastic individual, and likewise a great  . singer. Hmm, that might make me feel endorsed.  Ok, how about nice avatar? And how about  . that became a superb message. Ok, now I'm  going to work out if it's going to use one of those new  . messages we further. So i am sad. That was  a wonderful message. i am depressed. I.

guess that was a fabulous message. Is that  encouraging if i am saying that i'm unhappy , but  . you are a extremely good person and also a great singer.  Now let's see if we are able to delete one of these.  . So let's delete. i'll do Dell and I'll put index  zero. And allow me just delete a few of them.  . Now we must have deleted all 3 of  the initial messages. So if what is sad  . let's see if we see any of the preliminary messages.  . we're not seeing any we're purely seeing the new  ones due to the fact each of the preliminary ones have been deleted.  . okay, now we're going to upload the ability to get  a listing of user submitted messages right from  . Discord. And we are going to we can add the power To turn  on and off no matter if the bot responds to unhappy  phrases.  . So that vary no matter if it responds or not, we're  going to add a new variable or a brand new new key.

value pair to the database. So let me scroll  up slightly. And right before this where  . we initialize the encouragements key importance pair,  let's do an analogous issue  with another one DB that  . get responding. So this is a variable  known as responding or the most important magnitude pair.  . so as we are attempting to figure out, if the  bot ought to be responding or now not, then  . importance gets whatever the the initial magnitude is.  . And let's determine if it exists yet.  If If significance equals equals null,  . that means that it truly is the first time the  application has run, so it's not in the database yet.  . Then let's set it to something set, set it to  responding goes to equal or be set to true.  . Now, this would in basic terms occur if the value  is going no. So if you run the program,  . and you've set this to false, the next time  the program runs, it will not then be set to real,.

It will still be saved in the database,  whether you discontinue and restart this system.  .  discord tatsumaki bot , so the total factor of that became to change  whether it responds to the sorrowful phrases or now not.  . So let's upload whatever else  here. dB that get responding.  . And we are trying to see if the, if the bots  be responding or now not, then respond responding.  . Now we'll take this entire issue  right here.  And iit's going to be within this different section,  . and let me indent this. So now we're  gonna check if responding is correct. And  . that is real. Very well, so be responding. There we  pass. So now we are checking with for 2 things to  . be real earlier than it sends the encouraging message.  Ok, let's cross down and we're going to upload two  . command to more instructions, one of them would be to  list all the encouraging messages. And any other.

Command will be to alter the responding  fame to both real or fake on or off.  . So if message dot content material dot starts  with, if it starts with less record,  . then we're going to record each of the messages. So  first, we need to get the messages DB dot get  . encouragements dot then and encouragement.  . And then correctly this week  called encouragements methods dot  . channel dot send encouragements. So send all  the encouragement to the channel as a message.  . Ok, so for the next one, you  just reproduction this primary line here.  . If message content that begins with and  this time it is going to be responding.  . So which means we are chaining the command  is to alter even if the bot goes to  . respond or no longer. So let's get the cost first  magnitude equals message dot content dot break up.  . responding with the space at the  conclusion, one, this is just like before,.

 

 

And the price is either going to be  authentic or false. So if significance.to lowercase  . equals equals equals genuine then DB that  sec responding to actual. additionally  message dot  . channel dot send. Chris respond. danger.  Oh, wait a moment, Reese bonding is on  . else. So if it's aanything yet real, we will assume  it's false. So let me simply reproduction this here,  . else set responding to false, and the  message would be responding is off.  . The code for the bot is total.  . We are gonna try it out an extra time. And  then i am going to assist you make the bot,  . the way to set the bot to run continuously,  or run this system and it's logged in.  . Ok, let's just attempt to do a list. Let's  see if i will upload anything to the record.  . And I'll do the list returned. And adds the item I  added the article. definite, and now it's at the list. Now.

it is even less difficult to delete matters. So I'm going  to delete that became a fabulous message because  . we don't need to respond with that if someone  says a sad message. So i'll do inform that's  . the index . after which i am going to do list  . and oh, you know this is wrong new encouraging  message deleted. that does not make experience.  . that is simply be encouraging message deleted.  I don't know why i didn't notice that earlier than.  . So let's replace that to encouraging.  That's going to be new. There we move. Look  . feels like i've a few spelling mistakes right here.  okay, responding. after which down right here. We have  . responding. I do not know why I can't spell  this. okay, let's play that again. Hopefully  . we haven't any errors. or run that again. Keep  asserting play since it looks like a play button.  . And now i am going to record.

And it's long gone. It does not say that turned into a wonderful  message anymore. Sad. Oh, I did not imply it. Yet I  . shouldn't positioned the greenback signal yet it should  nonetheless respond since it has the observe sad.  . Oh, but it isn't there's no  space earlier than it is so let's just  . Oh, it is responding. Pleasant avatar said  you're a first-rate individual and also a great  . singer. Now let's have a look at if we are able to flip it  on and off. So responding, fake or fake.  . Responding is off. So if I kind in sad, it doesn't  respond. Now I'm able to flip it back on responding.  . reply, issue  real. Responding  is on. So if I sort in depressed,  . you're a first-rate individual and likewise a very good singer.  . It works. We've created the bot, we have tested  it, everything works. okay, so our bot is finished.  . But there's one other thing I want to show you,  which is a way to make the bot run continuously.

 

As it is in case you ever Near your eyes. So if you  run this bot at the moment if I run this bot and  . ever close my tab or close my browser, it will  stop walking. Yet we want to make it so it'll  . simply run within the  background. So you don't even  have to have your laptop on for the discord  . bot to be going for walks. So there's two easy methods to do  it. a technique is simply to click on right up right here.  . And you will see that it says this repple may well be kept  necessarily on and there generally will be only a an on  . button right here to control so just preserve running  within the  historical past. Whether you close up things  . notwithstanding you do have got to upgrade. so that you do have  to upgrade to the paid plan to have this built  . in way to maintain the repple necessarily on. So here is the  pricing for the hacker plan that repple offers.  . You get five rebels which are always on if you  if you get it you also get a gaggle of storage,.

extra reminiscence more speed, and shortly you'll even  get offline rebels and $7 a month is pretty  . affordable. it is a dead ringer for you will pay for  any hosting replique made this course possible  . by way of a provide. And they're additionally  offering three  months freed from this hacker plan to the first  . a thousand those that clink that click the link in the  description with the coupon code. but like I said,  . there's also how to get your rep to be always  on for free devoid of even signing up for this.  . And II'm going to show you that in the present day. If you  run your bot and repple it after which near the tab,  . it is walking in your bot was stopped running.  However, there's a workaround. So the workaround  . without having to pay anything is that replica  will hold walking an internet server even after the  . tab is closed. Yet even an internet server will in basic terms run  for up to an hour with none  use. So to keep the.

Bot walking continuously, we will use an extra free  service known as uptime robot. That's the uptime  . robot.com, it is hooked up to ping the bar to  cyber web server on rappeler every five minutes. And  . then with fixed pings, the bot won't ever enter  the sound asleep level and could just preserve running. So  . we have to do  things, we need to create the  information superhighway server and replicate and mounted uptime robot  . to repeatedly ping the internet server. So permit me  show you how we're going to create the webserver.  . First of all, I'm going to create a brand new dossier,  and just click add file and this is going to be  . referred to as server dot j s. Ok, and now we are going  to be using show to create the web server.  . okay, so we are going to do const.  exhibit, equals require, Express.  . after which we to create the server  so const server equals show..

Now that we've got the server, we need  to create a course. And the course is the  . element that's that is going to be pinged from  uptime robot. So right here we cross, server, dot all.  . So this creates a new direction at just slash  like just at your root area. And it's  . going to respond to all HTTP requests.  That's what this all is. So like get  . put, submit, and it's simply going to claim it's going  to send returned bot is strolling. So now that we have  . the server ready, we have to create a function  that begins the server. So function, and we're  . simply going to be calling it hold alive because  it's going to preserve alive our replique example.  . Server dot, listen. we are going to pay attention at Port 3000.  And then we are simply going to log whatever.  . Whoops, to be equal signal.  Console dot log server is able.  . So when this keepalive function is administered,  it's going to the server is gonna start.

Listening at Port 303,000. And it's going  to log servers all set. And now we just have  . to export this on the way to import it and run  it from our bot dossier. So module dot exports.  . Equals hold alive. okay, now let's make sure that  when our bot runs, automatically runs this server.  . So let me pass into our index dot j, s. And  then on the very desirable right here const preserve alive  . and require. And then we are just going to  require the server that we just created  . server. after which down here,  right earlier than our client logs in,  . retain alive. So we are going to begin our server  will begin that server operate.  . okay, now let's run this and  see if the server starts.  . Oh, actually, we have the desire to make preserve alive,  now not maintain alive ever. So let's test that again.  . And we will inform that the server started  since it opened up a brand new window right here and.

It says bot is jogging. So i'll copy  there's a link right here which I'm going to  . select and replica. It's our server link that  we're going to have to put into uptime robotic.  . So let's pass set this up on uptime robot to ping  our server each five minutes. okay, I uptime  . robotic.com. And you're both gonna have to  register or login. And when you get logged in,  . you'll see this dashboard and there is this  upload new monitor right here. So i am gonna click on that.  . And track variety, this goes to be an HTTPS  track. And i can simply call thiis encouraged bot.  . And then i'll simply paste in the  URL that I copied from our applet.  . after which it is on every five minutes.  . after which, if i would like i will select myself to notify  a good way to be notified when whatever goes  . incorrect, but you know, i am not going to notify  myself so i am just going to do create track.