Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

To set up a Telegram group for a major incident, do the following:

On the Administrator's computer


  1. Create a record in the MID Server (sys_mid_server) table. To do so, click New and complete the fields of the new record as follows:

    FieldMandatoryDescription
    NameYA name of the infrastructure server, that will be displayed in the list, for example, TgBotMIDServer.
    Host NameYA host name of the external server to connect to, for example, mid_server.
    UserYA user name who will have access to the functionality of the infrastructure agent. The user must have the admin role. 


  2. Download Infrastructure Agent.
  3. On disk C, create a folder named MID_agent.
  4. Move the downloaded .exe and .env files to the created folder in Step 2.
  5. In the .env file, set the following configurations:

    VariableValue
    MID_API_USERNAMEA user login, stated in the MID Server (sys_mid_server) record, created in Step 1.
    MID_API_PASSWORDA user password, stated in the MID Server (sys_mid_server) record, created in Step 1.
    MID_API_SERVERIDID of the earlier created record in the MID Server (sys_mid_server) table.
    MID_API_ENDPOINT Instance, that the MID server will run.


    Note

    To continue, ensure that Python and the Telethon library are installed on your computer. To install the library, write in the command line:

    Code Block
    python3 -m pip install --upgrade pip
    python3 -m pip install --upgrade telethon



  6. Create a Telegram client. 

    Info

    To create a Telegram client, complete the steps below:

    1. Get registered in Telegram, using any client name.

    2. Follow the https://my.telegram.org link for authorization.

    3. Complete the form on the https://my.telegram.org/apps website to receive the URL and parameters of api_id and api_hash needed for the users' authorization.

    It is possible to link only one api_id to the telephone number.


  7. Download a script archive, and add the scripts to the MID_agent folder created at the Step 3. 
    The four scripts in the folder are:
    • createGroup – to create a group,
    • cancelGroup – to restrict commenting upon the completion of the incident and changing its state to Completed,
    • deleteGroup – to delete a Telegram group,
    • clientInformation – to store api_id and api_hash.
  8. Open the “clientInformation” script and add the api_id and api_hash values received when creating a Telegram client.
  9. Create a .py file and add the following test script there:

    Code Block
    languagepy
    titleTest script for Telegram
    from telethon import TelegramClient
    import clientInformation 
    
    client = TelegramClient('swarming', clientInformation.api_id, clientInformation.api_hash)
    
    async def main(): 
        me = await client.get_me()
        print(me)
    
    with client:
        client.loop.run_until_complete(main())
    
    


  10. Place the created file in the MID_agent folder created earlier.
  11. Run manually the Python test script using the Telethon library. To do so, in the command line, go to the directory of the created folder (cd full path to the folder) and execute the command python script name.py.
  12. In the command line, you will be asked to enter a mobile phone number. Enter the mobile phone number that the Telegram account is registered with.
  13. In the command line, you will be asked to enter a verification code. Type it in the command line as soon as you receive it.
  14. As a result, the system returns information about the current user in the command line – it means everything has been set correctly.
  15. Complete the user's authorization that the system will require. As a result, in the MID_agent folder, a “swarming.session” file is created.

On the SimpleOne instance


  1. Create three scripts in the MID Scripts (sys_mid_script)table. To do so:
    1. In the MID Scripts (sys_mid_script)table, click New. A new script form opens.
    2. Add “createGroup” as the name of the script.
    3. In the Script field, add the path to the script on your computer and the parameters, as shown below.

    4. Repeat the Steps a-c to add “cancelGroup” and “deleteGroup” scripts.


      createGroup
      Scriptpython C:\User's Path\createGroup.py $botUserName $incidentDispalyName $titleMessage $mainInformation


      cancelGroup
      Scriptpython C:\User's Path\cancelGroup.py $chatId


      deleteGroup
      Scriptpython C:\User's Path\deleteGroup.py $chatId



  2. Go to the System Properties (sys_property) table, set the following values for the properties:


    System PropertyValue
    itsm.telegram_bot.swarming_session   true
    itsm.telegram_bot.mid_server_idMID Server Record ID created in Step 1 of the On the Administrator's computer section of this article.
    itsm.telegram_bot.mid_create_group_script_idMID Scripts Record ID for a group creation (createGroup script)
    itsm.telegram_bot.mid_close_group_script_idMID Scripts Record ID for comments restriction (cancelGroup script)
    itsm.telegram_bot.mid_delete_group_script_id:MID Scripts Record ID for a group removal (deleteGroup script)


  3. Run the MID agent from the file in the earlier created folder MID_agent.

  4. Go to a major incident form. Click Start Swarming on the top of the page
  5. The modal window that appears, contains a list of the recipients of the invitation to the Telegram group. Clicking Start Swarming on the modal window initiates a Telegram group, and a createGroup record appears in the MID Queue (sys_mid_queue)table. The Description field of the createGroup record is automatically filled with the incident number.

    FieldDescription
    RequestBotUserId, the incident name and the first message content that is sent to the Swarming Session participants
    ServerTgBotMIDServer.
    ScriptThe name of the executed script
    ResponseA chat ID created and a lint to the group. The chat ID is stored in the Telegram Chat Bindings with Incident (sys_telegram_chat_bindings_with_incidents) table.
    StateDone when executed
    Processed atDate and time of the script execution
    DescriptionIncident number

    If the connection with the Telegram bot is lost or failed, (see the ITSM Telegram Bot article for more information) a toast message “Telegram bot not connected” appears, and a modal window does not open.


  6. When the incident state is changed to Completed,closeGroup record in the MID Queue (sys_mid_queue) table appears. Since then, commenting in the group is unavailable, but the participants can read the messages.

    FieldDescription
    RequestA chatId parameter
    ServerTgBotMIDServer
    ScriptThe name of the executed script
    ResponseNo response
    StateDone when executed
    Processed atDate and time of the execution
    DescriptionEmpty



  7. When the incident state is changed to Closed,a deleteGroup record in the MID Queue (sys_mid_queue)table appears. The linked Telegram group is deleted.

    FieldDescription
    Request

    A chatId parameter

    ServerTgBotMIDServer
    ScriptThe name of the executed script
    ResponseNo response
    StateDone when executed
    Processed atDate and time of the execution
    DescriptionEmpty


Table of Contents

Отключить проверкуПремиальные предложения