c: CommandContext<Env> | ComponentContext<Env, Button>,
///// Response Build /////
const embed = new Embed()
.description(`${content}\nPage: ${page}`)
const components = new Components().row(
new Button('page', ['⬅️', 'Previous'])
.custom_id(JSON.stringify([page - 1, content]))
new Button('page', ['➡️', 'Next'])
.custom_id(JSON.stringify([page + 1, content]))
.disabled(maxPage <= page),
return { embeds: [embed], components }
const app = new DiscordHono<Env>()
.command('page', c => c.res(pageContent(c, 1, c.var.content)))
.component('page', c => {
const arr: [number, string] = JSON.parse(c.var.custom_id ?? '')
return c.resUpdate(pageContent(c, ...arr))