Compare commits
5 Commits
c1505d52cd
...
RC-1.0.Ori
Author | SHA1 | Date | |
---|---|---|---|
d944d19193 | |||
e6fbaa1e49 | |||
334ef6726c | |||
ed5e279a16 | |||
e3bf24c66e |
@@ -15,10 +15,10 @@ FROM alpine:3.22
|
|||||||
RUN apk add --no-cache ca-certificates
|
RUN apk add --no-cache ca-certificates
|
||||||
#RUN mkdir /data
|
#RUN mkdir /data
|
||||||
#RUN mkdir /dynamicsrc
|
#RUN mkdir /dynamicsrc
|
||||||
#RUN mkdir /tempsrc
|
RUN mkdir /tempsrc
|
||||||
COPY --from=builder /bin/autovoice /bin/autovoice
|
COPY --from=builder /bin/autovoice /bin/autovoice
|
||||||
#COPY ./static /data/static
|
#COPY ./static /data/static
|
||||||
# COPY ./static /tempsrc/static
|
COPY ./language.json /tempsrc/language.json
|
||||||
#COPY ./dynamicsrc /dynamicsrc
|
#COPY ./dynamicsrc /dynamicsrc
|
||||||
|
|
||||||
# Default listens on :8080 – siehe main.go
|
# Default listens on :8080 – siehe main.go
|
||||||
@@ -29,7 +29,8 @@ ENV LOBBY_CHANNEL_ID=0 \
|
|||||||
DISCORD_TOKEN=0 \
|
DISCORD_TOKEN=0 \
|
||||||
GUILD_ID=0 \
|
GUILD_ID=0 \
|
||||||
CATEGORY_ID=0 \
|
CATEGORY_ID=0 \
|
||||||
TIMEOUT_MIN=1
|
TIMEOUT_MIN=1 \
|
||||||
|
CONFIG_PATH=/data/guild_config.json
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
15
go.mod
15
go.mod
@@ -4,8 +4,21 @@ go 1.24.4
|
|||||||
|
|
||||||
require github.com/bwmarrin/discordgo v0.29.0
|
require github.com/bwmarrin/discordgo v0.29.0
|
||||||
|
|
||||||
|
require (
|
||||||
|
github.com/dustin/go-humanize v1.0.1 // indirect
|
||||||
|
github.com/google/uuid v1.6.0 // indirect
|
||||||
|
github.com/mattn/go-isatty v0.0.20 // indirect
|
||||||
|
github.com/ncruces/go-strftime v0.1.9 // indirect
|
||||||
|
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
|
||||||
|
golang.org/x/exp v0.0.0-20250620022241-b7579e27df2b // indirect
|
||||||
|
modernc.org/libc v1.66.3 // indirect
|
||||||
|
modernc.org/mathutil v1.7.1 // indirect
|
||||||
|
modernc.org/memory v1.11.0 // indirect
|
||||||
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/gorilla/websocket v1.4.2 // indirect
|
github.com/gorilla/websocket v1.4.2 // indirect
|
||||||
golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b // indirect
|
golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b // indirect
|
||||||
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68 // indirect
|
golang.org/x/sys v0.34.0 // indirect
|
||||||
|
modernc.org/sqlite v1.38.2
|
||||||
)
|
)
|
||||||
|
50
go.sum
50
go.sum
@@ -1,12 +1,60 @@
|
|||||||
github.com/bwmarrin/discordgo v0.29.0 h1:FmWeXFaKUwrcL3Cx65c20bTRW+vOb6k8AnaP+EgjDno=
|
github.com/bwmarrin/discordgo v0.29.0 h1:FmWeXFaKUwrcL3Cx65c20bTRW+vOb6k8AnaP+EgjDno=
|
||||||
github.com/bwmarrin/discordgo v0.29.0/go.mod h1:NJZpH+1AfhIcyQsPeuBKsUtYrRnjkyu0kIVMCHkZtRY=
|
github.com/bwmarrin/discordgo v0.29.0/go.mod h1:NJZpH+1AfhIcyQsPeuBKsUtYrRnjkyu0kIVMCHkZtRY=
|
||||||
|
github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY=
|
||||||
|
github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
|
||||||
|
github.com/google/pprof v0.0.0-20250317173921-a4b03ec1a45e h1:ijClszYn+mADRFY17kjQEVQ1XRhq2/JR1M3sGqeJoxs=
|
||||||
|
github.com/google/pprof v0.0.0-20250317173921-a4b03ec1a45e/go.mod h1:boTsfXsheKC2y+lKOCMpSfarhxDeIzfZG1jqGcPl3cA=
|
||||||
|
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
|
||||||
|
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||||
github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc=
|
github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc=
|
||||||
github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
|
github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
|
||||||
|
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
|
||||||
|
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
|
||||||
|
github.com/ncruces/go-strftime v0.1.9 h1:bY0MQC28UADQmHmaF5dgpLmImcShSi2kHU9XLdhx/f4=
|
||||||
|
github.com/ncruces/go-strftime v0.1.9/go.mod h1:Fwc5htZGVVkseilnfgOVb9mKy6w1naJmn9CehxcKcls=
|
||||||
|
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE=
|
||||||
|
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
|
||||||
golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b h1:7mWr3k41Qtv8XlltBkDkl8LoP3mpSgBW8BUoxtEdbXg=
|
golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b h1:7mWr3k41Qtv8XlltBkDkl8LoP3mpSgBW8BUoxtEdbXg=
|
||||||
golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
|
golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
|
||||||
|
golang.org/x/exp v0.0.0-20250620022241-b7579e27df2b h1:M2rDM6z3Fhozi9O7NWsxAkg/yqS/lQJ6PmkyIV3YP+o=
|
||||||
|
golang.org/x/exp v0.0.0-20250620022241-b7579e27df2b/go.mod h1:3//PLf8L/X+8b4vuAfHzxeRUl04Adcb341+IGKfnqS8=
|
||||||
|
golang.org/x/mod v0.25.0 h1:n7a+ZbQKQA/Ysbyb0/6IbB1H/X41mKgbhfv7AfG/44w=
|
||||||
|
golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
|
||||||
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
||||||
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68 h1:nxC68pudNYkKU6jWhgrqdreuFiOQWj1Fs7T3VrH4Pjw=
|
golang.org/x/sync v0.15.0 h1:KWH3jNZsfyT6xfAfKiz6MRNmd46ByHDYaZ7KSkCtdW8=
|
||||||
|
golang.org/x/sync v0.15.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
|
||||||
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
|
golang.org/x/sys v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA=
|
||||||
|
golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
|
||||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
|
golang.org/x/tools v0.34.0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo=
|
||||||
|
golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg=
|
||||||
|
modernc.org/cc/v4 v4.26.2 h1:991HMkLjJzYBIfha6ECZdjrIYz2/1ayr+FL8GN+CNzM=
|
||||||
|
modernc.org/cc/v4 v4.26.2/go.mod h1:uVtb5OGqUKpoLWhqwNQo/8LwvoiEBLvZXIQ/SmO6mL0=
|
||||||
|
modernc.org/ccgo/v4 v4.28.0 h1:rjznn6WWehKq7dG4JtLRKxb52Ecv8OUGah8+Z/SfpNU=
|
||||||
|
modernc.org/ccgo/v4 v4.28.0/go.mod h1:JygV3+9AV6SmPhDasu4JgquwU81XAKLd3OKTUDNOiKE=
|
||||||
|
modernc.org/fileutil v1.3.8 h1:qtzNm7ED75pd1C7WgAGcK4edm4fvhtBsEiI/0NQ54YM=
|
||||||
|
modernc.org/fileutil v1.3.8/go.mod h1:HxmghZSZVAz/LXcMNwZPA/DRrQZEVP9VX0V4LQGQFOc=
|
||||||
|
modernc.org/gc/v2 v2.6.5 h1:nyqdV8q46KvTpZlsw66kWqwXRHdjIlJOhG6kxiV/9xI=
|
||||||
|
modernc.org/gc/v2 v2.6.5/go.mod h1:YgIahr1ypgfe7chRuJi2gD7DBQiKSLMPgBQe9oIiito=
|
||||||
|
modernc.org/goabi0 v0.2.0 h1:HvEowk7LxcPd0eq6mVOAEMai46V+i7Jrj13t4AzuNks=
|
||||||
|
modernc.org/goabi0 v0.2.0/go.mod h1:CEFRnnJhKvWT1c1JTI3Avm+tgOWbkOu5oPA8eH8LnMI=
|
||||||
|
modernc.org/libc v1.66.3 h1:cfCbjTUcdsKyyZZfEUKfoHcP3S0Wkvz3jgSzByEWVCQ=
|
||||||
|
modernc.org/libc v1.66.3/go.mod h1:XD9zO8kt59cANKvHPXpx7yS2ELPheAey0vjIuZOhOU8=
|
||||||
|
modernc.org/mathutil v1.7.1 h1:GCZVGXdaN8gTqB1Mf/usp1Y/hSqgI2vAGGP4jZMCxOU=
|
||||||
|
modernc.org/mathutil v1.7.1/go.mod h1:4p5IwJITfppl0G4sUEDtCr4DthTaT47/N3aT6MhfgJg=
|
||||||
|
modernc.org/memory v1.11.0 h1:o4QC8aMQzmcwCK3t3Ux/ZHmwFPzE6hf2Y5LbkRs+hbI=
|
||||||
|
modernc.org/memory v1.11.0/go.mod h1:/JP4VbVC+K5sU2wZi9bHoq2MAkCnrt2r98UGeSK7Mjw=
|
||||||
|
modernc.org/opt v0.1.4 h1:2kNGMRiUjrp4LcaPuLY2PzUfqM/w9N23quVwhKt5Qm8=
|
||||||
|
modernc.org/opt v0.1.4/go.mod h1:03fq9lsNfvkYSfxrfUhZCWPk1lm4cq4N+Bh//bEtgns=
|
||||||
|
modernc.org/sortutil v1.2.1 h1:+xyoGf15mM3NMlPDnFqrteY07klSFxLElE2PVuWIJ7w=
|
||||||
|
modernc.org/sortutil v1.2.1/go.mod h1:7ZI3a3REbai7gzCLcotuw9AC4VZVpYMjDzETGsSMqJE=
|
||||||
|
modernc.org/sqlite v1.38.2 h1:Aclu7+tgjgcQVShZqim41Bbw9Cho0y/7WzYptXqkEek=
|
||||||
|
modernc.org/sqlite v1.38.2/go.mod h1:cPTJYSlgg3Sfg046yBShXENNtPrWrDX8bsbAQBzgQ5E=
|
||||||
|
modernc.org/strutil v1.2.1 h1:UneZBkQA+DX2Rp35KcM69cSsNES9ly8mQWD71HKlOA0=
|
||||||
|
modernc.org/strutil v1.2.1/go.mod h1:EHkiggD70koQxjVdSBM3JKM7k6L0FbGE5eymy9i3B9A=
|
||||||
|
modernc.org/token v1.1.0 h1:Xl7Ap9dKaEs5kLoOQeQmPWevfnk/DM5qcLcYlA8ys6Y=
|
||||||
|
modernc.org/token v1.1.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM=
|
||||||
|
BIN
guild_config.db
Normal file
BIN
guild_config.db
Normal file
Binary file not shown.
1
guild_config.json
Normal file
1
guild_config.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{}
|
116
language.json
Normal file
116
language.json
Normal file
@@ -0,0 +1,116 @@
|
|||||||
|
{
|
||||||
|
"translations": [
|
||||||
|
{
|
||||||
|
"language": "de",
|
||||||
|
"messages": {
|
||||||
|
"system.default.lobbyname": "➕ Erstelle privaten Raum",
|
||||||
|
"system.default.category": "Private Räume",
|
||||||
|
"system.log.initdb.01": "Datenbank-Fehler: %v",
|
||||||
|
"system.log.initdb.02": "Fehler beim Erstellen der Tabelle: %v",
|
||||||
|
"response.voicechannel.created": "✅ Voice-Channel **%s** erstellt.",
|
||||||
|
"response.voicechannel.created.notinvoice": " Du bist aktuell in keinem Voice-Channel; join bitte manuell in deinen neuen Raum.",
|
||||||
|
"response.voicechannel.created.move": " Ich verschiebe dich jetzt dort hinein.",
|
||||||
|
"response.setlobby.onlyadmins": "❌ Nur Administratoren dürfen das.",
|
||||||
|
"response.setlobby.pleaseentername": "Bitte gib einen Namen an.",
|
||||||
|
"response.setlobby.error.saving": "⚠️ Lobby-Name gesetzt, aber Speichern fehlgeschlagen. Schau die Logs.",
|
||||||
|
"response.setlobby.success": "✅ Lobby-Name aktualisiert auf: %s",
|
||||||
|
"response.setcategory.onlyadmins": "❌ Nur Administratoren dürfen das.",
|
||||||
|
"response.setcategory.error.name":"Bitte gib einen Namen an.",
|
||||||
|
"response.setcategory.error.saving": "⚠️ Kategorie-Name gesetzt, aber Speichern fehlgeschlagen. Schau die Logs.",
|
||||||
|
"response.setcategory.success": "✅ Kategorie-Name aktualisiert auf: %s",
|
||||||
|
"response.settimeout.onlyadmins": "❌ Nur Administratoren dürfen das.",
|
||||||
|
"response.settimeout.error.saving": "⚠️ Timeout gesetzt, aber Speichern fehlgeschlagen. Schau die Logs.",
|
||||||
|
"response.settimeout.success": "✅ Timeout auf %d Minuten gesetzt.",
|
||||||
|
"response.adduser.error.user": "Bitte gib ein gültiges Mitglied an.",
|
||||||
|
"response.adduser.error.notinvoice": "Du bist aktuell in keinem Voice-Channel. Betritt zuerst deinen privaten Channel.",
|
||||||
|
"response.adduser.error.notowner": "❌ Du bist nicht der Besitzer dieses Channels oder dir fehlen Rechte (Manage Channel).",
|
||||||
|
"response.adduser.error.setpermissions": "Konnte Berechtigung nicht setzen: %v",
|
||||||
|
"response.adduser.success": "✅ %s hat jetzt Zugriff auf deinen Voice-Channel."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"language": "en",
|
||||||
|
"messages": {
|
||||||
|
"system.default.lobbyname": "➕ Create private room",
|
||||||
|
"system.default.category": "Private Rooms",
|
||||||
|
"system.log.initdb.01": "Database error: %v",
|
||||||
|
"system.log.initdb.02": "Error creating table: %v",
|
||||||
|
"response.voicechannel.created": "✅ Voice channel **%s** created.",
|
||||||
|
"response.voicechannel.created.notinvoice": " You are currently not in a voice channel; please manually join your new room.",
|
||||||
|
"response.voicechannel.created.move": " I will now move you there.",
|
||||||
|
"response.setlobby.onlyadmins": "❌ Only administrators are allowed to do this.",
|
||||||
|
"response.setlobby.pleaseentername": "Please enter a name.",
|
||||||
|
"response.setlobby.error.saving": "⚠️ Lobby name set, but saving failed. Check the logs.",
|
||||||
|
"response.setlobby.success": "✅ Lobby name updated to: %s",
|
||||||
|
"response.setcategory.onlyadmins": "❌ Only administrators are allowed to do this.",
|
||||||
|
"response.setcategory.error.name":"Please enter a name.",
|
||||||
|
"response.setcategory.error.saving": "⚠️ Category name set, but saving failed. Check the logs.",
|
||||||
|
"response.setcategory.success": "✅ Category name updated to: %s",
|
||||||
|
"response.settimeout.onlyadmins": "❌ Only administrators are allowed to do this.",
|
||||||
|
"response.settimeout.error.saving": "⚠️ Timeout set, but saving failed. Check the logs.",
|
||||||
|
"response.settimeout.success": "✅ Timeout set to %d minutes.",
|
||||||
|
"response.adduser.error.user": "Please enter a valid member.",
|
||||||
|
"response.adduser.error.notinvoice": "You are currently not in a voice channel. Please join your private channel first.",
|
||||||
|
"response.adduser.error.notowner": "❌ You are not the owner of this channel or you lack permissions (Manage Channel).",
|
||||||
|
"response.adduser.error.setpermissions": "Could not set permissions: %v",
|
||||||
|
"response.adduser.success": "✅ %s now has access to your voice channel."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"language": "fr",
|
||||||
|
"messages": {
|
||||||
|
"system.default.lobbyname": "➕ Créer une salle privée",
|
||||||
|
"system.default.category": "Salles privées",
|
||||||
|
"system.log.initdb.01": "Erreur de base de données: %v",
|
||||||
|
"system.log.initdb.02": "Erreur lors de la création de la table: %v",
|
||||||
|
"response.voicechannel.created": "✅ Canal vocal **%s** créé.",
|
||||||
|
"response.voicechannel.created.notinvoice": " Vous n'êtes actuellement dans aucun canal vocal; veuillez rejoindre manuellement votre nouvelle salle.",
|
||||||
|
"response.voicechannel.created.move": " Je vais maintenant vous déplacer dans ce canal.",
|
||||||
|
"response.setlobby.onlyadmins": "❌ Seuls les administrateurs sont autorisés à faire cela.",
|
||||||
|
"response.setlobby.pleaseentername": "Veuillez entrer un nom.",
|
||||||
|
"response.setlobby.error.saving": "⚠️ Nom du salon défini, mais échec de l'enregistrement. Vérifiez les journaux.",
|
||||||
|
"response.setlobby.success": "✅ Nom du salon mis à jour en: %s",
|
||||||
|
"response.setcategory.onlyadmins": "❌ Seuls les administrateurs sont autorisés à faire cela.",
|
||||||
|
"response.setcategory.error.name":"Veuillez entrer un nom.",
|
||||||
|
"response.setcategory.error.saving": "⚠️ Nom de la catégorie défini, mais échec de l'enregistrement. Vérifiez les journaux.",
|
||||||
|
"response.setcategory.success": "✅ Nom de la catégorie mis à jour en: %s",
|
||||||
|
"response.settimeout.onlyadmins": "❌ Seuls les administrateurs sont autorisés à faire cela.",
|
||||||
|
"response.settimeout.error.saving": "⚠️ Délai d'attente défini, mais échec de l'enregistrement. Vérifiez les journaux.",
|
||||||
|
"response.settimeout.success": "✅ Délai d'attente défini sur %d minutes.",
|
||||||
|
"response.adduser.error.user": "Veuillez entrer un membre valide.",
|
||||||
|
"response.adduser.error.notinvoice": "Vous n'êtes actuellement dans aucun canal vocal. Veuillez rejoindre votre canal privé d'abord.",
|
||||||
|
"response.adduser.error.notowner": "❌ Vous n'êtes pas le propriétaire de ce canal ou vous n'avez pas les droits nécessaires (Gérer le canal).",
|
||||||
|
"response.adduser.error.setpermissions": "Impossible de définir les permissions: %v",
|
||||||
|
"response.adduser.success": "✅ %s a maintenant accès à votre canal vocal."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"language": "es",
|
||||||
|
"messages": {
|
||||||
|
"system.default.lobbyname": "➕ Crear sala privada",
|
||||||
|
"system.default.category": "Salas privadas",
|
||||||
|
"system.log.initdb.01": "Error en la base de datos: %v",
|
||||||
|
"system.log.initdb.02": "Error al crear la tabla: %v",
|
||||||
|
"response.voicechannel.created": "✅ Canal de voz **%s** creado.",
|
||||||
|
"response.voicechannel.created.notinvoice": " Actualmente no estás en un canal de voz; por favor, únete manualmente a tu nueva sala.",
|
||||||
|
"response.voicechannel.created.move": " Ahora te moveré allí.",
|
||||||
|
"response.setlobby.onlyadmins": "❌ Solo los administradores pueden hacer esto.",
|
||||||
|
"response.setlobby.pleaseentername": "Por favor, ingresa un nombre.",
|
||||||
|
"response.setlobby.error.saving": "⚠️ Nombre de sala configurado, pero falló el guardado. Revisa los registros.",
|
||||||
|
"response.setlobby.success": "✅ Nombre de sala actualizado a: %s",
|
||||||
|
"response.setcategory.onlyadmins": "❌ Solo los administradores pueden hacer esto.",
|
||||||
|
"response.setcategory.error.name":"Por favor, ingresa un nombre.",
|
||||||
|
"response.setcategory.error.saving": "⚠️ Nombre de la categoría configurado, pero falló el guardado. Revisa los registros.",
|
||||||
|
"response.setcategory.success": "✅ Nombre de la categoría actualizado a: %s",
|
||||||
|
"response.settimeout.onlyadmins": "❌ Solo los administradores pueden hacer esto.",
|
||||||
|
"response.settimeout.error.saving": "⚠️ Tiempo de espera configurado, pero falló el guardado. Revisa los registros.",
|
||||||
|
"response.settimeout.success": "✅ Tiempo de espera configurado a %d minutos.",
|
||||||
|
"response.adduser.error.user": "Por favor, ingresa un miembro válido.",
|
||||||
|
"response.adduser.error.notinvoice": "Actualmente no estás en ningún canal de voz. Únete primero a tu canal privado.",
|
||||||
|
"response.adduser.error.notowner": "❌ No eres el propietario de este canal o te faltan permisos (Gestionar Canal).",
|
||||||
|
"response.adduser.error.setpermissions": "No se pudieron configurar los permisos: %v",
|
||||||
|
"response.adduser.success": "✅ %s ahora tiene acceso a tu canal de voz."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
Reference in New Issue
Block a user