import nextcord from nextcord.ext import commands from nextcord import TextInputStyle from random import randint import aiosqlite as sqlite3 import aiohttp from urllib.parse import urlparse import os class RoleView(nextcord.ui.View): def __init__(self,bot,guild): super().__init__(timeout=None) self.bot = bot #res = await self.bot.cur.execute(f"SELECT roleid FROM rolebutton WHERE serverid = {guild.id}") self.add_item(nextcord.ui.Button(label="Test", style=nextcord.ButtonStyle.gray, custom_id="rolebutton:821095192831852554")) self.add_item(nextcord.ui.Button(label="Test 2", style=nextcord.ButtonStyle.gray, custom_id="rolebutton:1058708072064884736")) async def callback(self, button: nextcord.ui.Button, interaction: nextcord.Interaction): await interaction.response.send_message(f"user requested role {button.custom_id}", ephemeral=True) return class speechbubble(commands.Cog): def __init__(self, bot: commands.Bot): self.bot = bot bot.add_view(RoleView()) @nextcord.slash_command( name="roletest", description="check if the buttons work", ) async def roletest(self, interaction: nextcord.Interaction, victim: nextcord.Member = nextcord.SlashOption(name="victim")): await interaction.response.send_modal(view=RoleView(self.bot,interaction.guild)) def setup(bot: commands.Bot): bot.add_cog(rolebuttons(bot))