Posting Minecraft login events to Telegram

My friends and I wanted to be notified whenever someone logins or logouts from the Minecraft server I host.

I studied a lot of overly complicated solutions until I thought of the easiest way to implement it: continuously read the Minecraft log, search for the ‘logged in’ or ‘logged out’ keywords and make an API call when there’s a result.

Translated in simplified Unix commands:

tail -F logfile | grep ‘login’ | curl

The API call is made to a Telegram bot that sends the message to a group chat.

I started working from the script from this blog post and edited it a bit:


tail -n0 -F /home/dzamir/minecraft-docker/logs/latest.log | while read LINE; do
 (echo "$LINE" | grep -e "logged in" -e "left the game") && curl -X POST \<insert-your-bot-token>/sendMessage \
 -H 'Accept: */*' \
 -H 'Cache-Control: no-cache' \
 -H 'Connection: keep-alive' \
 -H 'Host:' \
 -F chat_id=<insert-chat-id> \
 -F text="$LINE";

The script can be improved by filtering only the valuable data from the log messages or posting to other platforms (e.g. Slack).