chatterbox 1.0.6 copy "chatterbox: ^1.0.6" to clipboard
chatterbox: ^1.0.6 copied to clipboard

outdated

Framework to build dialog flows for Telegram Bots

example/lib/main.dart

import 'dart:convert';

import 'package:chatterbox/chatterbox.dart';
import 'package:dotenv/dotenv.dart';
import 'package:example/flows/start.dart';
import 'package:shelf/shelf.dart';
import 'package:shelf/shelf_io.dart' as shelf_io;

void main() async {
  final handler = const Pipeline().addMiddleware(logRequests()).addHandler(_handleRequest);
  final server = await shelf_io.serve(handler, 'localhost', 8080);

  server.autoCompress = true;

  print('Serving at http://${server.address.host}:${server.port}');
}

final store = InMemoryStore();

Future<Response> _handleRequest(Request request) async {
  final env = DotEnv(includePlatformEnvironment: false)..load();
  final botToken = env['BOT_TOKEN'];

  if (botToken == null) {
    return Response.internalServerError(body: 'Missing BOT_TOKEN environment variable ');
  }

  final flows = <Flow>[
    StartFlow(),
  ];

  final requestBody = await request.readAsString();
  final bodyMap = json.decode(requestBody);
  Chatterbox(botToken: botToken, flows: flows, store: store).invokeFromWebhook(bodyMap);

  return Response.ok('Request for "${request.url}"');
}
3
likes
0
points
30
downloads

Publisher

verified publisherdevartel.io

Weekly Downloads

Framework to build dialog flows for Telegram Bots

Repository

License

unknown (license)

Dependencies

collection, televerse

More

Packages that depend on chatterbox