Pengantar

Ini merupakan dokumentasi untuk ndiscord.py, sebuah modul Python untuk membantu aplikasi yang ingin berkomunikasi dengan API Discord.

Prasyarat

ndiscord.py dapat digunakan dengan Python 3.8 keatas. Dukungan untuk versi lebih awal tidak diberikan. Python 2.7 atau lebih awal tidak didukung. Python 3.7 atau lebih awal juga tidak didukung.

Memasang

Anda hanya dapat memasang versi development untuk modul ini:

python3 -m pip install -U git+https://github.com/naoTimesdev/ndiscord.py

atau meng-klon secara manual:

git clone https://github.com/naoTimesdev/ndiscord.py
cd ndiscord.py
python3 -m pip install -U .

Untuk mendapatkan fitur voice, anda harus menambah [voice] diakhir requirement, contoh:

python3 -m pip install -U git+https://github.com/naoTimesdev/ndiscord.py[voice]

Di linux, untuk menambah fitur suara anda harus menambah dependencies berikut:

Untuk sistem Debian-based, anda dapat menggunakan perintah berikut:

$ apt install libffi-dev libnacl-dev python3-dev

Jangan lupa untuk memeriksa permission anda!

Virtual Environments

Terkadang anda tidak ingin modul memenuhi instalasi sistem atau menggunakan berbagai versi di satu sistem. Anda mungkin juga tidak ada hak untuk melakukan instalasi pada sistem. Maka, mulai dari Python 3.3 terdapat konsep bernama "Virtual Environment"s untuk membantu instalasi berbagai macam versi pada satu sistem.

Tutorial lebih lanjut dapat anda liat pada Virtual Environments and Packages.

Tetapi, singkatnya adalah:

  1. Buka folder proyek anda:

    $ cd your-bot-source
    $ python3 -m venv bot-env
    
  2. Aktifkan virtual environment:

    $ source bot-env/bin/activate
    

    Di Windows, anda dapat melakukannya dengan:

    $ bot-env\Scripts\activate.bat
    
  3. Lalu gunakan pip seperti biasa:

    $ pip install -U git+https://github.com/naoTimesdev/ndiscord.py
    

Selamat. Anda sekarang memiliki virtual environment yang siap dipakai.

Konsep Dasar

ndiscord.py berkisar pada konsep events. Sebuah event adalah sesuatu yang harus anda tangkap dan respon. Contohnya, ketika ada pesan baru, anda akan mendapatkan event tersebut dan anda dapat meresponnya.

Contoh untuk memperlihatkan bagaimana event bekerja:

import discord

class MyClient(discord.Client):
    async def on_ready(self):
        print(f'Logged on as {self.user}!')

    async def on_message(self, message):
        print(f'Message from {messsage.author}: {message.content}')

client = MyClient()
client.run('my token goes here')