स्लैश कमांड लागू करना

स्लैश कमांड की मदद से, अपने ऐप्लिकेशन के लिए खास निर्देशों को रजिस्टर किया जा सकता है और उनका विज्ञापन किया जा सकता है. इनसे, उपयोगकर्ताओं को ऐप्लिकेशन की कुछ सुविधाओं को समझने में मदद मिलती है. जब उपयोगकर्ता किसी ऐप्लिकेशन के साथ चैट करता है और स्लैश का इस्तेमाल करता है, तो ऐप्लिकेशन के स्लैश कमांड एक पॉप-अप में दिखते हैं. इसमें, हर निर्देश में क्या होता है, इसकी जानकारी होती है.

जब उपयोगकर्ता स्लैश कमांड के ज़रिए आपके ऐप्लिकेशन का इस्तेमाल करता है, तो आपके ऐप्लिकेशन को भेजे गए मैसेज में एक और फ़ील्ड अटैच किया जाता है. यह फ़ील्ड बताता है कि उपयोगकर्ता ने स्लैश कमांड को चुना है. साथ ही, उसने आपके ऐप्लिकेशन के कॉन्फ़िगरेशन में दिए गए कमांड आईडी के आधार पर, स्लैश कमांड को चुना है. इसके अलावा, स्लैश कमांड में एक एनोटेशन होता है, ठीक उसी तरह जब उपयोगकर्ता आपके ऐप्लिकेशन से नाम से इंटरैक्ट करता है.

{
  ...
  "message": {
    ...
    "text": "/vote yes",
    "argumentText": " yes",
    "annotations": [
      {
        "length": 5,
        "startIndex": 0,
        "slashCommand": {
          "type": "INVOKE",
          "user": {
            "avatarUrl": "https://.../avatar.png",
            "displayName": "VoteBot",
            "name": "users/1234567890987654321",
            "type": "BOT"
          }
        },
        "type": "SLASH_COMMAND"
      }
    ],
    "slashCommand": {
      "commandId": 2
    }
  }
}

आपके ऐप्लिकेशन को जो कमांड आईडी मिलेगा, वह उस कमांड आईडी के मुताबिक होगा जिसे आप अपने ऐप्लिकेशन के कॉन्फ़िगरेशन में उस कमांड के लिए दिखाते हैं:

स्लैश कमांड के कॉन्फ़िगरेशन फ़ील्ड.

इससे आपका ऐप्लिकेशन सीमित आर्ग्युमेंट पार्सिंग के साथ स्लैश कमांड के मामलों को साफ़ तौर पर हैंडल कर सकेगा:

if (message.slashCommand) {
  switch (message.slashCommand.commandId) {
    case 2:  // /vote
      return vote(message.argumentText);
  }
}

// Other existing handling for users invoking your app by name.