wip more stuff
This commit is contained in:
54
packages/playground/src/main.tsx
Normal file
54
packages/playground/src/main.tsx
Normal file
@@ -0,0 +1,54 @@
|
||||
import { raise } from "@reacord/helpers/raise"
|
||||
import { Client, GatewayIntentBits } from "discord.js"
|
||||
import * as dotenv from "dotenv"
|
||||
import { join } from "node:path"
|
||||
import { fileURLToPath } from "node:url"
|
||||
import { oraPromise } from "ora"
|
||||
import React from "react"
|
||||
import { Button, ReacordClient } from "../../reacord/src/main"
|
||||
|
||||
dotenv.config({
|
||||
path: join(fileURLToPath(import.meta.url), "../../../../.env"),
|
||||
override: true,
|
||||
})
|
||||
|
||||
const token = process.env.TEST_BOT_TOKEN ?? raise("TEST_BOT_TOKEN not defined")
|
||||
|
||||
const client = new Client({ intents: [GatewayIntentBits.Guilds] })
|
||||
const reacord = new ReacordClient({ token })
|
||||
|
||||
client.once("ready", async (client) => {
|
||||
try {
|
||||
await oraPromise(
|
||||
client.application.commands.create({
|
||||
name: "counter",
|
||||
description: "counts things",
|
||||
}),
|
||||
"Registering commands",
|
||||
)
|
||||
} catch (error) {
|
||||
console.error("Failed to register commands:", error)
|
||||
}
|
||||
})
|
||||
|
||||
client.on("interactionCreate", async (interaction) => {
|
||||
if (
|
||||
interaction.isChatInputCommand() &&
|
||||
interaction.commandName === "counter"
|
||||
) {
|
||||
reacord.reply(interaction, <Counter />)
|
||||
// reacord.reply(interaction, "test3").render("test4")
|
||||
}
|
||||
})
|
||||
|
||||
await oraPromise(client.login(token), "Logging in")
|
||||
|
||||
function Counter() {
|
||||
const [count, setCount] = React.useState(0)
|
||||
return (
|
||||
<>
|
||||
count: {count}
|
||||
<Button label="+" onClick={() => setCount(count + 1)} />
|
||||
</>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user