Skip to content

MegaXa/MiniChatAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

18 Commits
Β 
Β 

Repository files navigation

MiniChat API

ВСкущая вСрсия: 0.12.X ПослСднСС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅: 26.08.24

Для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ сСрвСру Ρ‡Π°Ρ‚Π° слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ websocket соСдинСниС ΠΏΠΎ адрСсу: ws://localhost:4848/Chat

ΠŸΠΎΡ€Ρ‚ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: 4848, Π½ΠΎ зависит ΠΎΡ‚ настройки Π² MiniChat.

ΠžΠ±Ρ‰ΠΈΠΉ Ρ‚ΠΈΠΏ JSON сообщСния:

{
  "Type": "EventType", // Π’ΠΈΠΏ события.
  "Data": {Object} // ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.
}

Π’ΠΈΠΏΡ‹ событий (EventType):

  • Unknown - По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ.
  • Message - ΠžΠ±Ρ‹Ρ‡Π½ΠΎΠ΅ сообщСниС.
  • Live - Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ Π½Π° сСрвисС (ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅, подписка, ΠΏΠΎΠ΄Π°Ρ€ΠΎΠΊ, Ρ€Π΅ΠΉΠ΄, хотс ΠΈ Ρ‚.Π΄.).
  • DeleteMessage - Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ сообщСния.
  • UserBan - ΠŸΠΎΡΡ‚ΠΎΡΠ½Π½Π°Ρ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
  • UserMute - ВрСмСнная Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
  • SettingsTheme - Настройки Ρ‚Π΅ΠΌΡ‹.
  • Await - ОТиданиС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ Ρ‡Π°Ρ‚Ρƒ, Ссли Ρ‡Π°Ρ‚ Π½Π΅ ΠΏΠ΅Ρ€ΠΌΠ°Π½Π΅Π½Ρ‚Π½Ρ‹ΠΉ.
  • Connect - ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ сСрвису ΠΈ информация ΠΎ ΠΊΠ°Π½Π°Π»Π΅.
  • State - Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ Ρ‡Π°Ρ‚Π΅ сСрвиса. (Π ΠΎΠ»ΠΈ Π² Ρ‡Π°Ρ‚Π΅, доступныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для Π²Ρ‹Π·ΠΎΠ²Π°).
  • Reconnect - ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ Ρ‡Π°Ρ‚Ρƒ сСрвиса.
  • Disconnect - ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ сСрвиса.
  • NotFound - НС Π½Π°ΠΉΠ΄Π΅Π½ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.
  • UnknownError - НСизвСстная ошибка.
  • Speak - Π‘ΠΈΠ½Ρ‚Π΅Π· Ρ€Π΅Ρ‡ΠΈ.
  • Avatar - Аватар.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎΠ΅ сообщСниС (Message):

