Cara Membuat Bot Discord Gratis dengan Python

Anda tidak perlu menginstal apapun di komputer Anda, dan Anda tidak perlu membayar apapun untuk menghosting bot Anda.

Kita akan menggunakan sejumlah tool, termasuk Discord API, Python libraries dan platform cloud computing yang disebut Repl.it.

Cara Membuat Akun Bot Discord

Berikut adalah langkah-langkah untuk membuat akun Discord Bot.

1. Pastikan Anda masuk ke situs web Discord

2. Arahkan ke halaman aplikasi

3. Klik pada tombol New Application

4. Beri nama aplikasi dan klik Create

5. Buka tab Bot dan kemudian klik Add Bot. Anda harus mengonfirmasi dengan mengklik “Yes, do it!”

Pertahankan settingan default untuk Public Bot (dicentang) dan Require OAuth2 Code Grant (tidak dicentang).

Bot Anda telah dibuat. Langkah selanjutnya adalah meng-copy token.

Token ini adalah password bot Anda, jadi jangan bagikan dengan siapapun. Ini bisa memungkinkan seseorang untuk masuk ke bot Anda dan melakukan segala macam hal buruk.

Anda dapat membuat ulang token jika tidak sengaja dibagikan.

Cara Mengundang Bot Anda untuk Bergabung dengan Server

Sekarang Anda harus memasukkan Bot User Anda ke dalam server. Untuk melakukan ini, Anda harus membuat URL undangan untuk ini.

Buka tab OAuth2. Kemudian pilih Bot di bawah bagian Scope.

Sekarang pilih izin yang Anda inginkan untuk bot. Bot kita terutama akan menggunakan pesan teks jadi kita tidak memerlukan banyak izin. Anda mungkin membutuhkan lebih banyak tergantung pada apa yang Anda ingin bot Anda lakukan. Hati-hati dengan izin Administrator.

Setelah memilih izin yang sesuai, klik tombol Copy di atas izin. Ini akan meng-copy URL yang dapat digunakan untuk menambahkan bot ke server.

Paste URL ke browser Anda, pilih server untuk mengundang bot, dan klik Authorize.

Untuk menambahkan bot, akun Anda membutuhkan izin Manage Server.

Sekarang setelah Anda membuat bot user, kita akan mulai menulis kode Python untuk bot tersebut.

Cara Membuat Kode Bot Discord Dasar dengan discord.py Library

Kita akan menggunakan library Python discord.py untuk menulis kode bot. discord.py adalah API wrapper untuk Discord yang membuatnya lebih mudah untuk membuat bot Discord dengan Python.

Cara Membuat Repl dan Menginstal discord.py

Anda dapat mendevelop bot di komputer lokal Anda dengan editor kode apapun. Namun, dalam tutorial ini, kita akan menggunakan Repl.it karena akan memudahkan siapa saja untuk mengikutinya. Repl.it adalah IDE online yang dapat Anda gunakan di browser web Anda.

Mulailah dengan masuk ke Repl.it. Buat Repl baru dan pilih Python sebagai bahasanya.

Untuk menggunakan library discord.py, cukup tulis import discord di bagian atas main.py. Repl.it secara otomatis akan meng-install dependency ini ketika Anda menekan tombol Run.

Jika Anda lebih suka membuat kode bot secara lokal, Anda dapat menggunakan perintah ini di MacOS untuk meng-install discord.py.

python3 -m pip install -U discord.py

Anda mungkin harus menggunakan pip3, bukan pip.

Jika Anda menggunakan Windows, Anda harus menggunakan baris berikut.

py -3 -m pip install -U discord.py

Cara Setting Discord Event untuk Bot Anda

discord.py berkisar di sekitar konsep event. Event adalah sesuatu yang Anda dengarkan dan kemudian tanggapi. Misalnya, ketika sebuah pesan terjadi, Anda akan menerima event tentangnya yang dapat Anda tanggapi.

