Telegram is an instant messaging app that provides a powerful API that enables applications to send messages through bots. LinuxGSM leverages the Telegram Bot API to dispatch alerts to users, enhancing monitoring and management of gaming servers.
-
Initiate Bot Creation: Chat with @BotFather on Telegram to start creating your bot. Begin the conversation by clicking "Start".
-
Register Your Bot: Send
/newbot
to @BotFather and follow the provided instructions to set up your bot. Upon completion, you will receive an API token. -
Configure LinuxGSM: Fill in the API token into your LinuxGSM config as follows:
# Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram telegramapi="api.telegram.org" telegramalert="on" # Enable alerts by changing "off" to "on" telegramtoken="XXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" # Replace with your bot token telegramchatid="" telegramthreadid="" telegramsilentnotification="false" # Set to "true" to disable notification sounds and send alerts silently curlcustomstring="" # Optional: For proxies, etc.
- Select
New Group
within Telegram. - Name your group.
- Add your bot by searching its
@Username
.
- Open group info.
- Choose to add members.
- Search and select your bot by its
@Username
.
-
Activate Your Bot: Interact with your bot in Telegram.
-
Form the getUpdates URL: Replace the placeholder with your bot's token in
https://api.telegram.org/botXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/getUpdates
. -
Visit the URL: Use a web browser to access the URL.
-
Locate the Chat ID: In the JSON response, find the
id
field under thechat
object."chat": { "id": 123456789, "first_name": "Your Name", "username": "YourUsername", "type": "private" }
Note: The Chat ID for private chats is a positive number and for a group, it's a negative number.
-
Update LinuxGSM Config: Place your Chat ID in the LinuxGSM config file.
# Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram telegramapi="api.telegram.org" telegramalert="on" telegramtoken="XXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" telegramchatid="123456789" # Fill in your chat ID telegramthreadid="" telegramsilentnotification="false" curlcustomstring=""
-
Verify that Topics are enabled for your group by checking the group's settings.
-
If you don't already have a topic created. Create a new Topic by clicking the three dots in the top right corner of the group chat and selecting
New Topic
. -
Send a message in the Topic you want to use.
-
Repeat Retrieving Your Telegram Chat ID to retrieve the thread ID by looking for the
message_thread_id
field in themessage
object.{ "update_id": 123456, "message": { "message_id": 123, "from": { "id": 12345, "is_bot": false, "first_name": "Sender", "username": "SenderUsername", "language_code": "en" }, "chat": { "id": -123456789, "first_name": "Your Name", "username": "YourUsername", "type": "supergroup" }, "date": 1709691014, "message_thread_id": 11, // Use this number as your telegramthreadid "forum_topic_created": { "name": "LinuxGSM", "icon_color": 12345 }, "is_topic_message": true } }
-
Update the
telegramthreadid
field in the LinuxGSM config with the thread ID.# Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram telegramapi="api.telegram.org" telegramalert="on" telegramtoken="XXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" telegramchatid="123456789" telegramthreadid="5" # Fill in your thread ID telegramsilentnotification="false" curlcustomstring=""
Execute a test alert with ./gameserver test-alert
to verify the setup.
If you receive an alert on Telegram in the right place (group or private chat), the configuration is correct.
For specific needs such as bypassing network restrictions, you can specify custom cURL arguments in the configuration.
# Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
# You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
telegramapi="api.telegram.org"
telegramalert="on"
telegramtoken="XXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
telegramchatid="123456789"
telegramthreadid="5"
telegramsilentnotification="false"
curlcustomstring="--socks5 ipaddr:port" # Fill in your custom cURL string
```