Autogenerated wrapper for the Telegram Bot API written in Rust.

Overview

ferris


An Elegant Rust Client for Telegram Bot API
crates.io docs.rs

Table of contents

Introduction

FerrisGram is an asynchronous autogenerated wrapper for the Telegram Bot API written in Rust. This library provides all the methods and types that are available on the official Telegram Bot API.

Key Features

  • Easy to use: Heavily inspired by the python-telegram-bot, Ferrisgram is designed in such a way that even a beginner can make a bot with it easily.
  • Asynchronous: Ferrisgram is powered by rust's built-in await async syntax.
  • Typo Free Docs: Autogenerated documentations of the native Bot API types and methods make it typo free.
  • Filters: Ferrisgram provides filters to make it easy for you to sort different type of updates in a managed way.

Installation

You can install ferrisgram by adding the following to dependencies section of Cargo.toml:

[dependencies]
ferrisgram = "0.1.0"

Getting Started

You can checkout our sample bots in the examples directory.

Documentation

Documentations can be found at docs.rs.

Index

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update examples as appropriate.

License

MIT
Licensed Under The MIT License

You might also like...
Uradhura is a telegram bot that fetches information and media from reddit
Uradhura is a telegram bot that fetches information and media from reddit

Pathetic little Telegram bot that fetches information from Reddit posts(with gif, image(post with single image) and video)

A Telegram bot to watch animes

AmimeWatch A Telegram bot to watch animes. Re-written version of AmimeWatch in Rust. Preparing Configuration Create a file named config.toml and fill

An out-of-box ChatGPT bot for Telegram.
An out-of-box ChatGPT bot for Telegram.

TeleGPT API Docs | Releases | Twitter An out-of-box ChatGPT bot for Telegram. TeleGPT is a Telegram bot based on teloxide framework and async_openai.

An out-of-box ChatGPT bot for Telegram.
An out-of-box ChatGPT bot for Telegram.

TeleGPT API Docs | Releases | Twitter An out-of-box ChatGPT bot for Telegram. TeleGPT is a Telegram bot based on teloxide framework and async_openai.

A Telegram ChatGPT bot
A Telegram ChatGPT bot

A customizable Telegram bot with a ChatGPT (or GPT4, bring your own API key) backend. You can configure the bot’s context and prompt in template settings.

A simple telegram bot to get the tunnel info from ngrok.
A simple telegram bot to get the tunnel info from ngrok.

Telegram Ngrok Bot A simple bot to fetch the running tunnels from ngrok api. Prerequisits Ngrok agent should be running. Configuration Ngrok config ve

API wrapper for the tankerkönig api

tankerkoenig-rs API wrapper for the tankerkoenig-api written in rust. Gives you ready deserialized structs and a easy to use and strictly typed api. I

Matrix bot inspired by Shirt Bot.

matrix-openai-bot Matrix bot inspired by Shirt Bot. Usage Run the bot after building it or grabbing the latest release $ matrix-openai-bot Edit the ge

Rewrite of the Discord Bot used for Managing the Infinity Bot List Servers.
Rewrite of the Discord Bot used for Managing the Infinity Bot List Servers.

Arcadia Rewrite of the Discord Bot used for Managing the Infinity Bot List Servers. Contributing Always run fmt.sh before making a Pull Request! MacOS