Mari kita buat bot yang membalas pesan tertentu. Kode bot sederhana ini, bersama dengan penjelasan kodenya, diambil dari dokumentasi discord.py. Kita akan menambahkan lebih banyak fitur ke bot nanti.

Tambahkan kode ini ke main.py (Anda dapat menamai file dengan nama lain jika Anda suka, hanya saja jangan discord.py).

import discord
import os

client = discord.Client()

@client.event
async def on_ready():
    print('We have logged in as {0.user}'.format(client))

@client.event
async def on_message(message):
    if message.author == client.user:
        return

    if message.content.startswith('$hello'):
        await message.channel.send('Hello!')

client.run(os.getenv('TOKEN'))

Saat Anda membuat bot user di Discord, Anda meng-copy token. Sekarang kita akan membuat file .env untuk menyimpan token. Jika Anda menjalankan kode Anda secara lokal, Anda tidak memerlukan file .env. Cukup ganti os.getenv('TOKEN') dengen tokennya.

File .env digunakan untuk mendeklarasikan variabel environment. Di Repl.it, sebagian besar file yang Anda buat dapat dilihat oleh siapa saja kecuali file .env hanya dapat dilihat oleh Anda. Orang lain yang melihat repl publik tidak akan dapat melihat konten file .env.

Jadi jika Anda men-develop di Repl.it, hanya sertakan informasi pribadi seperti token atau key dalam file .env.

Klik tombol Add File dan buat file bernama .env.

Di dalam file tambahkan baris berikut, termasuk token Anda yang sebenarnya yang Anda copy sebelumnya.

TOKEN=[paste token here]

Sekarang mari kita bahas apa yang dilakukan setiap baris kode dalam kode bot Discord Anda.

  1. Baris pertama mengimpor discord.py library
  2. Baris kedua mengimpor os library, tapi ini hanya digunakan untuk mendapatkan variabel TOKEN dari file .env. Jika Anda tidak menggunakan file .env Anda tidak membutuhkan baris ini
  3. Selanjutnya, kita membuat instance Client. Ini adalah koneksi ke Discord
  4. Dekorator @client.event() digunakan untuk mendaftarkan event. Ini adalah asynchronous library, jadi semuanya diselesaikan dengan callback. Callback adalah fungsi yang dipanggil ketika sesuatu terjadi. Dalam kode ini, event on_ready() dipanggil saat bot siap untuk mulai digunakan. Kemudian, saat bot menerima pesan, event on_message() dipanggil
  5. Event on_message() terpicu setiap kali pesan diterima tetapi kita tidak ingin melakukan apapun jika pesan ini berasal dari diri kita sendiri. Jadi jika Message.author sama dengan Client.user, kodenya hanya dikembalikan
  6. Selanjutnya, kita memeriksa apakah Message.content dimulai dengan $hello. Jika demikian, maka bot membalas dengan Hello! ke channel tempatnya digunakan
  7. Sekarang bot sudah di-setting, baris terakhir menjalankan bot dengan token login. Ini mendapat token dari file .env

Kita memiliki kode untuk bot, jadi sekarang kita hanya perlu menjalankannya.

Cara Menjalankan Bot

Sekarang klik tombol Run di bagian atas untuk menjalankan bot Anda di Repl.it.

Jika Anda menulis bot secara lokal, Anda dapat menggunakan perintah ini di terminal untuk menjalankan bot.

Di Windows.

py -3 main.py

Di sistem lain.

python3 main.py

Sekarang masuk ke room Discord Anda dan ketik $hello. Bot Anda seharusnya menampilkan Hello!

Cara Improve Bot

Sekarang kita memiliki bot dasar yang berfungsi, kita akan meng-improve-nya. Ini disebut Encourage Bot.

Bot ini akan merespon dengan pesan penyemangat setiap kali seseorang mengirim pesan yang berisi kata sedih.

