Thanks to visit codestin.com
Credit goes to github.com

Skip to content

natanimn/telebof

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Telebof

Easy and modern Telegram Bot API for Java

Latest Release License Telegram Support GitHub Stars

Supported 9.2 BotAPI

Overview

Telebof is easy and modern Java library for building Telegram bots using the Telegram Bot API.

Installation

Maven

Add the following dependency to your pom.xml:

<dependency>
    <groupId>io.github.natanimn</groupId>
    <artifactId>telebof</artifactId>
    <version>1.2.3</version>
</dependency>

Gradle

Add the following to your build.gradle:

implementation 'io.github.natanimn:telebof:1.2.3'

Quick Start: Your First Echo Bot

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
    }
}

Using annotation

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:

  1. Create a bot with @BotFather on Telegram
  2. Replace YOUR_BOT_TOKEN_HERE with your actual bot token
  3. Run the code and send a message to your bot!

Documentation

Full Library Documentation

Visit our comprehensive documentation at:
https://natanimn.github.io/telebof

API Reference

Detailed API reference available at:
https://natanimn.github.io/telebof-api


Advanced Example: Inline Keyboard Bot

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();
    }
}

Community and Support

Official Channels

Getting Help

  1. Documentation: Check our comprehensive docs first
  2. GitHub Discussions: Ask questions in our community forum
  3. Issue Tracker: Report bugs or request features

Share Your Bot

Want your bot to be featured in our examples?
Requirements: Public source code
How to submit: Make a pull request with your bot implementation!


Contributing

We welcome contributions from the community! Here's how you can help:

Ways to Contribute

  1. Code Contributions: Implement new features or fix bugs
  2. Documentation: Improve documentation and examples
  3. Testing: Help test new features and report issues
  4. Examples: Create and share example bots

License

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


Support the Project

If you find Telebof useful, please consider:

  1. ⭐ Star the repository on GitHub
  2. πŸ› Report issues and help improve the library
  3. πŸ’¬ Join our community and help other developers
  4. πŸ“’ Share with others who might find it useful