mirror of
https://github.com/Rapptz/discord.py.git
synced 2025-09-07 10:22:59 +00:00
First pass at documentation reform.
This commit is contained in:
76
docs/quickstart.rst
Normal file
76
docs/quickstart.rst
Normal file
@ -0,0 +1,76 @@
|
||||
.. _quickstart:
|
||||
|
||||
.. currentmodule:: discord
|
||||
|
||||
Quickstart
|
||||
============
|
||||
|
||||
This page gives a brief introduction to the library. It assumes you have the library installed,
|
||||
if you don't check the :ref:`installing` portion.
|
||||
|
||||
A Minimal Bot
|
||||
---------------
|
||||
|
||||
Let's make a bot that replies to a specific message and walk you through it.
|
||||
|
||||
It looks something like this:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
import discord
|
||||
|
||||
client = discord.Client()
|
||||
|
||||
@client.event
|
||||
async def on_ready():
|
||||
print('We have logged in as {0.user}'.format(self))
|
||||
|
||||
@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('your token here')
|
||||
|
||||
Let's name this file ``example_bot.py``. Make sure not to name it ``discord.py`` as that'll conflict
|
||||
with the library.
|
||||
|
||||
There's a lot going on here, so let's walk you through it step by step.
|
||||
|
||||
1. The first line just imports the library, if this raises a `ModuleNotFoundError` or `ImportError`
|
||||
then head on over to :ref:`installing` section to properly install.
|
||||
2. Next, we create an instance of a :class:`Client`. This client is our connection to Discord.
|
||||
3. We then use the :meth:`Client.event` decorator to register an event. This library has many events.
|
||||
Since this library is asynchronous, we do things in a "callback" style manner.
|
||||
|
||||
A callback is essentially a function that is called when something happens. In our case,
|
||||
the :func:`on_ready` event is called when the bot has finished logging in and setting things
|
||||
up and the :func:`on_message` event is called when the bot has received a message.
|
||||
4. Since the :func:`on_message` event triggers for *every* message received, we have to make
|
||||
sure that we ignore messages from ourselves. We do this by checking if the :attr:`Message.author`
|
||||
is the same as the :attr:`Client.user`.
|
||||
5. Afterwards, we check if the :class:`Message.content` starts with ``'$hello'``. If it is,
|
||||
then we reply in the channel it was used in with ``'Hello!'``.
|
||||
6. Finally, we run the bot with our login token. If you need help getting your token or creating a bot,
|
||||
look in the :ref:`discord-intro` section.
|
||||
|
||||
|
||||
Now that we've made a bot, we have to *run* the bot. Luckily, this is simple since this is just a
|
||||
Python script, we can run it directly.
|
||||
|
||||
On Windows:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
$ py -3 example_bot.py
|
||||
|
||||
On other systems:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
$ python3 example_bot.py
|
||||
|
||||
Now you can try playing around with your basic bot.
|
Reference in New Issue
Block a user