패키지, 저장소 및 앱 카테고리 검색

GitHub 저장소KaikyuLotus/dart-telegram-bot

dart-telegram-bot

텔레그램 봇 API를 위한 간단한 순수 래퍼

dart-telegram-bot 프로젝트 이미지
스타
29
포크
8
최근 푸시(UTC)
2025. 1. 2.
프로젝트 상태
활성

원본 README

아래는 영문 원문 스냅샷입니다. 최신 내용은 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 작성자

Kaikyu ↗

Weeb developer

Italy
언어Dart

분류

사용 중인 의존성

의존성 목록 4 개

프로젝트에 맞는 저장소를 선택하려면?

사용 목적에 따라 검색하고 개발 활동을 비교한 뒤 원본 저장소에서 요구 사항을 확인하세요.

  1. 이름, 작성자 또는 설명으로 검색하고 기술 주제로 범위를 좁힙니다.
  2. 스타, 포크, 최근 푸시를 함께 비교하세요. 스타는 관심의 지표이며 품질을 보장하지 않습니다.
  3. 사용하기 전에 GitHub에서 README, 라이선스, Issues를 확인하세요.

출처 및 관리

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

GitHub Docs — About repositories ↗