Skidee

Skidee

Host a Discord Bot online 24/7 for FREE!

Today I'll explain the 100% working method to host a Discord bot online 24/7 for free.

First we have to upload our bot in repl.it, then we'll add a bg task in the bot and then we'll setup the uptime robot in a special way.

1. uploading your project on repl.it

  • Create a new repl and select the language.

repl.it

  • Upload your project simply by dragging & dropping it from your PC or by importing it from github… here is an example:

example

  • Now we have to add a background task in the bot, have to keep it alive because repl.it auto sleeps after few minutes.

  • Now Im goin to tell you adding background tasks in two languages that are discord.js and discord.py

2. Adding a bg task and keeping the bot alive.

(1) Keeping the bot alive & Adding BG tasks in a discord js v11 bot :

  • To keep our bot alive we have to add the following code on the head of our js file.

code

  • code :
var http = require('http');  

http.createServer(function (req, res) {   
  res.write("I'm alive");   
  res.end(); 
}).listen(8080);
  • As a bg task we will be adding an auto changing bot status feature in our bot.

bot status

  • here is the sample code :
bot.on('ready', () => {

  console.log('Your Bot is now Online.')
  let activities = [`chill gang`, `with the gang`, `with the gang`   ],i = 0;

  setInterval(() => bot.user.setActivity(`${activities[i++ %  activities.length]}`,  
  {type:"STREAMING",url:"https://www.youtube.com/watch?v=DWcJFNfaw9c"  }), 5000)

)}

2. Keeping the bot alive & Adding BG tasks in a discord.Py bot :

  • After uploading your project in repl.it don't forget to install the python packages. by goin to packages option on the left side and searching python.

  • To keep our bot alive we have to add the following code on the head of our py file.

bot alive

  • code :
from flask import Flask
from threading import Thread

app = Flask('')

@app.route('/')
def main():
  return "Your Bot Is Ready"

def run():
  app.run(host="0.0.0.0", port=8000)

def keep_alive():
  server = Thread(target=run)
  server.start()
  • Adding a background task :

bg task

  • here is the sample code :
status = cycle(['with Python','JetHub'])

@bot.event
async def on_ready():
  change_status.start()
  print("Your bot is ready")

@tasks.loop(seconds=10)
async def change_status():
  await bot.change_presence(activity=discord.Game(next(status)))

3. Setup the Uptime Robot :

  • First create an account on uptime robot for free.

uptimerobot

  • After creating an account, go to the dashboard and click on Add new monitor :

monitor

  • select monitor type Http(s) :

http

  • then go to to your project on repl.it and copy the url from the top of the console and paste it in url section of the monitor:

link

  • now set the monitoring interval to every 5 mins (so that it will ping the bot every 5 mins) and click on create monitor twice :

finish monitor

  • That's it…Now go to your project on repl.it and hit the Run button :

run button

So this was the tutorial on :

How to keep your discord bot online 24/7 for FREE.

This method worked for me and my bot is also working fine :D

Hope you guys liked it and You're bot is now online….peace.