TelegramBots/README.md

102 lines
3.9 KiB
Markdown
Raw Normal View History

2016-01-14 01:14:53 +01:00
# Telegram Bot Java Library
2016-06-10 12:17:31 +02:00
[![Jitpack](https://jitpack.io/v/rubenlagus/TelegramBots.svg)](https://jitpack.io/#rubenlagus/TelegramBots)
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.telegram/telegrambots/badge.svg)](http://mvnrepository.com/artifact/org.telegram/telegrambots)
2016-05-05 23:27:56 +02:00
[![Telegram](http://trellobot.doomdns.org/telegrambadge.svg)](https://telegram.me/JavaBotsApi)
2016-01-20 22:18:22 +01:00
A simple to use library to create Telegram Bots in Java
2016-01-14 01:14:53 +01:00
## Contributions
2016-05-22 15:03:32 +02:00
Feel free to fork this project, work on it and then make a pull request against **DEV** branch. Most of the times I will accept them if they add something valuable to the code.
2016-01-14 01:14:53 +01:00
Please, **DO NOT PUSH ANY TOKEN OR API KEY**, I will never accept a pull request with that content.
## Webhooks vs GetUpdates
2016-05-31 01:09:24 +02:00
Both ways are supported, but I recommend long polling method.
2016-01-20 22:18:22 +01:00
## Usage
Just import add the library to your project with one of these options:
1. Using Maven Central Repository:
```xml
<dependency>
<groupId>org.telegram</groupId>
<artifactId>telegrambots</artifactId>
2016-10-03 12:29:22 +02:00
<version>2.4.0</version>
</dependency>
```
2016-10-03 12:29:22 +02:00
2. Using Jitpack from [here](https://jitpack.io/#rubenlagus/TelegramBots/v2.4.0)
3. Download the jar(including all dependencies) from [here](https://github.com/rubenlagus/TelegramBots/releases/tag/v2.4.0)
2016-01-20 22:18:22 +01:00
In order to use Long Polling mode, just create your own bot extending `org.telegram.telegrambots.bots.TelegramLongPollingBot`.
If you like to use Webhook, extend `org.telegram.telegrambots.bots.TelegramWebhookBot`
2016-05-31 11:13:28 +02:00
Once done, you just need to create a `org.telegram.telegrambots.TelegramBotsApi`and register your bots:
2016-01-20 22:18:22 +01:00
```java
// Example taken from https://github.com/rubenlagus/TelegramBotsExample
public class Main {
public static void main(String[] args) {
TelegramBotsApi telegramBotsApi = new TelegramBotsApi();
try {
telegramBotsApi.registerBot(new ChannelHandlers());
telegramBotsApi.registerBot(new DirectionsHandlers());
telegramBotsApi.registerBot(new RaeHandlers());
telegramBotsApi.registerBot(new WeatherHandlers());
telegramBotsApi.registerBot(new TransifexHandlers());
telegramBotsApi.registerBot(new FilesHandlers());
} catch (TelegramApiException e) {
e.printStackTrace();
}
}
}
```
2016-01-14 01:14:53 +01:00
2016-08-07 14:34:27 +02:00
For detailed explanation, visite our [How To](HOWTO.md) (thanks Clevero)
2016-01-14 01:14:53 +01:00
## Example bots
Open them and send them */help* command to get some information about their capabilities:
2016-05-31 01:09:24 +02:00
https://telegram.me/weatherbot (**Use custom keyboards**)
2016-01-14 01:14:53 +01:00
2016-05-31 01:09:24 +02:00
https://telegram.me/directionsbot (**Basic messages**)
2016-01-14 01:14:53 +01:00
2016-05-31 01:09:24 +02:00
https://telegram.me/filesbot (**Send files by file_id**)
2016-01-14 01:14:53 +01:00
2016-05-31 01:09:24 +02:00
https://telegram.me/TGlanguagesbot (**Send files uploding them**)
2016-01-14 01:14:53 +01:00
2016-05-31 01:09:24 +02:00
https://telegram.me/RaeBot (**Inline support**)
2016-04-02 19:32:24 +02:00
2016-05-31 22:09:41 +02:00
https://telegram.me/SnowcrashBot (**Webhook support**)
2016-01-20 22:18:22 +01:00
You can see code for those bots at [TelegramBotsExample](https://github.com/rubenlagus/TelegramBotsExample) project.
2016-01-14 01:14:53 +01:00
## Telegram Bot API
This library use [Telegram bot API](https://core.telegram.org/bots), you can find more information following the link.
## Questions or Suggestions
2016-05-05 21:50:55 +02:00
Feel free to create issues [here](https://github.com/rubenlagus/TelegramBots/issues) as you need or join the [chat](https://telegram.me/JavaBotsApi)
2016-01-14 01:14:53 +01:00
## License
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.