Browse Source
Had some spare time and figured I'd help out by creating a tutorial. Tried to follow the format in the rest of the bot tutorial, but if there are things that needs changing, please let me know!pull/56/head
committed by
GitHub
1 changed files with 62 additions and 0 deletions
@ -0,0 +1,62 @@ |
|||||
|
# Message Embeds |
||||
|
|
||||
|
A [Message Embed](https://b1naryth1ef.github.io/disco/api/disco_types_message.html#messageembed) represents a Discord Embed object. An Embed object is used to display certain data, in a more layed out and prety way than regular Discord messages. |
||||
|
|
||||
|
An example of a message embed: |
||||
|
|
||||
|
 |
||||
|
|
||||
|
An embed can contain the following buildstones: |
||||
|
* Author, including link and avatar |
||||
|
* Title |
||||
|
* Description |
||||
|
* Field(s) |
||||
|
* Thumbnail image |
||||
|
* Image |
||||
|
* Footer text |
||||
|
* Footer icon |
||||
|
* Timestamp |
||||
|
Next to these, you can set the embeds color, which will set the color of the left sidebar of the embed. |
||||
|
|
||||
|
## Creating an embed |
||||
|
Creating an embed is simple, and can be done like this: |
||||
|
```py |
||||
|
from disco.types.message import MessageEmbed |
||||
|
from datetime import datetime |
||||
|
|
||||
|
embed = MessageEmbed() |
||||
|
``` |
||||
|
This will create a default, empty, Discord Embed object. Now that we have that, let's assign some values to it. First, lets set the author and the title, with a link that leads to this page. This can be done as follows: |
||||
|
```py |
||||
|
embed.set_author(name='b1nzy#1337', url='https://b1naryth1ef.github.com/disco', icon_url='http://i.imgur.com/1tjdUId.jpg') |
||||
|
embed.title = 'How to create an embed' |
||||
|
embed.url = 'https://b1naryth1ef.github.io/disco/bot_tutorial/message_embeds.html' #This URL will be hooked up to the title of the embed |
||||
|
``` |
||||
|
Now, we can add a description and a few fields: |
||||
|
```py |
||||
|
embed.add_field(name='Inline field 1', value='Some value for this field', inline=True) |
||||
|
embed.add_field(name='Inline field 2', value='Another value for another field', inline=True) |
||||
|
embed.add_field(name='Inline field 3', value='Third value for the third field', inline=True) |
||||
|
embed.add_field(name='A non-inline field', value='You can only have a max of 3 inline field on 1 line', inline=False) |
||||
|
embed.description = 'This is the general description of the embed, you can use the Discord supported MD in here too, to make it look extra fancy. For example, creating some **bold** or ~~striketrhough~~ text.' |
||||
|
``` |
||||
|
Last up, let's set a footer, color and add a timestamp |
||||
|
```py |
||||
|
embed.timestamp = datetime.utcnow().isoformat() |
||||
|
embed.set_footer(text='Disco Message Embeds tutorial') |
||||
|
embed.color = '10038562' #This can be any color, but I chose a nice dark red tint |
||||
|
``` |
||||
|
|
||||
|
Once your embed is finshed, you can send it using the `channels_messages_create()` message or the `event.msg.reply()` function in a command like this: |
||||
|
with `channels_messages_create()`: |
||||
|
```py |
||||
|
self.bot.client.api.channels_messages_create(<ChannelID>, '<optional text>', embed=embed) |
||||
|
``` |
||||
|
with the `event.msg.reply()` function: |
||||
|
```py |
||||
|
event.msg.reply('<optional text>', embed=embed) |
||||
|
``` |
||||
|
|
||||
|
The final embed we created in this tutorial would look like this: |
||||
|
|
||||
|
 |
Loading…
Reference in new issue