{
  "Service": "Service", // БСрвис.
  "GUID": "4da6dd37-158c-4c17-bf8c-2277d568417d", // Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ сообщСния.
  "Date": "1973-01-01T00:00:00.000+00:00", // ВрСмя получСния сообщСния. ВрСмя Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ISO 8601 Extended.
  "UserName": "MegaXa", // Имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
  "UserID": "0", // Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
  "Color": "#323232", // Π¦Π²Π΅Ρ‚ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
  "Badges": [
    {
      "Text": "Новый спонсор",
      "Image": {
        "Default": "https://megaxa.ru/badge.png", // Бсылка Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π±Π΅ΠΉΠ΄ΠΆΠΈΠΊΠ°.
        "Large": "https://megaxa.ru/badge2X.png" // Бсылка Π½Π° ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π±Π΅ΠΉΠ΄ΠΆΠΈΠΊΠ°.
      }
    }
  ],
  "MessageKit": [ // ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ сообщСния.
    {
      "Type": "MessageKitType", // Π’ΠΈΠΏ части сообщСния (Text, Emoticon, URL, Image, Sticker).
      "Data": {
        "Text": ":200IQ:", // ВСкст.
        "URL": "https://megaxa.ru/", // Бсылка (Image, URL, Sticker).
        "Image": {
          "Default": "https://megaxa.ru/emoticon.png",
          "Large": "https://megaxa.ru/emoticon2X.png"
        }
      }
    }
  ],
  "Avatar": {
    "Default": "https://megaxa.ru/avatar.png",
    "Large": "https://megaxa.ru/avatar2X.png"
  },
  "Roles": [ // Бписок Ρ€ΠΎΠ»Π΅ΠΉ отправитСля сообщСния.
    "Owner",
    "Subscriber"
  ],
  "Reply": false, // Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ Π»ΠΈ сообщСниС ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Ρƒ ΠΊΠ°Π½Π°Π»Π°.
  "Meta": { // ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ для сообщСния.
    "Me": false, // Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ с Ρ‚Π΅Π³ΠΎΠΌ "/me" (Twitch).
    "Login": "megaxa", // Π›ΠΎΠ³ΠΈΠ½ Π°Π²Ρ‚ΠΎΡ€Π°, Ссли доступСн.
    "Highlighted": false, // Π’Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ сообщСниС.
    "Announcement": false, // Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅-анонс (Twitch).
    "FirstMessage": false // ΠŸΠ΅Ρ€Π²ΠΎΠ΅ сообщСниС ΠΎΡ‚ Π°Π²Ρ‚ΠΎΡ€Π° (Twitch. VKPlay).
  }
}

Бписок сСрвисов (Service):

  • Unknown - По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.
  • MiniChat
  • Twitch
  • YouTube
  • GoodGame
  • DonationAlerts
  • VK
  • DonatePay
  • Nuum
  • Steam
  • Facebook
  • OK
  • Trovo
  • Peka2
  • DLive
  • YouNow
  • Tango
  • Rutube
  • Telegram
  • Discord
  • VKPlay
  • Boosty
  • QIWIDonate
  • Donatty
  • DonateStream
  • Bigo
  • Kick
  • StreamEngine

Бписок Ρ‚ΠΈΠΏΠΎΠ² для конструктора сообщСния (MessageKitType):

  • Unknown - По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.
  • Text - ВСкст.
  • Emoticon - Π‘ΠΌΠ°ΠΉΠ»ΠΈΠΊ.
  • URL - Бсылка.
  • Image - Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.
  • Sticker - Π‘Ρ‚ΠΈΠΊΠ΅Ρ€.

Π’ΠΈΠΏΡ‹ "Live"событий (LiveType):

  • Follow
  • UnFollow
  • Subscription
  • GiftSubscription
  • Donation
  • Reward
  • Support
  • Host
  • Raid
  • Winner
  • Custom

Π’ΠΈΠΏΡ‹ Π²Π°Π»ΡŽΡ‚ для "Live"событий Ρ‚ΠΈΠΏΠ° "Reward" ΠΈΠ»ΠΈ "Support" (CurrencyType):

  • ChannelPoints - "Π‘Π°Π»Π»Ρ‹ ΠΊΠ°Π½Π°Π»Π° (Twitch)".
  • Mana - "Мана (Trovo)".
  • Lemon - "Π›ΠΈΠΌΠΎΠ½Ρ‹ (DLive)".
  • Bits - "Bits (Twitch)".
  • Elixir - "Эликсир (Trovo)".
  • Diamond - "Алмазы (Bigo)".
  • OK - "OK (Одноклассники)".

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ сообщСния (DeleteMessage):

{
  "Type": "DeleteMessage",
  "Data": {
    "GUID": "00000000-0000-0000-0000-000000000000"
  }
}

Запрос Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ настроСк Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° (WidgetProperties):

{
  "Type": "WidgetProperties", // Π’ΠΈΠΏ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° (Chat, Widget, Plugin).
  "Data": {
    "Type": "Chat",
    "FolderName": "Dev", // Имя ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° с Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠΌ.
    "ID": 0 // НомСр профиля Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°.
  }
}

Запрос Π½Π° ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ сообщСния (Message):

