Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/reloadlife/telebot

Go Telegram Bot Library
https://github.com/reloadlife/telebot

Last synced: about 1 month ago
JSON representation

Go Telegram Bot Library

Awesome Lists containing this project

README

        

# Telebot

**Telebot** is a robust Golang package meticulously crafted to simplify and elevate the development experience
for [Telegram Bot API](https://core.telegram.org/bots/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](https://godoc.org/go.mamad.dev/telebot?status.svg)](https://godoc.org/go.mamad.dev/telebot)
[![GitHub Actions](https://github.com/reloadlife/telebot/actions/workflows/go.yml/badge.svg)](https://github.com/reloadlife/telebot/actions)
[![codecov](https://codecov.io/github/reloadlife/telebot/graph/badge.svg?token=HEQNZTCRUG)](https://codecov.io/github/reloadlife/telebot)

## Table of Contents

- [Documentation](#documentation)
- [Overview](#overview)
- [Key Features](#key-features)
- [Features](#features)
- [Inspiration](#inspiration)
- [Simplicity and Extensibility](#simplicity-and-extensibility)
- [Installation](#installation)
- [CLI Tool](#cli-tool)
- [Support](#support)
- [Issues](#issues)

## Documentation

Refer to the [Wiki](https://github.com/reloadlife/telebot/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](https://core.telegram.org/bots/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](#features) APIs and utilities that Telebot brings to the table.
- Inspired by the remarkable [tucnak/telebot](https://github.com/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](#features) 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](https://github.com/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

```bash
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](https://github.com/reloadlife/telebot/issues) section now contains the project's to-do list. If you encounter any problems,
please feel free to open a new issue.