ΠΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΎ Π΅ ΠΏΡΡΠ²ΠΎΡΠΎ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° ΡΡΡΠ²ΡΡΠ½Π°ΡΠ° ΡΠ°ΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Fosscord, ΠΊΠΎΠΉΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° ΠΎΡΠ²ΠΎΡΠ΅Π½Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ Π² ΠΎΠ±ΡΠ½ΠΎΡΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠ°Ρ, Π²ΠΈΠ΄Π΅ΠΎ ΠΈ Π³Π»Π°ΡΠΎΠ²ΠΈ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ. ΠΠ°ΠΆΠ½Π° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ Π΄ΡΡΠ³ΠΈ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½Π° ΡΠ΅Π», ΠΊΠ°ΡΠΎ Revolt ΠΈ Rocket.Chat, Π΅ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡΠ° Π½Π° Π½ΠΈΠ²ΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠΈΠ½Π΄ΠΆΡΡ Π½Π° Discord - ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° Fosscord ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠΈΡΠ°Ρ Ρ Ρ ΠΎΡΠ°, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π°Ρ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΡΠ»ΡΠ³Π°ΡΠ° discord.com. ΠΠΎΠ΄ΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° TypeScript Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Node.js ΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·Π° AGPLv3. ΠΠΎΡΠΎΠ²ΠΈΡΠ΅ ΡΡΡΠ²ΡΡΠ½ΠΈ Π²Π΅ΡΡΠΈΠΈ ΡΠ° ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΈ Π·Π° Linux, Windows ΠΈ macOS.
Π‘ΡΡΠ²ΡΡΡΡ, ΠΊΠΎΠΉΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Π² ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΡΠ΅ ΡΠΈ ΡΡΠΎΡΡΠΆΠ΅Π½ΠΈΡ, Π²ΠΊΠ»ΡΡΠ²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Ρ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° HTTP API, ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ Discord, ΡΠ»ΡΠ·, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ» WebSocket, ΠΌΡΠ΅ΠΆΠ° Π·Π° Π΄ΠΎΡΡΠ°Π²ΠΊΠ° Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅, RTC ΠΈ WebRTC ΡΡΡΠ²ΡΡΠΈ Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π³Π»Π°ΡΠΎΠ²ΠΈ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈ , ΠΏΠΎΠΌΠΎΡΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΠΈ ΡΠ΅Π± ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅. MongoDB ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°ΡΠΎ Π‘Π£ΠΠ. ΠΡΠ΄Π΅Π»Π΅Π½ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈ CSS ΡΠ°ΠΌΠΊΠ° Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ Π² ΡΡΠΈΠ» Discord.
ΠΡΠ°ΠΉΠ½Π°ΡΠ° ΡΠ΅Π» Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅ ΠΊΠ»ΠΎΠ½ΠΈΠ½Π³ Π½Π° Discord, ΠΊΠΎΠΉΡΠΎ Π΅ Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌ, Π½ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ»ΠΈΠ΅Π½ΡΡΡ Fosscord ΡΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈ ΠΎΡΠΈΡΠΈΠ°Π»Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½Ρ Π½Π° Discord, Π° ΡΡΡΠ²ΡΡΡΡ Fosscord ΡΠ΅ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ Discord ΡΡΡΠ²ΡΡ Π½Π° Π²Π°ΡΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½ Ρ Π°ΡΠ΄ΡΠ΅Ρ. ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π·Π° Discord ΡΠ΅ ΡΠ»Π΅ΡΠ½ΠΈ ΠΏΡΠ΅Ρ ΠΎΠ΄Π° Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΠΊΡΠΌ ΠΎΡΠ²ΠΎΡΠ΅Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°, ΡΠ΅ ΠΎΠΏΡΠΎΡΡΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΡΠ° Π½Π° Π±ΠΎΡΠΎΠ²Π΅ ΠΈ ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° ΡΡΡΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΈ ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½Π° ΡΡΠ΅Π΄Π° - ΡΠ»Π΅Π΄ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΡΠ° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π²ΡΠ΅ ΠΎΡΠ΅ ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠΈΡΠ°Ρ Ρ ΠΊΠΎΠ»Π΅Π³ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π°Ρ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π Π°Π·Π΄ΠΎΡ.
ΠΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π°ΡΠ° Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Fosscord Π²ΠΊΠ»ΡΡΠ²Π°Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΡΠΈΠ½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° Π²ΡΠΈΡΠΊΠΈ Π°ΡΠΏΠ΅ΠΊΡΠΈ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, Π΄Π΅ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π±Π΅Π· Π½ΠΈΡΠΎ Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° ΠΏΠΎΠ²ΡΠ΅Π΄Π° (ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅, ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠΆΠ΅ ΠΊΡΠΌ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΡΡΠ²ΡΡΠ° Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ), Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠ°Π·ΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° ΡΡΠ΅Π· ΠΏΠ»ΡΠ³ΠΈΠ½ΠΈ, ΠΏΡΠΎΠΌΠ΅Π½Π΅ΡΠ΅ Π²ΡΠ½ΡΠ½ΠΈΡ Π²ΠΈΠ΄ ΡΡΠ΅Π· ΡΠ΅ΠΌΠΈ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ ΠΎΡ ΠΊΡΠ°ΠΉ Π΄ΠΎ ΠΊΡΠ°ΠΉ Π·Π° ΠΏΠΎΠ²Π΅ΡΠΈΡΠ΅Π»Π½ΠΈ ΠΏΡΠ΅Π³ΠΎΠ²ΠΎΡΠΈ. ΠΠ° ΡΠ°Π·ΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΡΡΡΠ²ΡΡΠ° Π΅ ΠΎΡΠΈΠ³ΡΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π±ΠΎΡΠΎΠ²Π΅.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru