Pakete, Repositories und App-Kategorien suchen

GitHub-RepositoryKaikyuLotus/dart-telegram-bot

dart-telegram-bot

Ein einfacher reiner Wrapper für die Telegram-Bot-API

Projektcover von dart-telegram-bot
Sterne
29
Forks
8
Letzter Push (UTC)
02.01.2025
Projektstatus
Aktiv

Original-README

Englischer Projektschnappschuss. Aktuelle Inhalte auf GitHub.

Dart Telegram Bot Dart CI/CD

Dart Telegram Bot is a Dart wrapper for Telegram bot API.
It is compatible with Native, Flutter and JS.

Bot API Version Dart Version

Using Dart Telegram Bot is straightforward, here's an example echo bot:

import 'package:dart_telegram_bot/dart_telegram_bot.dart';
import 'package:dart_telegram_bot/telegram_entities.dart';

void main() {
  Bot(
    // Insert your bot token here
    token: 'BOT_TOKEN',
    // Once the bot is ready this function will be called
    // You can start the bot here
    onReady: (bot) => bot.start(clean: true),
    // Register a new callback for new updates
  ).onUpdate((bot, update) async {
    // Send a message to the update chat with the received message
    bot.sendMessage(ChatID(update.message!.chat.id), update.message!.text!);
  });
}

Bot start may fail when bot token is invalid or with network issues.
To handle such cases follow the next example:

void main() {
  Bot(
    token: 'BOT_TOKEN',
    onReady: (bot) => bot.start(clean: true),
    // Handle start failure
    onStartFailed: (bot, e, s) => print('Start failed'),
  );
}

Also, you may want to disable or allow only certain update types.
To do so follow the next example:

void main() {
  Bot(
    token: 'BOT_TOKEN',
    onReady: (bot) => bot.start(clean: true),
    // Either allow all types but some
    allowedUpdates: UpdateType.allBut([UpdateType.channelPost]),
    // OR allow only a list of types
    allowedUpdates: [UpdateType.message, UpdateType.editedMessage],
  );
}

Dart Telegram Bot also supports a more OOP approach. The following example is still an echo bot, this time with OOP approach:

class MyBot extends Bot {

  MyBot() : super(token: 'BOT_TOKEN') {
    onUpdate(updateHandler);
  }

  @override
  Future onReady(Bot bot) => bot.start(clean: true);

  @override
  Future onStartFailed(Bot bot, Object err, StackTrace st) async {
    print('Bot failed to start: $err');
  }

  Future updateHandler(Bot bot, Update update) async {
    bot.sendMessage(ChatID(update.message!.chat.id), update.message!.text!);
  }
}

Written by Kaikyu Lotus (Telegram)

Kaikyu GitHub avatar
GitHub-Autor

Kaikyu ↗

Weeb developer

Italy
SprachenDart

Kategorien

Verwendete Abhängigkeiten

Abhängigkeiten 4 Einträge

Wie wähle ich ein passendes Repository?

Nach Anwendungsfall filtern, Aktivität vergleichen und vor der Nutzung das Originalprojekt prüfen.

  1. Nach Name, Autor oder Beschreibung suchen und nach Thema eingrenzen.
  2. Sterne, Forks und letzte Pushes vergleichen. Sterne zeigen Interesse, garantieren aber keine Qualität.
  3. Vor der Nutzung README, Lizenz und Issues auf GitHub prüfen.

Quellen und Pflege

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