Skip to content

Commit 4907b59

Browse files
committed
1. Fixed example and added new. 2.channel.fetch_message now return ComponentMessage
1 parent 9ce5d6f commit 4907b59

File tree

3 files changed

+56
-5
lines changed

3 files changed

+56
-5
lines changed

discord_components/dpy_overrides.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -344,4 +344,11 @@ async def send_override(context_or_channel, *args, **kwargs):
344344
return await send(channel, *args, **kwargs)
345345

346346

347+
async def fetch_component_message(self, id:int):
348+
channel = self
349+
data = await self._state.http.get_message(channel.id, id)
350+
return ComponentMessage(state=self._state, channel=channel, data=data)
351+
352+
347353
Messageable.send = send_override
354+
Messageable.fetch_message = fetch_component_message

examples/example_cog.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,6 @@ async def callback(interaction):
4545
],
4646
)
4747

48-
while True:
49-
interaction = await self.bot.wait_for("select_option")
50-
await interaction.respond(
51-
content=f"{','.join(map(lambda x: x.label, interaction.component))} selected!"
52-
)
5348

5449

5550
def setup(bot):

examples/simple_event.py

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
from discord_components import Button, Select, SelectOption, ComponentsBot
2+
3+
4+
bot = ComponentsBot("!")
5+
"""
6+
or you can just override the methods yourself
7+
8+
bot = discord.ext.commands.Bot("!")
9+
DiscordComponents(bot)
10+
"""
11+
12+
13+
@bot.event
14+
async def on_ready():
15+
print(f"Logged in as {bot.user}!")
16+
17+
18+
@bot.command()
19+
async def button(ctx):
20+
components = [Button(label="Button", custom_id="button1")]
21+
22+
await ctx.send("Buttons!", components=components)
23+
24+
25+
@bot.event
26+
async def on_button_click(interaction):
27+
await interaction.respond(content="Button Clicked")
28+
29+
30+
@bot.command()
31+
async def select(ctx):
32+
components = [
33+
Select(
34+
placeholder="Select something!",
35+
options=[
36+
SelectOption(label="a", value="a"),
37+
SelectOption(label="b", value="b"),
38+
],
39+
custom_id="select1",
40+
)
41+
]
42+
43+
await ctx.send("Selects!",components=components)
44+
45+
46+
@bot.event
47+
async def on_select_option(interaction):
48+
await interaction.respond(content=f"{interaction.values[0]} selected!")
49+

0 commit comments

Comments
 (0)