Telebof is easy and modern Java library for building Telegram bots using the Telegram Bot API.
Add the following dependency to your pom.xml:
<dependency>
<groupId>io.github.natanimn</groupId>
<artifactId>telebof</artifactId>
<version>1.2.3</version>
</dependency>Add the following to your build.gradle:
implementation 'io.github.natanimn:telebof:1.2.3'import io.github.natanimn.telebof.BotClient;
public class MyFirstEchoBot {
static final String TOKEN = "YOUR_BOT_TOKEN_HERE"; // Get from @BotFather
public static void main(String[] args) {
final BotClient bot = new BotClient(TOKEN);
// Handle /start command
bot.onMessage(filter -> filter.commands("start"), (context, message) -> {
context.sendMessage(message.chat.id, "Welcome to my echo bot! π").exec();
});
// Echo any text message
bot.onMessage(filter -> filter.text(), (context, message) -> {
context.sendMessage(message.chat.id, "You said: " + message.text).exec();
});
bot.startPolling(); // Start the bot
}
}import io.github.natanimn.telebof.annotations.MessageHandler;
import io.github.natanimn.telebof.BotContext;
import io.github.natanimn.telebof.types.Message;
import io.github.natanimn.telebof.enums.MessageType;
import io.github.natanimn.telebof.BotClient;
public class MyFirstEchoBot {
static final String TOKEN = "YOUR_BOT_TOKEN_HERE"; // Get from @BotFather
public static void main(String[] args) {
final BotClient bot = new BotClient(TOKEN);
bot.addHandler(new MyFirstEchoBot());
bot.startPolling();
}
@MessageHandler(commands = "start")
void start(BotContext context, Message message){
context.sendMessage(message.chat.id, "Welcome to my echo bot! π").exec();
}
@MessageHandler(type = MessageType.TEXT, priority = 1)
void echo(BotContext context, Message message){
context.sendMessage(message.chat.id, "You said: " + message.text).exec();
}
} To get started:
- Create a bot with @BotFather on Telegram
- Replace
YOUR_BOT_TOKEN_HEREwith your actual bot token - Run the code and send a message to your bot!
Visit our comprehensive documentation at:
https://natanimn.github.io/telebof
Detailed API reference available at:
https://natanimn.github.io/telebof-api
import io.github.natanimn.telebof.BotClient;
import io.github.natanimn.telebof.types.keyboard.InlineKeyboardButton;
import io.github.natanimn.telebof.types.keyboard.InlineKeyboardMarkup;
public class AdvancedBot {
public static void main(String[] args) {
final BotClient bot = new BotClient(TOKEN);
bot.onMessage(filter -> filter.commands("start"), (context, message) -> {
var keyboard = new InlineKeyboardMarkup();
keyboard.addKeyboard(new InlineKeyboardButton("Option 1", "opt1"));
keyboard.addKeyboard(new InlineKeyboardButton("Option 2", "opt2"));
context.sendMessage(message.chat.id, "Choose an option:")
.replyMarkup(keyboard)
.exec();
});
bot.onCallback(filter -> filter.callbackData("opt1", "opt2"), (context, callback) -> {
context.answerCallbackQuery(callback.id, "Option selected!").exec();
});
bot.startPolling();
}
}- Support Group: Join our Telegram group for help and discussions
- News Channel: Follow our channel for updates and announcements
- Documentation: Check our comprehensive docs first
- GitHub Discussions: Ask questions in our community forum
- Issue Tracker: Report bugs or request features
Want your bot to be featured in our examples?
Requirements: Public source code
How to submit: Make a pull request with your bot implementation!
We welcome contributions from the community! Here's how you can help:
- Code Contributions: Implement new features or fix bugs
- Documentation: Improve documentation and examples
- Testing: Help test new features and report issues
- Examples: Create and share example bots
This project is licensed under the MIT License - see the LICENSE file for details.
If you find Telebof useful, please consider:
- β Star the repository on GitHub
- π Report issues and help improve the library
- π¬ Join our community and help other developers
- π’ Share with others who might find it useful