Siapapun akan dapat menambahkan pesan penyemangat untuk digunakan bot dan pesan yang dikirimkan pengguna akan disimpan di database Repl.it.

Bot juga akan mengembalikan quote inspirasional acak dari API saat seseorang mengetik pesan $inspire ke dalam obrolan.

Kita akan mulai dengan menambahkan fitur $inspire.

Cara Menambahkan Quote Inspiratif ke Bot

Kita akan mendapatkan quote inspirasional dari API yang disebut zenquotes.io. Kita perlu mengimpor beberapa modul Python lagi, menambahkan fungsi get_quote(), dan memperbarui kode bot kita untuk memanggil fungsi tersebut.

Ini kode yang diperbarui.

import discord
import os
import requests
import json

client = discord.Client()

def get_quote():
  response = requests.get("https://zenquotes.io/api/random")
  json_data = json.loads(response.text)
  quote = json_data[0]['q'] + " -" + json_data[0]['a']
  return(quote)

@client.event
async def on_ready():
  print('We have logged in as {0.user}'.format(client))

@client.event
async def on_message(message):
  if message.author == client.user:
    return

  if message.content.startswith('$inspire'):
    quote = get_quote()
    await message.channel.send(quote)

client.run(os.getenv('TOKEN'))

Kita sekarang harus mengimpor modul request. Modul ini memungkinkan kode kita membuat HTTP request untuk mendapatkan data dari API. API mengembalikan JSON, jadi modul JSON membuatnya lebih mudah untuk bekerja dengan data yang dikembalikan.

Fungsi get_quote() cukup mudah. Pertama, ia menggunakan modul request untuk meminta data dari URL API. API mengembalikan quote inspirasional acak. Fungsi ini dapat dengan mudah ditulis ulang untuk mendapatkan quote dari API yang berbeda, jika yang sekarang berhenti berfungsi.

Selanjutnya di dalam fungsi, kita menggunakan json.loads() untuk mengonversi respon dari API ke JSON. Melalui trial dan error ditemukan cara untuk mendapatkan quote dari JSON ke dalam format string yang diinginkan. Quote dikembalikan dari fungsi sebagai string.

Bagian terakhir yang diperbarui dalam kode mendekati akhir. Sebelumnya mencari pesan yang dimulai dengan $hello. Sekarang mencari $inspire. Bukannya mengembalikan Halo!, tetapi mendapatkan quote dengan quote = get_quote() dan mengembalikan quote.

Pada tahap ini Anda dapat menjalankan kode Anda dan mencobanya.

Cara Menambahkan Pesan Penyemangat ke Bot

Sekarang kita akan menerapkan fitur di mana bot merespon dengan pesan encourage ketika pengguna mem-posting pesan dengan kata-kata sedih.

Cara Menambahkan Kata Sedih ke Bot

Pertama kita perlu membuat daftar Python yang berisi kata-kata sedih yang akan direspon oleh bot.

Tambahkan baris berikut setelah variabel client dibuat.

sad_words = ["sad", "depressed", "unhappy", "angry", "miserable"]

Jangan ragu untuk menambahkan lebih banyak kata ke daftar.

Cara Menambahkan Pesan Penyemangat ke Bot

Sekarang kita akan menambahkan daftar pesan penyemangat yang akan direspon oleh bot.

Tambahkan daftar berikut setelah daftar sad_words yang Anda buat.

starter_encouragements = [
  "Cheer up!",
  "Hang in there.",
  "You are a great person / bot!"
]

Seperti sebelumnya, jangan ragu untuk menambahkan lebih banyak frasa pilihan Anda ke dalam daftar. Di sini hanya menggunakan tiga item untuk saat ini karena nanti kita akan menambahkan kemampuan bagi pengguna untuk menambahkan frasa yang lebih menyemangati untuk digunakan bot.

Cara Menanggapi Pesan

