TeleDart
A clean implementation of Telegram bot API allows you to create your own easily.
Creating a Telegram bot
In order to create a Telegram bot, you need to talk to @BotFather generating a bot token. Simply follow the instructions .
Usage
Initialising the bot:
import 'package:teledart/teledart.dart' ;
import 'package:teledart/telegram.dart' ;
void main () {
var BOT_TOKEN = 'YOUR_BOT_TOKEN_FROM_BOT_FATHER' ;
final username = (await Telegram (BOT_TOKEN).getMe ()).username;
var teledart = TeleDart (BOT_TOKEN, Event (username!));
teledart.start ()
}
A simple usage example:
teledart.onMessage (keyword: 'Fight for freedom' )
.listen ((message) => message.reply ('Stand with Hong Kong' ));
Using bot commands:
teledart.onMessage (entityType: 'bot_command' , keyword: 'start' )
.listen ((message) => teledart.sendMessage (message.chat.id, 'Hello TeleDart!' ));
teledart.onCommand ('glory' )
.listen ((message) => message.reply ('to Ukraine!' ));
Modifying Stream :
teledart
.onMessage (keyword: 'dart' )
.where ((message) => message.text?.contains ('telegram' ) ?? false )
.listen ((message) => message.replyPhoto (
'https://raw.githubusercontent.com/DinoLeung/TeleDart/master/example/dash_paper_plane.png' ,
caption: 'This is how the Dart Bird and Telegram are met' ));
Inline mode example:
teledart.onInlineQuery ().listen ((inlineQuery) => inlineQuery.answer ([
InlineQueryResultArticle (
id: 'ping' ,
title: 'ping' ,
inputMessageContent: InputTextMessageContent (
messageText: '*pong*' , parseMode: 'MarkdownV2' )),
InlineQueryResultArticle (
id: 'ding' ,
title: 'ding' ,
inputMessageContent: InputTextMessageContent (
messageText: '*_dong_*' , parseMode: 'MarkdownV2' )),
]));
Bugs and feature requests
Please file feature requests and bugs at the issue tracker .