{
  "Type": "Message",
  "Data": {
    "Service": "Service",
    "Message": "Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ.",
    "Hide": false  // НС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΠ΅ сообщСниС Π² MiniChat.
  }
}

Запрос Π½Π° ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ сообщСния Π² MiniChat (Message):

{
  "Type": "Message",
  "Data": {
    "Service": "MiniChat",
    "UserName": "MegaXa",
    "Message": "ВСст."
  }
}

Запрос Π½Π° ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ сообщСния (DeleteMessage):

{
  "Type": "DeleteMessage",
  "Data": {
    "Service": "Service",
    "GUID": "00000000-0000-0000-0000-000000000000"
  }
}

Запрос Π½Π° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (UserBan):

{
  "Type": "UserBan",
  "Data": {
    "Service": "Service",
    "UserID": "00000000"
  }
}

Запрос Π½Π° Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (UserMute):

{
  "Type": "UserMute",
  "Data": {
    "Service": "Service",
    "UserID": "00000000",
    "Duration": 10 // На сколько ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² Ρ‚Π°ΠΉΠΌ-Π°ΡƒΡ‚. Если врСмСнная Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° Π½Π΅ поддСрТиваСтся сСрвисом, Ρ‚ΠΎ запрос игнорируСтся.
  }
}

Запрос Π½Π° снаятиС Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (UserUnban):

{
  "Type": "UserUnban",
  "Data": {
    "Service": "Service",
    "UserID": "00000000"
  }
}

Запрос Π½Π° созданиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ события (Live):

{
  "Type": "Live",
  "Data": {
    "Type": "Custom",
    "Service": "MiniChat",
    "Title": "MegaXa", // Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ события.
    "Message": "Π§Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ».", // Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ события.
    "Data": { "Item": "" } // JSON ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ c ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.
  }
}

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ стандартныС поля (UserName, Avatar, UserID, Login ΠΈ Ρ‚.ΠΏ.).

Запрос Π½Π° синтСз Ρ€Π΅Ρ‡ΠΈ (Speak):

ΠΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ список голосов ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ· ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°.

VoiceArray = [ 'Maxim', 'Tatyana', 'Alice', 'Marusia', 'Svetlana', 'Dmitry', 'Ermilov', 'Zahar', 'Jane', 'Alyss', 'Omazh', 'Oksana' ]

{
  "Type": "Speak",
  "Data": {
    "GUID": "00000000-0000-0000-0000-000000000000", // Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ сообщСния. Для ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΎΡ‚Π²Π΅Ρ‚Π° (НС ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ).
    "Message": "ВСст ΠΎΠ·Π²ΡƒΡ‡ΠΊΠΈ", // ВСкст сообщСния.
    "Voice": "Голос", // Голос.
    "Pitch": "0" // Π’ΠΎΠ½ голоса (Если поддСрТиваСтся, Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ).
  }
}

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

{"Type":"Speak","Data":{"Voice":"Alice","Message":"1% 2% 3% 4% 5% 6% 7% 8% 9% 10%"}}

Запрос Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ истории (History):

{
  "Type": "History",
  "Data": {
    "Type": "Live", // Π’ΠΈΠΏ истории (Live).
    "Limit": 100, // МаксимальноС количСство элСмСнтов.
    "Filter": {
      "Follow": false // Π’ΠΈΠΏΡ‹ событий (Π§Ρ‚ΠΎ Π½Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ) (По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ всСх Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ²).
    }
  }
}

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

{"Type":"History","Data":{"Type":"Live","Limit":10,"Filter": {"Follow": false,"UnFollow": false}}}

Запрос Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ статистики (Statistics):

{
  "Type": "Statistics",
  "Data": {
    "Type": "Live", // Π’ΠΈΠΏ статистики (Live).
    "LiveType": "Unknown", // Если Ρ‚ΠΈΠΏ статистики "Live", Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ, Ссли происходит Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ ΠΏΠΎ спСцифичным свойствам события (НапримСр ΠΏΠΎ суммС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ).
    "Query": [
      {
        "Operator": "Count",
        "Expression": "UserName == @0",
        "Variables": ["MegaXa"]
      }
    ]
  }
}

ДоступныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚: Where, Cast, GroupBy, Select, OrderBy, Reverse, Skip, Take, Count. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΏΡ€ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρƒ Dynamic Linq ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ‚ΡƒΡ‚: Dynamic Linq

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ количСство Π΄ΠΎΠ½Π°Ρ‚ΠΎΠ² с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ сСрвиса.
{"Type":"Statistics","Data":{"Type":"Live","Query":[{"Operator":"Count","Expression":"x => x.Service == @0","Variables":["DonationAlerts"]}]}}

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΠΏ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°ΡˆΠΈΡ… Π·Π° всС врСмя.
{"Type":"Statistics","Data":{"Type":"Live","LiveType":"Donation","Query":[{"Operator":"GroupBy","Expression":"UserName"},{"Operator":"Select","Expression":"new(Key as Name, Sum(Amount) as Amount)"},{"Operator":"OrderBy","Expression":"Amount"}]}}

ВоспроизвСдСниС Π°ΡƒΠ΄ΠΈΠΎ (Playback):

ΠŸΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚, ΠΊΠΎΠ³Π΄Π° начинаСтся ΠΈ заканчиваСтся воиспроизвСдСниС Π°ΡƒΠ΄ΠΈΠΎ, Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· MiniChat. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ состояния: None, Paused, Playing. Π’Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ запрос, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

{"Type":"Playback","Data":{"Service":"MiniChat"}}

ΠžΡ‚Π²Π΅Ρ‚:

{
  "Type": "Playback",
  "Data": {
    "Service": "MiniChat",
    "State":"None"
  }
}

REST API:

ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ POST запросы Π½Π° адрСс http://localhost:4848/api

Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠΊΠ°ΠΊ Π² случаС с WebSockets. Π’ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ: Message, DeleteMessage, UserBan, UserUnban, Speak (Π Π΅Ρ‡ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π° Π² ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ синтСза Ρ€Π΅Ρ‡ΠΈ).

PubSub:

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для взаимодСйствия ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ. Для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ сСрвСру PubSub слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ WebSocket соСдинСниС ΠΏΠΎ адрСсу: ws://localhost:4848/PubSub

Π’ΠΈΠΏΡ‹ событий (PubSubType):

  • Unknown - По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½.
  • Subscribe - ΠŸΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° события.
  • UnSubscribe - ΠžΡ‚ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ ΠΎΡ‚ событий.
  • Echo - Π­Ρ…ΠΎ (Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ запрос Π² ΠΊΠ»ΠΈΠ΅Π½Ρ‚).
  • Ping - Пинг.

ΠŸΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° события Π΄Π°Π½Π½Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ всСм подписавшимся ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ Π½Π° Π΄Π°Π½Π½ΠΎΠ΅ событиС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

{"Type":"SoundPlay","Data":{"Play":"test.mp3"}}

ΠŸΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° события (Subscribe):

{
  "Type": "Subscribe",
  "Data": {
    "Events": [
      "SoundPlay",
      "SoundPause"
    ]
  }
}

ΠžΡ‚ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ ΠΎΡ‚ событий (UnSubscribe):

{
  "Type": "UnSubscribe",
  "Data": {
    "Events": [
      "SoundPause"
    ]
  }
}

ΠžΡ‚Π²Π΅Ρ‚ Π½Π° событиС Subscribe, UnSubscribe:

ΠŸΡ€ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ запросС вСрнСтся список с Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌΠΈ подписками:

{"Type":"Subscribed","Data":{"Events":["SoundPlay","SoundPause"]}}

Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΊΠ»ΠΈΠ΅Π½Ρ‚ (Echo):

{
  "Type": "Echo",
  "Data": {
    "Test": "Kappa"
  }
}

Пинг сСрвСра (Ping):

{
  "Type": "Ping"
}

About

MiniChat API

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published