Sekarang kita perlu memperbarui bot kita untuk menggunakan dua daftar yang kita buat. Pertama, impor modul acak karena bot akan memilih pesan penyemangat secara acak. Tambahkan baris berikut ke pernyataan impor di bagian atas kode: import random.

Sekarang kita akan memperbarui fungsi on_message() untuk memeriksa semua pesan untuk melihat apakah pesan tersebut berisi kata dari daftar sad-words. Jika kata sedih ditemukan, bot akan mengirimkan pesan penyemangat secara acak.

Ini kode yang diperbarui.

async def on_message(message):
  if message.author == client.user:
    return

  msg = message.content

  if msg.startswith('$inspire'):
    quote = get_quote()
    await message.channel.send(quote)
    
  if any(word in msg for word in sad_words):
    await message.channel.send(random.choice(starter_encouragements))

Ini saat yang tepat untuk menguji bot. Anda sekarang cukup tahu untuk membuat bot Anda sendiri. Tapi selanjutnya Anda akan belajar bagaimana mengimplementasikan fitur yang lebih canggih dan menyimpan data menggunakan database Repl.it.

Cara Mengaktifkan Pesan yang Dikirim Pengguna

Bot sepenuhnya berfungsi, tetapi sekarang mari kita memungkinkan untuk memperbarui bot langsung dari Discord. Seorang pengguna harus dapat menambahkan pesan yang lebih menyemangati untuk digunakan bot ketika mendeteksi kata sedih.

Kita akan menggunakan database built-in Repl.it untuk menyimpan pesan yang dikirimkan pengguna. Database ini adalah penyimpanan key-value yang dibangun di setiap repl.

Di bagian atas kode, di bawah pernyataan impor lainnya, tambahkan from replit import db. Ini akan memungkinkan kita untuk menggunakan database Repl.it.

Pengguna akan dapat menambahkan pesan penyemangat khusus untuk bot untuk digunakan langsung dari obrolan Discord. Sebelum kita menambahkan perintah baru untuk bot, mari buat dua fungsi pembantu yang akan menambahkan pesan khusus ke database dan menghapusnya.

Tambahkan kode berikut setelah fungsi get_quote().

def update_encouragements(encouraging_message):
  if "encouragements" in db.keys():
    encouragements = db["encouragements"]
    encouragements.append(encouraging_message)
    db["encouragements"] = encouragements
  else:
    db["encouragements"] = [encouraging_message]

def delete_encouragment(index):
  encouragements = db["encouragements"]
  if len(encouragements) > index:
    del encouragements[index]
  db["encouragements"] = encouragements

Fungsi update_encouragements() menerima pesan penyemangat sebagai argumen.

Pertama, ia memeriksa apakah “encouragements” adalah kunci dalam database. Jika demikian, ia mengambil daftar penyemangat yang sudah ada di database, menambahkan yang baru ke daftar, dan menyimpan daftar yang diperbarui kembali ke database di bawah key “encouragements”.

Jika database belum berisi “encouragements”, key baru dengan nama ini dibuat dan pesan penyemangat baru ditambahkan sebagai elemen pertama dalam daftar.

Fungsi delete_encouragement() menerima indeks sebagai argumen.

Ini mengambil daftar penyemangat dari database yang disimpan di bawah key “encouragements”. Jika jumlah item dalam daftar penyemangat lebih besar dari indeks, maka item daftar pada indeks akan dihapus.

Akhirnya, daftar yang diperbarui disimpan kembali dalam database di bawah key “encouragements”.

Berikut adalah kode yang diperbarui untuk fungsi on_message().

async def on_message(message):
  if message.author == client.user:
    return

  msg = message.content
 
  if msg.startswith("$inspire"):
    quote = get_quote()
    await message.channel.send(quote)

  options = starter_encouragements
  if "encouragements" in db.keys():
    options = options + db["encouragements"]

  if any(word in msg for word in sad_words):
    await message.channel.send(random.choice(options))

  if msg.startswith("$new"):
    encouraging_message = msg.split("$new ",1)[1]
    update_encouragements(encouraging_message)
    await message.channel.send("New encouraging message added.")

  if msg.startswith("$del"):
    encouragements = []
    if "encouragements" in db.keys():
      index = int(msg.split("$del",1)[1])
      delete_encouragment(index)
      encouragements = db["encouragements"]
    await message.channel.send(encouragements)

Baris kode baru pertama dari atas adalah options = starter_encouragements. Kita membuat copy starter_encouragements karena kita akan menambahkan pesan yang dikirim pengguna ke daftar ini sebelum memilih pesan acak untuk dikirim bot.

Kita memeriksa apakah “encouragements” sudah ada di key database (artinya pengguna telah mengirimkan setidaknya satu pesan khusus). Jika demikian, kita menambahkan pesan pengguna ke penyemangat awal.

Kemudian, daripada mengirim pesan acak dari starter_encouragements, bot sekarang mengirim pesan acak dari option.

Bagian kode baru berikutnya digunakan untuk menambahkan pesan baru yang dikirim pengguna ke database. Jika pesan Discord dimulai dengan $new, maka teks setelah $new akan digunakan sebagai pesan penyemangat baru.

Kode msg.split("$new ",1)[1] memisahkan pesan dari perintah $new dan menyimpan pesan dalam variabel. Di baris kode tersebut, perhatikan spasi di $new. Kita menginginkan segalanya setelah spasi.

Kita memanggil fungsi pembantu update_encouragements dengan pesan baru, dan kemudian bot mengirim pesan ke obrolan Discord yang mengonfirmasi bahwa pesan tersebut telah ditambahkan.

Bagian baru ketiga (di akhir kode di atas) memeriksa apakah pesan Discord baru dimulai dengan $del. Ini adalah perintah untuk menghapus item dari daftar penyemangat di database.

Pertama, variabel baru yang disebut encouragements diinisialisasi sebagai array kosong. Alasannya adalah bahwa bagian kode ini akan mengirim pesan dengan array kosong jika database tidak menyertakan key “encouragement”.

Jika key “encouragement” ada di database, indeks akan dipisahkan dari pesan Discord yang dimulai dengan $del. Kemudian, fungsi delete_encouragement() dipanggil untuk meneruskan indeks untuk dihapus. Daftar penyemangat yang diperbarui dimuat ke dalam variabel encouragement, dan kemudian bot mengirim pesan ke Discord dengan daftar saat ini.

Fitur Bot Terakhir

Bot seharusnya berfungsi, jadi ini saat yang tepat untuk mengujinya. Kita sekarang akan menambahkan beberapa fitur akhir.

Kita akan menambahkan kemampuan untuk mengambil daftar pesan yang dikirimkan pengguna langsung dari Discord dan kita akan menambahkan kemampuan untuk mematikan dan apakah bot merespon kata-kata sedih.

import discord
import os
import requests
import json
import random
from replit import db

client = discord.Client()

sad_words = ["sad", "depressed", "unhappy", "angry", "miserable"]

starter_encouragements = [
  "Cheer up!",
  "Hang in there.",
  "You are a great person / bot!"
]

if "responding" not in db.keys():
  db["responding"] = True

def get_quote():
  response = requests.get("https://zenquotes.io/api/random")
  json_data = json.loads(response.text)
  quote = json_data[0]["q"] + " -" + json_data[0]["a"]
  return(quote)

def update_encouragements(encouraging_message):
  if "encouragements" in db.keys():
    encouragements = db["encouragements"]
    encouragements.append(encouraging_message)
    db["encouragements"] = encouragements
  else:
    db["encouragements"] = [encouraging_message]

def delete_encouragment(index):
  encouragements = db["encouragements"]
  if len(encouragements) > index:
    del encouragements[index]
  db["encouragements"] = encouragements

