PaperPlane
Just a Telegram Library for Dart.
A package to interact with the official
Disclaimer
I'm doing it just for fun, so... use at your own risk.
I hope it will become something great.
^-^
Usage
First build the .g files for Serializable (if you clone the repo):
pub run build_runner build
A simple usage example:
import 'dart:io' as io;
import 'package:paperplane/paperplane.dart';
void main() {
var token = 'Just A Token';
var bot = PaperPlane.createBot(token);
bot.engine();
bot.startPolling();
// Work with events...
bot
.onMessage()
.where((message) => message.text == 'owo')
.listen((message) => message.replyText(text: 'uwu'));
// Work with updates and directly with methods...
var api = bot.api;
var updater = bot.updater.onUpdate();
updater
.where((onUpdate) => onUpdate.message.text == 'animate')
.listen((update) => api.sendAnimation(
chat_id: message.chat.id,
animation: Luggage.withFile(file: io.File('./files/gifs/bunny_girl.gif'))));
}
Get PaperPlane
Add PaperPlane dependency on pubspec.yaml
:
From GitHub:
dependencies:
paperplane:
git: https://github.com/Nebulino/PaperPlane.git
ref: branch-name
From pub.dev:
dependencies:
paperplane: ^0.6.5
Features and bugs
All API up-to v4.8 are supported
Implemented a base for a future solid implementation of Long Polling
Still, the Webhook needs more tests.
You can use Long Polling mode for now.
I have created all Telegram API Classes for each Telegram Types.
Please file feature requests and bugs at the issue tracker.
Copyright © 2020 Nebulino
Libraries
- paperplane
- PaperPlane Library. Import this if you want to do a simple bot.
- paperplane_exceptions
- PaperPlane's exceptions Library. It helps to manage different type of exception inside my library.
- paperplane_helpers
- PaperPlane Helpers Library. Import this to use some helpers.
- telegram
- Telegram Library. It groups all the Telegram Api objects. All objects used in the Bot API responses are represented as JSON-objects. It is safe to use 32-bit signed integers for storing all Integer fields unless otherwise noted. Optional fields may be not returned when irrelevant.