Skip to main content

Component for discord.py

Project description

dpy-components

PyPI PyPI - Downloads Documentation Status
This lib adds components support for discord.py.
Please note this is beta yet.

Example

import os

from discord.ext import commands, components

bot = commands.Bot("c ")
bot.load_extension("discord.ext.components")


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


@bot.command()
async def test(ctx, button_label, hidden: bool):
    await components.send(ctx, "Click this", components=[components.Button(button_label, name="button1")])
    cmp = await bot.wait_for("button_click", check=lambda c: c.name == "button1")
    await cmp.send(f"You clicked {button_label}.", hidden=hidden)

bot.run(os.getenv("token"))

Reference

ButtonType

Represents button type.

primary,primary_cta,blue,blurple

Represents 1.

success,primary_success,green

Represents 2.

secondary,gray,grey

Represents 3.

danger,destructive,red

Represents 4.

link,url

Represents 5.

components.send

This function is a coroutine. Send message with components.

components.send(channel: discord.abc.Messageable, content=None, *, tts=False, embed=None, file=None,
                files=None, delete_after=None, nonce=None,
                allowed_mentions=None, reference=None,
                mention_author=None, components=[])

channnel: Channel to send the message.
content..mention_author: Same as discord.abc.Messageable.send.
components: Components to attach to the message.
If you want to use multi row components, please specify 2D list.

components.reply

This function is a coroutine.
An utility function for replying message.
Same as:

await send(target.channel, *args, reference=target.to_reference(), **kwargs)

components.Button

Represents a button in component.
label: Label for the button.
custom_id|name: Custom id for the button.
url: URL for the button.
style: Style for the button.
Pass values of Button Styles, or ButtonType.
emoji: Emoji for the button.
enabled: Whether the button is enabled.

Properties

.disabled: Same as not self.enabled.

on_button_click(cmp: ButtonResponse)

Fires when user clicked button.

ButtonResponse

Represents a button response.
Do not initialize this class directly.
id: ID of the interaction.
application_id: Application ID of the interaction.
guild: Guild of the interaction.
channel: Channel of the interaction.
message: Message of the interaction.
member: Member who pressed the button.
token: Token of the interaction.
custom_id|name: Custom ID of the button.

ButtonResponse.send

This function is a coroutine.
Responds interaction.

ButtonResponse.send(
    content=None, *,
    embed=None,
    embeds=[],
    allowed_mentions=None,
    tts=False,
    hidden=False
)

content...tts: Same as discord.abc.Messageable.send.
hidden: Hide the message or not.

ButtonResponse.defer_source

This function is a coroutine.
ACK an interaction with DeferredChannelMessageWithSource(5).
The user sees a loading state.

ButtonResponse.defer_update

This function is a coroutine.
ACK an interaction with DeferredUpdateMessage(6).
The user doesn't see a loading state.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

dpy_components-0.4.2-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file dpy_components-0.4.2-py3-none-any.whl.

File metadata

  • Download URL: dpy_components-0.4.2-py3-none-any.whl
  • Upload date:
  • Size: 9.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/54.1.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

File hashes

Hashes for dpy_components-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 942fbff7ac6bc8ec665ed6578ee5328a4cd0ece09a8426d99eb8ef60f523058c
MD5 e17cae0a443caf8aa34a38200f9e41a4
BLAKE2b-256 68bb3f927732dd627de6b65ca078044a391df4e715a4c0fd2341771d48764fec

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page