@client.event
async def on_ready():
  print("We have logged in as {0.user}".format(client))

@client.event
async def on_message(message):
  if message.author == client.user:
    return

  msg = message.content

  if msg.startswith("$inspire"):
    quote = get_quote()
    await message.channel.send(quote)

  if db["responding"]:
    options = starter_encouragements
    if "encouragements" in db.keys():
      options = options + db["encouragements"]

    if any(word in msg for word in sad_words):
      await message.channel.send(random.choice(options))

  if msg.startswith("$new"):
    encouraging_message = msg.split("$new ",1)[1]
    update_encouragements(encouraging_message)
    await message.channel.send("New encouraging message added.")

  if msg.startswith("$del"):
    encouragements = []
    if "encouragements" in db.keys():
      index = int(msg.split("$del",1)[1])
      delete_encouragment(index)
      encouragements = db["encouragements"]
    await message.channel.send(encouragements)

  if msg.startswith("$list"):
    encouragements = []
    if "encouragements" in db.keys():
      encouragements = db["encouragements"]
    await message.channel.send(encouragements)
    
  if msg.startswith("$responding"):
    value = msg.split("$responding ",1)[1]

    if value.lower() == "true":
      db["responding"] = True
      await message.channel.send("Responding is on.")
    else:
      db["responding"] = False
      await message.channel.send("Responding is off.")

client.run(os.getenv("TOKEN"))

Bagian pertama yang ditambahkan ke kode tepat di bawah daftar penyemangat awal.

if "responding" not in db.keys():
  db["responding"] = True

Kita membuat key baru dalam database yang disebut “responding” dan menyettingnya ke True. Kita akan menggunakan ini untuk menentukan apakah bot harus menanggapi kata-kata sedih atau tidak. Karena database disimpan bahkan setelah program berhenti berjalan, kita hanya membuat key baru jika belum ada.

Bagian baru berikutnya dari kode ini adalah bagian yang merespon kata-kata sedih sekarang berada di dalam pernyataan if ini: if db["responding"]:. Bot hanya akan merespon kata-kata sedih jika db["responding"] = True. Kemampuan untuk memperbarui value ini muncul setelah bagian selanjutnya ini.

Selanjutnya, setelah kode untuk membuat bot merespon perintah $del, ada kode baru untuk merespon perintah $list saat dikirim sebagai pesan Discord.

Bagian ini dimulai dengan membuat daftar kosong yang disebut encouragements. Kemudian, jika sudah ada encouragements di database, encouragements tersebut menggantikan daftar kosong yang baru saja dibuat.

Akhirnya, bot mengirimkan daftar penyemangat sebagai pesan Discord.

Bagian baru terakhir. Kode ini membuat bot merespon perintah $responding. Perintah ini mengambil argumen true atau false. Berikut adalah contoh penggunaan $responding true.

Kode pertama-tama menarik argumen dengan value = msg.split("$responding ",1)[1] (seperti sebelumnya, perhatikan spasi di $responding). Kemudian ada pernyataan if/else yang secara tepat menyetting key responding dalam database dan mengirim pesan notifikasi kembali ke Discord. Jika argumennya tidak lain adalah true, kode menganggapnya false.

Kode untuk bot sudah selesai. Anda sekarang dapat menjalankan bot dan mencobanya. Namun ada satu langkah penting lagi.

Cara Menyetting Bot agar Berjalan secara Berkelanjutan

Jika Anda menjalankan bot di Repl.it dan kemudian menutup tab yang menjalankannya, bot Anda akan berhenti berjalan.

Namun, ada solusinya. Repl.it akan terus menjalankan web server bahkan setelah tab ditutup. Tetapi bahkan web server hanya akan berjalan hingga satu jam tanpa penggunaan apapun.

Inilah yang dikatakan oleh Repl.it doc:

