mirror of
https://github.com/MinazukiAmane/Tinasha-Bot.git
synced 2025-03-15 07:35:57 +08:00
Delete subscribe.js
This commit is contained in:
parent
942b524cb7
commit
fe834dc23d
@ -1,123 +0,0 @@
|
||||
const { EmbedBuilder, ApplicationCommandOptionType } = require("discord.js");
|
||||
const { MESSAGES, EMBED_COLORS } = require("@root/config");
|
||||
const fetch = require('node-fetch');
|
||||
|
||||
const subscriptions = new Map(); // Store subscriptions in memory (consider using the mongodb or maybe gonna use redis)
|
||||
|
||||
/**
|
||||
* @type {import("@structures/Command")}
|
||||
*/
|
||||
module.exports = {
|
||||
name: "subscribe",
|
||||
description: "Subscribe to YouTube or TikTok notifications.",
|
||||
category: "UTILITY",
|
||||
botPermissions: ["SendMessages"],
|
||||
command: {
|
||||
enabled: true,
|
||||
usage: "<platform> <channel/user_id>",
|
||||
},
|
||||
slashCommand: {
|
||||
enabled: true,
|
||||
options: [
|
||||
{
|
||||
name: "platform",
|
||||
description: "The platform to subscribe to (youtube/tiktok)",
|
||||
type: ApplicationCommandOptionType.String,
|
||||
required: true,
|
||||
choices: [
|
||||
{ name: "YouTube", value: "youtube" },
|
||||
{ name: "TikTok", value: "tiktok" },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "channel_or_user_id",
|
||||
description: "The YouTube channel ID or TikTok user ID",
|
||||
type: ApplicationCommandOptionType.String,
|
||||
required: true,
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
async messageRun(message, args) {
|
||||
const platform = args[0].toLowerCase();
|
||||
const channelOrUserId = args[1];
|
||||
const response = await subscribe(message.channel, platform, channelOrUserId);
|
||||
await message.safeReply(response);
|
||||
},
|
||||
|
||||
async interactionRun(interaction) {
|
||||
const platform = interaction.options.getString("platform");
|
||||
const channelOrUserId = interaction.options.getString("channel_or_user_id");
|
||||
const response = await subscribe(interaction.channel, platform, channelOrUserId);
|
||||
await interaction.followUp(response);
|
||||
},
|
||||
};
|
||||
|
||||
/**
|
||||
* Subscribe to notifications for a specific platform and channel/user.
|
||||
* @param {import("discord.js").TextChannel} channel
|
||||
* @param {string} platform
|
||||
* @param {string} channelOrUserId
|
||||
*/
|
||||
async function subscribe(channel, platform, channelOrUserId) {
|
||||
const key = `${platform}:${channelOrUserId}`;
|
||||
|
||||
if (subscriptions.has(key)) {
|
||||
return "🚫 You are already subscribed to this channel/user.";
|
||||
}
|
||||
|
||||
subscriptions.set(key, channel.id);
|
||||
return `✅ Successfully subscribed to ${platform} updates for ${channelOrUserId}.`;
|
||||
}
|
||||
|
||||
/**
|
||||
* Function to check for updates (YouTube and TikTok)
|
||||
* This function should be called periodically (e.g., using setInterval)
|
||||
*/
|
||||
async function checkForUpdates() {
|
||||
for (const [key, channelId] of subscriptions.entries()) {
|
||||
const [platform, id] = key.split(":");
|
||||
|
||||
let updateMessage = "";
|
||||
|
||||
if (platform === "youtube") {
|
||||
const updates = await fetchYouTubeUpdates(id);
|
||||
if (updates) {
|
||||
updateMessage = `New YouTube update for ${id}: ${updates}`;
|
||||
}
|
||||
} else if (platform === "tiktok") {
|
||||
const updates = await fetchTikTokUpdates(id);
|
||||
if (updates) {
|
||||
updateMessage = `New TikTok update for ${id}: ${updates}`;
|
||||
}
|
||||
}
|
||||
|
||||
if (updateMessage) {
|
||||
const channel = await channelId.fetch();
|
||||
channel.send(updateMessage);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetch updates from YouTube (placeholder function)
|
||||
* @param {string} channelId
|
||||
*/
|
||||
async function fetchYouTubeUpdates(channelId) {
|
||||
// Implement your logic to fetch updates from YouTube
|
||||
// Return the update message or null if no updates
|
||||
return null; // Placeholder
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetch updates from TikTok (placeholder function)
|
||||
* @param {string} userId
|
||||
*/
|
||||
async function fetchTikTokUpdates(userId) {
|
||||
// Implement your logic to fetch updates from TikTok
|
||||
// Return the update message or null if no updates
|
||||
return null; // Placeholder
|
||||
}
|
||||
|
||||
// Set an interval to check for updates every 10 minutes (600000 ms)
|
||||
setInterval(checkForUpdates, 600000);
|
Loading…
x
Reference in New Issue
Block a user