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.
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!
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>
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.");
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
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')
This project is licensed under the MIT License - see the LICENSE.md file for details
Marco De Nadai and Paolo Sottovia for the inspiration
Thank you to everyone who will report bugs, propose extra features, and suggest fixes.