Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
78 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
import discord | ||
|
||
# Channel selects (dropdowns) are a new type of select menu/dropdown Discord has added so users can select channels from a dropdown. | ||
|
||
# Defines a simple View that allows the user to use the Select menu. | ||
# In this view, we define the channel_select with `discord.ui.channel_select` | ||
# Using the decorator automatically sets `select_type` to `discord.ComponentType.channel_select`. | ||
class DropdownView(discord.ui.View): | ||
@discord.ui.channel_select( | ||
placeholder="Select channels...", min_values=1, max_values=3 | ||
) # Users can select a maximum of 3 channels in the dropdown | ||
async def channel_select_dropdown(self, select, interaction): | ||
await interaction.response.send_message( | ||
f"You selected the following channels:" | ||
+ f", ".join(f"{channel.mention}" for channel in select.values) | ||
) | ||
|
||
|
||
bot = discord.Bot(debug_guilds=[...]) | ||
|
||
|
||
@bot.slash_command() | ||
async def channel_select(ctx: discord.ApplicationContext): | ||
"""Sends a message with our dropdown that contains a channel select.""" | ||
|
||
# Create the view containing our dropdown | ||
view = DropdownView() | ||
|
||
# Sending a message containing our View | ||
await ctx.respond("Select channels:", view=view) | ||
|
||
|
||
@bot.event | ||
async def on_ready(): | ||
print(f"Logged in as {bot.user} (ID: {bot.user.id})") | ||
print("------") | ||
|
||
|
||
bot.run("TOKEN") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
import discord | ||
|
||
# Role selects (dropdowns) are a new type of select menu/dropdown Discord has added so people can select server roles from a dropdown. | ||
|
||
# Defines a simple View that allows the user to use the Select menu. | ||
# In this view, we define the role_select with `discord.ui.role_select` | ||
# Using the decorator automatically sets `select_type` to `discord.ComponentType.role_select`. | ||
class DropdownView(discord.ui.View): | ||
@discord.ui.role_select( | ||
placeholder="Select roles...", min_values=1, max_values=3 | ||
) # Users can select a maximum of 3 roles in the dropdown | ||
async def role_select_dropdown(self, select, interaction): | ||
await interaction.response.send_message( | ||
f"You selected the following roles:" | ||
+ f", ".join(f"{role.mention}" for role in select.values) | ||
) | ||
|
||
|
||
bot = discord.Bot(debug_guilds=[...]) | ||
|
||
|
||
@bot.slash_command() | ||
async def role_select(ctx: discord.ApplicationContext): | ||
"""Sends a message with our dropdown that contains a role select.""" | ||
|
||
# Create the view containing our dropdown | ||
view = DropdownView() | ||
|
||
# Sending a message containing our View | ||
await ctx.respond("Select roles:", view=view) | ||
|
||
|
||
@bot.event | ||
async def on_ready(): | ||
print(f"Logged in as {bot.user} (ID: {bot.user.id})") | ||
print("------") | ||
|
||
|
||
bot.run("TOKEN") |