Попробуй такой пример (он для новых версий дискорд.пи):
import discord
from discord.ext import commands
client=commands.Bot(command_prefix=".")
class Buttons(discord.ui.View): # класс описывает набор кнопок
def __init__(self, *, timeout=180): # конструктор класса
super().__init__(timeout=timeout)
# этому методу будет сопоставлена кнопка. По клику метод будет вызван.
@discord.ui.button(label="Button",style=discord.ButtonStyle.gray)
async def gray_button(self,button:discord.ui.Button,interaction:discord.Interaction):
# ищи сведения об объекте discord.Interaction, чтобы понять, что ещё можно сделать в обработчике кнопки.
await interaction.response.edit_message(content=f"This is an edited button response!")
# альтернативно, тут ты можешь вызывать требуемые тебе методы и вообще делать что нужно
@client.command()
async def button(ctx): # по команде !button отсылается сообщение с кнопками
await ctx.send(
"This message has buttons!", # текст сообщения как обычно
view=Buttons() # создаём экземпляр класса Buttons и прикрепляем его
)
token=""
client.run(token) # запуск бота