init
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
import { Client, IntentsBitField, Events } from "discord.js";
|
||||
import config from "./config.ts";
|
||||
import axios from "axios";
|
||||
import { redisCount } from "./utils/redis.ts";
|
||||
|
||||
// URL to invite bot: https://discord.com/api/oauth2/authorize?client_id=1071394728513380372&permissions=2147485696&scope=bot
|
||||
|
||||
const HOST_NAME = "https://www.watchparty.me";
|
||||
const API_NAME = "https://backend.watchparty.me";
|
||||
|
||||
const client = new Client({
|
||||
intents: [IntentsBitField.Flags.Guilds, IntentsBitField.Flags.GuildMessages],
|
||||
});
|
||||
|
||||
client.on("ready", () => {
|
||||
console.log("I am ready!");
|
||||
console.log("bot is in %s guilds", client.guilds.cache.size);
|
||||
});
|
||||
|
||||
client.on(Events.InteractionCreate, async (interaction) => {
|
||||
if (!interaction.isChatInputCommand()) return;
|
||||
|
||||
if (interaction.commandName === "watch") {
|
||||
const preload = interaction.options.get("video")?.value;
|
||||
// Call the watchparty API to make a room
|
||||
const response = await axios.post(API_NAME + "/createRoom", {
|
||||
video: preload,
|
||||
});
|
||||
redisCount("discordBotWatch");
|
||||
// Return the generated room URL
|
||||
await interaction.reply({
|
||||
content: `Created a new WatchParty${
|
||||
preload ? ` with video ${preload}` : ""
|
||||
}!
|
||||
${HOST_NAME + "/watch" + response.data.name}
|
||||
`,
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
client.login(config.DISCORD_BOT_TOKEN);
|
||||
Reference in New Issue
Block a user