Flutter插件televerse_shelf的使用_Flutter插件dqoi的使用_dqoi 是一个 Dart 实现的 “Quite OK Image Format” 插件
Flutter插件televerse_shelf的使用_Flutter插件dqoi的使用_dqoi 是一个 Dart 实现的 “Quite OK Image Format” 插件
🚀 结合Televerse与Shelf创建自定义Webhook服务器
televerse_shelf
扩展了Televerse框架的功能,使你能够将Shelf的强大功能集成到你的Telegram机器人中。虽然Televerse原生支持Webhook,但它隐式处理服务器创建,限制了用户对路由和服务器定制的控制。通过televerse_shelf
,你可以使用Shelf构建完全可定制的Web服务器,并在专用路由上管理机器人的Webhook。
此包非常适合希望结合Televerse的简洁性和Shelf的灵活性来处理其他Web服务器任务的开发者。
✨ 主要特性
-
可定制的Webhook路由
定义一个特定的路由以通过Webhook处理Telegram更新,而不干扰其他路由。 -
完整的Shelf集成
灵活使用Shelf强大的路由和中间件,同时使用Televerse。 -
专用的TeleverseShelfWebhook
一个为Televerse定制的适配器,通过Shelf启用Webhook更新。 -
多路由支持
为你的机器人Webhook和附加路由(如API或健康检查)分配单个端口,所有这些都在同一个服务器下。
🛠 安装
在pubspec.yaml
文件中添加televerse_shelf
:
dependencies:
televerse_shelf: <latest>
然后在Dart代码中导入该包:
import 'package:televerse_shelf/televerse_shelf.dart';
💻 快速开始
以下是一个基本示例,帮助你开始使用televerse_shelf
:
import 'dart:io';
import 'package:shelf/shelf.dart';
import 'package:shelf/shelf_io.dart';
import 'package:shelf_router/shelf_router.dart';
import 'package:televerse/televerse.dart';
import 'package:televerse_shelf/televerse_shelf.dart';
void main() async {
final token = Platform.environment['BOT_TOKEN']!;
final fetcher = TeleverseShelfWebhook();
final bot = Bot(token, fetcher: fetcher);
bot.command('start', (ctx) async {
await ctx.reply('Hello, world!');
});
final router = Router();
// 设置Webhook路由
router.post('/webhook', fetcher.createHandler());
// 定义其他自定义路由
router.get('/api', (req) => Response.ok('Hello from API!'));
router.get('/health', (req) => Response.ok('{"status":"OK"}'));
final pipeline = Pipeline().addMiddleware(logRequests()).addHandler(router.call);
final server = await serve(pipeline, 'localhost', 8080);
await bot.start();
print('Server running on port ${server.port}');
}
更多关于Flutter插件televerse_shelf的使用_Flutter插件dqoi的使用_dqoi 是一个 Dart 实现的 “Quite OK Image Format” 插件的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html