Setelah di-deploy, server akan terus berjalan di background, bahkan setelah Anda menutup tab browser. Server akan tetap aktif sampai satu jam setelah permintaan terakhirnya, setelah itu akan memasuki tahap sleep. Replika sleep akan dibangunkan segera setelah menerima permintaan lain; tidak perlu menjalankan repl. Namun, jika Anda membuat perubahan pada server Anda, Anda perlu me-restart repl untuk melihat perubahan tersebut tercermin dalam versi langsung.

Repl.it telah mengumumkan bahwa di masa depan akan menawarkan paket berbayar yang memungkinkan kode untuk berjalan terus-menerus, tanpa pernah memasuki tahap sleep.

Sampai ini diterapkan, ada cara lain untuk menjadikan bot Anda tetap berjalan lebih dari satu jam. Dan metode ini berfungsi dengan level gratis Repl.it.

Agar bot terus berjalan, kita akan menggunakan layanan gratis lain yang disebut Uptime Robot di https://uptimerobot.com/.

Uptime Robot dapat di-setting untuk melakukan ping ke web server bot di Repl.it setiap lima menit. Dengan ping yang konstan, bot tidak akan pernah memasuki tahap sleep dan akan terus berjalan.

Jadi kita harus melakukan dua hal lagi agar bot kita terus berjalan:

  1. Membuat web server di Repl.it
  2. Menyetting Uptime Robot untuk terus melakukan ping ke web server

Cara Membuat Web Server di Repl.it

Membuat web server lebih sederhana dari yang Anda kira.

Untuk melakukannya, buat file baru dalam project Anda bernama keep_alive.py.

Kemudian tambahkan kode berikut.

from flask import Flask
from threading import Thread

app = Flask('')

@app.route('/')
def home():
    return "Hello. I am alive!"

def run():
  app.run(host='0.0.0.0',port=8080)

def keep_alive():
    t = Thread(target=run)
    t.start()

Dalam kode ini, kita menggunakan Flask untuk menjalankan web server. Server mengembalikan “Hello. I am alive.” kepada siapapun yang mengunjunginya. Server akan berjalan di thread terpisah dari bot kita.

Sekarang kita hanya membutuhkan bot untuk menjalankan web server ini.

Tambahkan baris berikut ke bagian atas main.py untuk mengimpor server.

from keep_alive import keep_alive

Untuk menjalankan web server saat main.py dijalankan, tambahkan baris berikut sebagai baris kedua, tepat sebelum bot dijalankan.

keep_alive()

Saat Anda menjalankan bot di Repl.it setelah menambahkan kode ini, window web server baru akan terbuka. Ada URL yang ditampilkan untuk web server. Copy URL agar Anda dapat menggunakannya di bagian selanjutnya.

Cara Setting Uptime Robot

Sekarang kita perlu menyiapkan Uptime Robot untuk melakukan ping ke web server setiap lima menit. Ini akan menyebabkan bot terus berjalan.

Buat akun gratis di https://uptimerobot.com/.

Setelah Anda login ke akun Anda, klik Add New Monitor.

Untuk monitor baru, pilih HTTP(s) sebagai Monitor Type dan beri nama sesuka Anda. Kemudian, paste URL web server Anda dari Repl.it. Terakhir, klik Create Monitor.

Selesai. Sekarang bot akan terus berjalan sehingga orang selalu dapat berinteraksi dengannya di Repl.it.

Kesimpulan

Anda sekarang tahu cara membuat bot Discord dengan Python, dan menjalankannya terus-menerus di cloud.

Ada banyak hal lain yang dapat dilakukan discord.py library. Jadi jika Anda ingin memberikan bot Discord lebih banyak lagi fitur, langkah Anda selanjutnya adalah memeriksa dokumen untuk discord.py.

(Visited 624 times, 25 visits today)

Leave a Reply

Your email address will not be published. Required fields are marked *