/telebot

Go Telegram Bot Library

Primary LanguageGoMIT LicenseMIT

Telebot

Telebot is a robust Golang package meticulously crafted to simplify and elevate the development experience for Telegram Bot API. Departing from a simple 1:1 wrapper, Telebot introduces a high-level framework rich in features and utilities, making Telegram Bot development not just a task but an enjoyable and efficient endeavor.

GoDoc GitHub Actions codecov

Table of Contents

Documentation

Refer to the Wiki for comprehensive documentation.

  • Current TelegramBot API Layer: 7.2 --WIP--> 7.3

Overview

  • Telebot is a Golang package that provides a straightforward and user-friendly API to interact with the Telegram Bot API.
  • It transcends the limits of a 1:1 API wrapper, offering a high-level framework equipped with an array of features and utilities, injecting joy and ease into Telegram Bot development. Dive into the feature-rich APIs and utilities that Telebot brings to the table.
  • Inspired by the remarkable tucnak/telebot.
  • Designed with simplicity, user-friendliness, and extensibility in mind.

Key Features

Telebot is more than just a tool; it's a comprehensive development experience. Explore the feature-rich APIs and utilities that empower you to effortlessly create powerful Telegram Bots.

Features

  • Elevated Development with High-Level Framework:

    Telebot simplifies Telegram Bot development through its high-level framework, offering an extensive array of features and utilities.

  • Intuitive User-Friendly API:

    Enjoy a seamless development experience with Telebot's user-friendly API, designed to be easily understandable and efficient, making Telegram Bot development a pleasure.

  • Event-Driven Architecture:

    Telebot operates on an event-driven architecture, providing effortless handling of various events such as messages, callbacks, and more.

  • Flexible Middleware Support:

    Easily intercept and modify incoming and outgoing messages, callbacks, and more with Telebot's robust middleware support.

  • Keyboard Markup Utilities:

    Leverage a rich set of utilities in Telebot for creating and customizing keyboard markup effortlessly.

  • Effortless File Uploads:

    Send and receive files, including photos, videos, audio, and more, with Telebot's seamless support for file uploads.

  • Inline Mode Handling:

    Manage inline queries effortlessly with Telebot's built-in support for inline mode.

  • Webhooks for Seamless Updates (WIP):

    Telebot supports webhooks, enabling you to receive updates via HTTP requests, eliminating the need for continuous polling.

  • Comprehensive Error Handling:

    Handle errors with ease through Telebot's comprehensive error handling mechanism.

  • Detailed Logging Capabilities:

    Log messages, errors, and more with Telebot's comprehensive logging features.

  • Testing Utilities for Confidence:

    Telebot offers utilities for testing, ensuring a confident testing process for your Telegram Bots.

  • Smooth GIN Integration (WIP):

    Seamlessly integrate Telebot with the GIN web framework, allowing you to effortlessly create Webhook Telegram Bots.

  • Dependency Injection Made Easy:

    Utilize Telebot's built-in utilities for dependency injection, effortlessly injecting TeleBot as a dependency in your application.

  • Initialization from YAML and JSON:

    Configure Telebot effortlessly with YAML and JSON files, aligning with best practices and making the setup of your dream Telegram Bot a breeze.

Inspiration

Building upon the best practices of its predecessor tucnak/telebot, Telebot inherits a solid foundation to ensure success in your Telegram Bot projects.

Simplicity and Extensibility

Telebot is intentionally crafted for simplicity and user-friendliness. Whether you are a seasoned developer or a newcomer, the design philosophy behind Telebot ensures a smooth and straightforward experience, allowing you to focus on building innovative and engaging Telegram Bots.

Installation

go get -u go.mamad.dev/gtb

CLI Tool:

CLI tool is a work in progress part of telebot and will be available soon.

Support:

Hey, if you like the project, just give me a star; it's free! :)

  • TRC-20/TRC-10: TKD7LxW6ue39491KKGpVVxBhwZa8GLYE4G
  • ERC20/BEP-20: 0xc382e422fE20F0c3C774B6C6136227D7e8331970

Issues

The issues section now contains the project's to-do list. If you encounter any problems, please feel free to open a new issue.