Fix duplicate streamWatching, locale guild et console log/error
Build and Push Docker Image / build-and-push (push) Successful in 3m43s
Build and Push Docker Image / build-and-push (push) Successful in 3m43s
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import { Events, EmbedBuilder, ChannelType } from "discord.js"
|
||||
import type { GuildMember } from "discord.js"
|
||||
import { t } from "@/utils/i18n"
|
||||
import { t, getGuildLocale } from "@/utils/i18n"
|
||||
import { logConsole } from "@/utils/console"
|
||||
|
||||
export const name = Events.GuildMemberAdd
|
||||
@@ -30,10 +30,11 @@ export async function execute(member: GuildMember) {
|
||||
return
|
||||
}
|
||||
|
||||
const guildLocale = await getGuildLocale(guild.id)
|
||||
const embed = new EmbedBuilder()
|
||||
.setColor(guild.members.me.displayHexColor)
|
||||
.setTitle(t(guild.preferredLocale, "welcome.title", { username: member.user.username }))
|
||||
.setDescription(t(guild.preferredLocale, "welcome.description", { memberCount: guild.memberCount.toString() }))
|
||||
.setTitle(t(guildLocale, "welcome.title", { username: member.user.username }))
|
||||
.setDescription(t(guildLocale, "welcome.description", { memberCount: guild.memberCount.toString() }))
|
||||
.setThumbnail(member.user.avatarURL())
|
||||
.setTimestamp(new Date())
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Events } from "discord.js"
|
||||
import type { GuildMember } from "discord.js"
|
||||
import { t } from "@/utils/i18n"
|
||||
import { t, getGuildLocale } from "@/utils/i18n"
|
||||
|
||||
export const name = Events.GuildMemberRemove
|
||||
export function execute(member: GuildMember) {
|
||||
@@ -15,8 +15,9 @@ export function execute(member: GuildMember) {
|
||||
const channel = guild.channels.cache.get("1091140609139560508")
|
||||
if (!channel) return
|
||||
|
||||
await channel.setName(t(guild.preferredLocale, "salonpostam.update.loading"))
|
||||
await channel.setName(t(guild.preferredLocale, "salonpostam.update.members_updated", { count: i.toString() }))
|
||||
const guildLocale = await getGuildLocale(guild.id)
|
||||
await channel.setName(t(guildLocale, "salonpostam.update.loading"))
|
||||
await channel.setName(t(guildLocale, "salonpostam.update.members_updated", { count: i.toString() }))
|
||||
}).catch(console.error)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Events, EmbedBuilder, ChannelType } from "discord.js"
|
||||
import type { GuildMember } from "discord.js"
|
||||
import { t } from "@/utils/i18n"
|
||||
import { t, getGuildLocale } from "@/utils/i18n"
|
||||
import { logConsole } from "@/utils/console"
|
||||
|
||||
export const name = Events.GuildMemberUpdate
|
||||
@@ -24,10 +24,11 @@ export async function execute(oldMember: GuildMember, newMember: GuildMember) {
|
||||
if (!hadRole && hasRole) {
|
||||
if (!guild.members.me) { logConsole('discordjs', 'boost.not_in_guild'); return }
|
||||
|
||||
const guildLocale = await getGuildLocale(guild.id)
|
||||
const embed = new EmbedBuilder()
|
||||
.setColor(guild.members.me.displayHexColor)
|
||||
.setTitle(t(guild.preferredLocale, "boost.new_boost_title", { username: newMember.user.username }))
|
||||
.setDescription(t(guild.preferredLocale, "boost.new_boost_description", { count: guild.premiumSubscriptionCount?.toString() ?? "0" }))
|
||||
.setTitle(t(guildLocale, "boost.new_boost_title", { username: newMember.user.username }))
|
||||
.setDescription(t(guildLocale, "boost.new_boost_description", { count: guild.premiumSubscriptionCount?.toString() ?? "0" }))
|
||||
.setThumbnail(newMember.user.avatarURL())
|
||||
.setTimestamp(new Date())
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ import { connect } from "mongoose"
|
||||
import type { Document } from "mongoose"
|
||||
import { playerDisco, playerReplay } from "@/utils/player"
|
||||
import { twitchClient, listener, onlineSub, offlineSub, startStreamWatching } from "@/utils/twitch"
|
||||
import { logConsole } from "@/utils/console"
|
||||
import { logConsole, logConsoleError } from "@/utils/console"
|
||||
import type { GuildPlayer, Disco, GuildTwitch, GuildFbx } from "@/types/schemas"
|
||||
import * as Freebox from "@/utils/freebox"
|
||||
import dbGuildInit from "@/utils/dbGuildInit"
|
||||
@@ -19,8 +19,10 @@ export async function execute(client: Client) {
|
||||
logConsole('discordjs', 'ready', { tag: client.user?.tag ?? "unknown" })
|
||||
client.user?.setActivity("some bangers...", { type: ActivityType.Listening })
|
||||
|
||||
await useMainPlayer().extractors.register(SpotifyExtractor, {}).then(() => { logConsole('discord_player', 'extractor_loaded', { extractor: 'Spotify' }) }).catch(console.error)
|
||||
await useMainPlayer().extractors.register(YoutubeiExtractor, {}).then(() => { logConsole('discord_player', 'extractor_loaded', { extractor: 'Youtube' }) }).catch(console.error)
|
||||
const player = useMainPlayer()
|
||||
await player.extractors.register(SpotifyExtractor, {}).then(() => { logConsole('discord_player', 'extractor_loaded', { extractor: 'Spotify' }) }).catch(console.error)
|
||||
await player.extractors.register(YoutubeiExtractor, {}).then(() => { logConsole('discord_player', 'extractor_loaded', { extractor: 'Youtube' }) }).catch(console.error)
|
||||
if (process.env.NODE_ENV === "development") console.log(player.scanDeps())
|
||||
|
||||
const mongo_url = `mongodb://${process.env.MONGOOSE_USER}:${process.env.MONGOOSE_PASSWORD}@${process.env.MONGOOSE_HOST}/${process.env.MONGOOSE_DATABASE}`
|
||||
await connect(mongo_url).catch(console.error)
|
||||
@@ -95,8 +97,7 @@ export async function execute(client: Client) {
|
||||
startStreamWatching(guild.id, streamer.twitchUserId, user.name, streamer.messageId)
|
||||
logConsole('twitch', 'ready.monitoring_restored', { guild: guild.name, userName: user.name })
|
||||
} catch (error) {
|
||||
logConsole('twitch', 'ready.message_not_found', { guild: guild.name, userName: user.name })
|
||||
console.error(error)
|
||||
logConsoleError('twitch', 'ready.message_not_found', { guild: guild.name, userName: user.name }, error as Error)
|
||||
await cleanupMessageId(guildProfile, streamer.twitchUserId)
|
||||
}
|
||||
}
|
||||
@@ -131,9 +132,8 @@ async function cleanupMessageId(guildProfile: Document, twitchUserId: string) {
|
||||
|
||||
guildProfile.set("guildTwitch", dbData)
|
||||
guildProfile.markModified("guildTwitch")
|
||||
await guildProfile.save()
|
||||
await guildProfile.save().catch(console.error)
|
||||
} catch (error) {
|
||||
logConsole('twitch', 'ready.cleanup_error', { userId: twitchUserId })
|
||||
console.error(error)
|
||||
logConsoleError('twitch', 'ready.cleanup_error', { userId: twitchUserId }, error as Error)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
import type { GuildQueue, Track } from "discord-player"
|
||||
import type { PlayerMetadata } from "@/types/player"
|
||||
import { t } from "@/utils/i18n"
|
||||
import { t, getGuildLocale } from "@/utils/i18n"
|
||||
|
||||
export const name = "audioTrackAdd"
|
||||
export async function execute(queue: GuildQueue<PlayerMetadata>, track: Track) {
|
||||
// Emitted when the player adds a single song to its queue
|
||||
if (!queue.metadata.channel) return
|
||||
|
||||
if ("send" in queue.metadata.channel) return queue.metadata.channel.send({ content: t(queue.guild.preferredLocale, "player.track_added", { title: track.title }) })
|
||||
if ("send" in queue.metadata.channel) {
|
||||
const guildLocale = await getGuildLocale(queue.guild.id)
|
||||
return queue.metadata.channel.send({ content: t(guildLocale, "player.track_added", { title: track.title }) })
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,14 @@
|
||||
import type { GuildQueue, Track } from "discord-player"
|
||||
import type { PlayerMetadata } from "@/types/player"
|
||||
import { t } from "@/utils/i18n"
|
||||
import { t, getGuildLocale } from "@/utils/i18n"
|
||||
|
||||
export const name = "audioTracksAdd"
|
||||
export async function execute(queue: GuildQueue<PlayerMetadata>, track: Track[]) {
|
||||
// Emitted when the player adds multiple songs to its queue
|
||||
if (!queue.metadata.channel) return
|
||||
if ("send" in queue.metadata.channel) return queue.metadata.channel.send({ content: t(queue.guild.preferredLocale, "player.track_added_playlist", { count: track.length.toString() }) })
|
||||
|
||||
if ("send" in queue.metadata.channel) {
|
||||
const guildLocale = await getGuildLocale(queue.guild.id)
|
||||
return queue.metadata.channel.send({ content: t(guildLocale, "player.track_added_playlist", { count: track.length.toString() }) })
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import type { GuildQueue } from "discord-player"
|
||||
import type { PlayerMetadata } from "@/types/player"
|
||||
import { stopProgressSaving } from "@/utils/player"
|
||||
import { t } from "@/utils/i18n"
|
||||
import { t, getGuildLocale } from "@/utils/i18n"
|
||||
|
||||
export const name = "disconnect"
|
||||
export async function execute(queue: GuildQueue<PlayerMetadata>) {
|
||||
@@ -9,5 +9,9 @@ export async function execute(queue: GuildQueue<PlayerMetadata>) {
|
||||
await stopProgressSaving(queue.guild.id, queue.player.client.user?.id ?? "")
|
||||
|
||||
if (!queue.metadata.channel) return
|
||||
if ("send" in queue.metadata.channel) return queue.metadata.channel.send({ content: t(queue.guild.preferredLocale, "player.disconnect") })
|
||||
|
||||
if ("send" in queue.metadata.channel) {
|
||||
const guildLocale = await getGuildLocale(queue.guild.id)
|
||||
return queue.metadata.channel.send({ content: t(guildLocale, "player.disconnect") })
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import type { GuildQueue } from "discord-player"
|
||||
import type { PlayerMetadata } from "@/types/player"
|
||||
import { stopProgressSaving } from "@/utils/player"
|
||||
import { t } from "@/utils/i18n"
|
||||
import { t, getGuildLocale } from "@/utils/i18n"
|
||||
|
||||
export const name = "emptyChannel"
|
||||
export async function execute(queue: GuildQueue<PlayerMetadata>) {
|
||||
@@ -10,5 +10,9 @@ export async function execute(queue: GuildQueue<PlayerMetadata>) {
|
||||
await stopProgressSaving(queue.guild.id, queue.player.client.user?.id ?? "")
|
||||
|
||||
if (!queue.metadata.channel) return
|
||||
if ("send" in queue.metadata.channel) return queue.metadata.channel.send({ content: t(queue.guild.preferredLocale, "player.leaving_empty_channel") })
|
||||
|
||||
if ("send" in queue.metadata.channel) {
|
||||
const guildLocale = await getGuildLocale(queue.guild.id)
|
||||
return queue.metadata.channel.send({ content: t(guildLocale, "player.leaving_empty_channel") })
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import type { GuildQueue } from "discord-player"
|
||||
import type { PlayerMetadata } from "@/types/player"
|
||||
import { stopProgressSaving } from "@/utils/player"
|
||||
import { t } from "@/utils/i18n"
|
||||
import { t, getGuildLocale } from "@/utils/i18n"
|
||||
|
||||
export const name = "emptyQueue"
|
||||
export async function execute(queue: GuildQueue<PlayerMetadata>) {
|
||||
@@ -9,5 +9,9 @@ export async function execute(queue: GuildQueue<PlayerMetadata>) {
|
||||
await stopProgressSaving(queue.guild.id, queue.player.client.user?.id ?? "")
|
||||
|
||||
if (!queue.metadata.channel) return
|
||||
if ("send" in queue.metadata.channel) return queue.metadata.channel.send({ content: t(queue.guild.preferredLocale, "player.queue_empty") })
|
||||
|
||||
if ("send" in queue.metadata.channel) {
|
||||
const guildLocale = await getGuildLocale(queue.guild.id)
|
||||
return queue.metadata.channel.send({ content: t(guildLocale, "player.queue_empty") })
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
import type { GuildQueue, Track } from "discord-player"
|
||||
import type { PlayerMetadata } from "@/types/player"
|
||||
import { t } from "@/utils/i18n"
|
||||
import { t, getGuildLocale } from "@/utils/i18n"
|
||||
|
||||
export const name = "playerSkip"
|
||||
export async function execute(queue: GuildQueue<PlayerMetadata>, track: Track) {
|
||||
// Emitted when the audio player fails to load the stream for a song
|
||||
if (!queue.metadata.channel) return
|
||||
if ("send" in queue.metadata.channel) return queue.metadata.channel.send({
|
||||
content: t(queue.guild.preferredLocale, "player.track_skipped", { title: track.title, author: track.author })
|
||||
})
|
||||
|
||||
if ("send" in queue.metadata.channel) {
|
||||
const guildLocale = await getGuildLocale(queue.guild.id)
|
||||
return queue.metadata.channel.send({ content: t(guildLocale, "player.track_skipped", { title: track.title, author: track.author }) })
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,14 @@
|
||||
import type { GuildQueue, Track } from "discord-player"
|
||||
import type { PlayerMetadata } from "@/types/player"
|
||||
import { t } from "@/utils/i18n"
|
||||
import { t, getGuildLocale } from "@/utils/i18n"
|
||||
|
||||
export const name = "playerStart"
|
||||
export async function execute(queue: GuildQueue<PlayerMetadata>, track: Track) {
|
||||
// Emitted when the player starts to play a song
|
||||
if (!queue.metadata.channel) return
|
||||
if ("send" in queue.metadata.channel) await queue.metadata.channel.send({ content: t(queue.guild.preferredLocale, "player.now_playing", { title: track.title, author: track.author }) })
|
||||
|
||||
if ("send" in queue.metadata.channel) {
|
||||
const guildLocale = await getGuildLocale(queue.guild.id)
|
||||
await queue.metadata.channel.send({ content: t(guildLocale, "player.now_playing", { title: track.title, author: track.author }) })
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user