Comments
  • Fix interface values like ChatMember etc

    Fix interface values like ChatMember etc

    What kind of feature are you missing? Where do you notice a shortcoming of Ferrisgram?

    Update from bot api contains an interface value for the classes like ChatMember which are further classified like ChatMemberAdministrator ChatMemberBanned etc.

    Describe the solution you'd like

    https://stackoverflow.com/questions/42392935/how-do-i-deserialize-into-trait-not-a-concrete-type

    bug 
    opened by anonyindian 0
  • [BUG] send photo by URL throws an error

    [BUG] send photo by URL throws an error

    Steps to Reproduce

    the same as README example, but send_photo

    Expected behaviour

    sendPhoto API method should support both InputFile and String, as per documentation

    Uploading image.png…

    Actual behaviour

    but it throws an error because auto generated type expects InputFile only

    Operating System

    Windows

    Version of Rust, Ferrisgram & dependencies

    latest
    

    Relevant log output

    No response

    Additional Context

    image

    opened by 7flash 4
  • [BUG] expected struct InputMediaAudio, found struct InputMediaPhoto

    [BUG] expected struct InputMediaAudio, found struct InputMediaPhoto

    Steps to Reproduce

    Default example but send_media_group instead of copy_message

    Expected behaviour

    sendMediaGroup should allow to send pictures as well

    Actual behaviour

    but compiler throws an error because type expecting audios only

    Operating System

    send_media_group InputMediaPhoto

    Version of Rust, Ferrisgram & dependencies

    Compiling elevenone v0.1.0 (C:\Users\igorb\Documents\eleven\elevenone)   
    error[E0308]: mismatched types
      --> src\main.rs:78:35
       |
    78 |     bot.send_media_group(chat.id, pics);
       |         ----------------          ^^^^ expected struct `ferrisgram::types::InputMediaAudio`, found struct `ferrisgram::types::InputMediaPhoto`     
       |         |
       |         arguments to this function are incorrect
       |
       = note: expected struct `Vec<ferrisgram::types::InputMediaAudio>`        
                  found struct `Vec<ferrisgram::types::InputMediaPhoto>`        
    note: associated function defined here
      --> C:\Users\igorb\.cargo\registry\src\github.com-1ecc6299db9ec823\ferrisgram-0.1.5\src\methods\send_media_group.rs:15:12
       |
    15 |     pub fn send_media_group(
       |            ^^^^^^^^^^^^^^^^
    

    Relevant log output

    No response

    Additional Context

    image

    image

    image

    opened by 7flash 7
  • Messy generator module

    Messy generator module

    What kind of feature are you missing? Where do you notice a shortcoming of Ferrisgram?

    Generator's code are too untidy, needs some cleansing

    Describe the solution you'd like

    Use templates in generator

    Describe alternatives you've considered

    No response

    Additional context

    No response

    enhancement 
    opened by anonyindian 0
Releases(v0.1.5)
  • v0.1.5(Jul 3, 2022)

    What's Changed

    • Ferrisgram-Beta v0.1.0 by @anonyindian in https://github.com/ferrisgram/ferrisgram/pull/2
    • https://t.me/ferrisgram/16

    Full Changelog: https://github.com/ferrisgram/ferrisgram/commits/v0.1.5

    Source code(tar.gz)
    Source code(zip)
Owner
FerrisGram
An elegant rust client for the Telegram Bot API.
FerrisGram
Telegram bot to fetch images from Terceira Ponte and Rodosol into your Telegram chat.

rodosol-telegram-bot Add this bot to your contacts list This bot is a quick scraper that gets the pictures from the rodosol "De olho na via" feature a

Armando Magalhães 1 Jan 9, 2022
A simple Telegram bot that eats anonymous channel messages, written in Rust.

tgbot-nochanmsg By Asuna Right Control When creating your bot from botfather, it's not bad to disable privacy mode, because it needs to access the mes

h3a.moe 2 Aug 5, 2022
A Telegram bot written in Rust.

Knight-Bot Table of Contents About Support chat Installation Setting up your environment Build manually Commands Commands on TODO list Find this bot A

cyberknight777 25 Apr 27, 2023
A Simple, But amazing telegram bot, Made using the Rust language!

Telegram bot in Rust A fun Telegram bot made using Rust language.

Deep Alchemy 2 Dec 21, 2021
This is a Telegram bot I'm working on in my free time to learn Rust.

Maldness Bot This is a Telegram bot I'm working on in my free time to learn Rust. Building docker build -t . should be enough.

Sergey Kislyakov 10 May 13, 2022
Rust telegram bot library for many runtimes

Telbot Telbot provides telegram bot types and api wrappers. Specifically, telbot now supports: telbot-types: basic telegram types / requests / respons

kiwiyou 17 Dec 3, 2022
Telegram bot for searching in Arch User Repository ( AUR ); Implemented using rust.

AurSearchBot A Telegram Inline Search Bot Written in Rust Introduction Telegram Bot that can search AUR ( Arch User Repository ) in inline mode. This

AlenPaulVarghese 3 Feb 15, 2022
This is a simple Telegram bot with interface to Firefly III to process and store simple transactions.

Firefly Telegram Bot Fireflies are free, so beautiful. (Les lucioles sont libres, donc belles.) ― Charles de Leusse, Les Contes de la nuit This is a s

null 13 Dec 14, 2022
Telegram Bot Template with Cloudflare Workers

cf-workers-telegram-bot-template Usage This template starts you off with a src/lib.rs file, acting as an entrypoint for requests hitting your Worker.

Lee Taehoon 2 Sep 23, 2021
Telegram bot that zhuzh Twitter content

@twt_2_tg_bot Telegram bot that zhuzh shared Twitter content Text converter Some tweets may contain line breaks or even dialogs. Such tweets are barel

Vladimir 6 Nov 6, 2022