Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Prerequisite:
To install the MID agent, you need Python and the Telethon library on a server. To install the library, run the following commands on the command line (after downloading and installing Python):
Panel python3 -m pip install --upgrade pip
python3 -m pip install --upgrade telethon
- You need an Android device with a physical SIM card and with the Telegram application installed. The Telegram account should be created based on the SIM card number.
- On the Android device, you also need to install the Pydroid 3 and the Telethon library application to run scripts.
On the Administrator's server
Note |
---|
For the swarming session to work smoothly, the MID agent must be hosted on the device, for example, the virtual machine (VM) on which it will run non-stop. |
To set up a Telegram group for a major incident, do the following:
On the Administrator's computerCreate 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:
Field Mandatory Description Name Y A name of the infrastructure server, that will be displayed in the list, for example, TgBotMIDServer. Host Name Y A host name of the external server to connect to, for example, mid_server. User Y A user name who will have access to the functionality of the infrastructure agent. The user must have the admin role. - Download Infrastructure the MID Agent acrchive.
On disk C, create a folder named MID_agent.
Info To create Telegram groups on different instances, create separate folders for the MID agent of each instance with different names.
- Move the downloaded .exe and .env files to the created folder in Step 2.
In the .env file, set the following configurations:
To continue, ensure that Python and the Telethon library are installed on your computerVariable Value MID_API_USERNAME A user login, stated in the MID Server (sys_mid_server) record, created in Step 1. MID_API_PASSWORD A user password, stated in the MID Server (sys_mid_server) record, created in Step 1. MID_API_SERVERID ID 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 install the library, write in the command line:. Code Block python3 -m pip install --upgrade pip python3 -m pip install --upgrade telethon
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.
32. 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.
- 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,
- closeGroup – 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.
- Open the “clientInformation” script clientInformation script and add the api_id and api_hash values received when creating a Telegram client.
Create a .py file and add the following test start script there:
Code Block language py title Test Start script for Telegram linenumbers true 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())
- Place the created file in the MID_agent folder created earlier.
- 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 commandpython script name.py
. - 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.
- 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.
- As a result, the system returns information about the current user in the command line – it means everything has been set correctly.
- Complete the user's authorization that the system will require. As a result, in the MID_agent folder, a “swarming.session” file is created.
- Configure the instance as described below.
On the SimpleOne instance Anchor instance configuration instance configuration
instance configuration | |
instance configuration |
- Create three scripts in the MID Scripts (sys_mid_script)table. To do so:
- In the MID Scripts (sys_mid_script)table, click New. A new script form opens.
- Add “createGroup” as createGroup as the name of the script.
In the Script field, add the path to the script on your computer server and the parameters, as shown below.
Repeat the Steps a-c to add “closeGroup” closeGroup and “deleteGroup” deleteGroup scripts.
createGroup Script python C:\User's Path\createGroup.py $botUserName $incidentDispalyName $titleMessage $mainInformation closeGroup Script python C:\User's Path\closeGroup.py $chatId deleteGroup Script python C:\User's Path\deleteGroup.py $chatId Note When using several MID agents for the operation of Telegram groups on different instances, specify the path to the necessary agent folder in the script.
Go to the System Properties (sys_property) table, set the following values for the properties:
System Property Value itsm.telegram_bot.swarming_session true itsm.telegram_bot.mid_server_id MID Server Record ID The ID of the MID Script record created in Step 1 of the On the Administrator's computerserver section of this article. itsm.telegram_bot.mid_create_group_script_id MID Scripts Record ID The ID of the MID Script record for a group creation (createGroup script) itsm.telegram_bot.mid_close_group_script_id MID Scripts Record ID for comments restriction The ID of the MID Script record that disables comments in a Telegram group of the swarming session (closeGroup script) itsm.telegram_bot.mid_delete_group_script_id MID Scripts Record ID for a group removal The ID of the MID Script record that deletes a Telegram group of the swarming session (deleteGroup script). - Create connections with the For client and Router bots, which must be created in advance via @BotFather in Telegram.
On the Android device
Anchor | ||||
---|---|---|---|---|
|
- Transfer the start script and the clientinformation.py file with the filled information to the Android device.
- Using the Pydroid 3 app, run the Python start script using the Telethon library manually.
- After successfully running the start script, enter a mobile phone number in the command line. Enter the mobile phone number that the Telegram account is registered with.
- If logging into the account is additionally protected by a password, enter it after you have entered the number.
- Then enter a verification code. Type it in the command line as soon as you receive it.
- As a result, the system returns information about the current user in the command line – it means everything has been set correctly.
- A new swarming.session file and a py_cache folder are created. The lifetime of the file is limited to 7–10 days if it is not used. If the file is out of date, it should be recreated.
- Transfer the created file and folder to the server in the agent folder. If the server has an older version of swarming.session and a py_cache folder, they must be removed before running the script.
End of setup and testing
- Play the start script and enter your Telegram account number.
- From the command line, run the MID agent in the folder that you created earlier. Run the MID agent from the file in the earlier created folder MID_agent.
- Go to a major incident form. Click Start Swarming on the top of the page.
The In the modal window that appears, contains there is a list of the recipients of the invitation to the Telegram group. Clicking 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.
Field Description Request BotUserId, the incident name and the first message content that is sent to the Swarming Session participants Server TgBotMIDServer. Script The name of the executed script Response A 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. State Done when executed Processed at Date and time of the script execution Description Incident number If the connection with the Telegram bot is lost or failed, (see the ITSM Telegram Botarticle for more information) a toast message “Telegram bot not connected” appears, and a modal window does not open.
When the incident state is changed to Completed,a 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.
Field Description Request A chatId parameter Server TgBotMIDServer Script The name of the executed script Response No response State Done when executed Processed at Date and time of the execution Description Empty 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.
Field Description Request A chatId parameter
Server TgBotMIDServer Script The name of the executed script Response No response State Done when executed Processed at Date and time of the execution Description Empty
Troubleshooting
In cases when a swarming group is not created or communication between the Telegram group and the SimpleOne instance is not configured, do one of the following:
- Reconnect the Router bot on the instance with a new token. You can request a token through @BotFatner in Telegram.
- On the server in the MID_agent folder сlose and re-run the start script or create a swarming.session file following the steps above and upload it to this folder again.
Table of Contents | ||||||
---|---|---|---|---|---|---|
|