Send a Telegram message when your scripts fire an exception or when they finish their execution.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Java
Python
.gitignore
LICENSE
README.md

README.md

Telegram-Log – Send message to a Telegram Bot or use it as a logger!

Telegram-Log is a simple way to interact from multiple programming languages to a Telegram Bot.

It is released under a Apache License 2.0.

Before everything: Create the bot

Following what is written here, the first step to create a bot is to start a new conversation with BotFather. With it, create a new bot with /newbot, then assign it a name and a unique username following the instructions.

The BotFather will answer with a TOKEN, which will be needed to later use the Telegram-Log application.

Then, start a conversation with the new created bot, searching it through the global search.

Now, write /start and start a conversation.

Go to https://api.telegram.org/bot<TOKEN>/getUpdates (replacing <TOKEN> with the token of your bot) and you will receive a JSON that contains something like:

..."chat":{"id":123456789,"first_name":"your_name","username":"your_username",type":"private"}...

You also need the chat id in order to use the Telegram-Log application.

Now you are ready to go to the next step!

Quickstart

Java

To use the application you need to:

git clone https://github.com/forons/telegram-log.git
mvn clean install

Then, you will be able to import this project in any of your projects simply by adding in the pom.xml:

	<dependency>
		<groupId>it.forons.utils</groupId>
		<artifactId>telegram</artifactId>
		<version>1.0-SNAPSHOT</version>
	</dependency>
Usage 1: Send message

As explained in src/main/java/it/forons/utils/telegram/TelegramSender.java there two ways to send messages to a Telegram Bot:

TelegramBot bot = new TelegramBot(TOKEN, CHAT_ID);
int responseCode = bot.sendMessage("Option 1: build the class and send the message.");

or

TelegramBot.sendMessage(TOKEN, CHAT_ID, "Option 2: static method.");
Usage 2: log4j Appender

To use Telegram-Log as a log4j appender it is just needed to add the maven dependency and to set the following lines into the log4j.properties file:

# Root logger option
log4j.rootLogger=INFO, telegram

# Direct log messages to the telegram bot
log4j.appender.telegram=it.forons.utils.telegram.appender.TelegramAppender
log4j.appender.telegram.TOKEN=<TOKEN>
log4j.appender.telegram.CHAT_ID=<CHAT_ID>
log4j.appender.telegram.layout=org.apache.log4j.PatternLayout
log4j.appender.telegram.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

Python

Just configure

TELEGRAM_TOKEN = ''
TELEGRAM_CHAT_ID = ''

with your TOKENID and CHATID, then use it as a simple Python logger:

logger = logging.getLogger('trymeApp')
	logger.setLevel(logging.WARNING)

	handler = RequestsHandler()
	formatter = LogstashFormatter()
	handler.setFormatter(formatter)
	logger.addHandler(handler)

	logger.setLevel(logging.WARNING)

	logger.error('We have a problem')

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

Marco De Nadai and Paolo Sottovia for the inspiration


Thank you to everyone who will report bugs, propose extra features, and suggest fixes.