Flutter命令行工具插件bluesky_cli的使用
Flutter命令行工具插件bluesky_cli的使用
A Powerful and Useful CLI Tool for Bluesky Social 🦋
目录
1. 指南 🌎
1.1. 开始使用 ⚡
1.1.1. 安装
dart pub global activate bluesky_cli
1.1.2. 使用方法
A useful and powerful CLI tool to use Bluesky Social's APIs.
Usage: bsky <command> [arguments]
Global options:
-h, --help Print this usage information.
--identifier Handle or email address for authentication.
(defaults to environment variable "BLUESKY_IDENTIFIER")
--password Bluesky password for authentication.
(defaults to environment variable "BLUESKY_PASSWORD")
--service Name of the service sending the request. Defaults to "bsky.social".
--pretty Enable to output JSON in pretty format.
--status Enable to output status code and reason phrase.
--request Enable to output request method and URI.
--verbose Enable verbose logging.
Available commands:
actor-feeds Show the selected feeds of specific actor.
actor-likes Show the liked feeds of specific actor.
actors-typeahead Show the typeahead for actors.
add-list-item Add an item to list.
block Block an user.
blocks Show the blocked users.
create-generator Create a generator.
create-list Create a list.
custom-feed Show the custom feed from specific generator.
delete Delete a specific contents from repository.
feed Show the feed of specific actor.
feed-generator Show the specific feed generator.
feed-generators Show the specific feed generators.
follow Follow an user.
followers Show the followers.
follows Show the following users.
generator-info Show the information of generators.
like Like a specific post.
likes Show the likes of specific post.
list Show the list.
list-feed Show the feed from the list.
lists Show the lists.
mute Mute an user.
mute-list Mute an actor list.
mutes Show the muted users.
muting-lists Show the muting lists.
notification-count Show the count of notification of authenticated user.
notifications Show the notifications of authenticated user.
popular Show the popular contents.
popular-feed-generators Show the popular feed generators.
post Post to Bluesky Social.
posts Show the posts.
preferences Show the private preferences.
profile Show the profile of specific user.
profiles Show the profiles of specific users.
put-preferences Put new preferences.
repost Repost a specific post.
reposted-by Show the actors reposted specific post.
search-actors Search the actors based on term.
seen-notifications Update all notifications to read.
suggested-follows Show a list of suggested follows.
suggestions Show the actor suggestions.
thread Show the thread of specific post.
timeline Show the timeline of authenticated user.
unmute Unmute an user.
unmute-list Unmute an actor list.
Run "bsky help <command>" for more information about a command.
1.1.3. 认证
以下方法可用于通过此CLI工具与Bluesky Social进行身份验证。
1.1.3.1. 全局选项
在全局选项中可以指定identifier
和password
的身份验证数据。
bsky timeline --identifier=shinyakato.dev --password=xxxxxxxxx
1.1.3.2. 环境变量
通过设置环境变量中的身份验证数据,可以省略全局选项中的身份验证数据指定。
环境变量 | 等效选项 |
---|---|
BLUESKY_IDENTIFIER | identifier |
BLUESKY_PASSWORD | password |
然后可以像这样调用:
bsky timeline
1.2. 小贴士 🏄
1.2.1. 美化JSON输出
此CLI工具输出的JSON未格式化,但可以使用以下选项来输出格式化的JSON。
bsky timeline --pretty
1.2.2. 显示状态和请求
默认情况下不输出状态码和请求URI,但可以使用以下选项输出。
bsky timeline --status --request
1.3. 贡献 🏆
如果您希望为bluesky_cli
做出贡献,请创建一个问题或创建一个Pull Request。
有许多方式可以为OSS做出贡献。例如,可以考虑以下主题:
- 有未实现的请求参数或响应字段。
- 文档过时或不完整。
- 有更好的方法或想法来实现功能。
- 等等…
您可以从以下资源了解更多详情:
或者,如果您喜欢,可以创建一个讨论。
欢迎加入开发,多元化的意见使软件更好!
1.4. 支持 ❤️
最简单的方式是在Github和Pub.dev上给项目打星来支持我们。
您也可以通过成为GitHub上的赞助者来支持这个项目:
您还可以通过在您的存储库中使用以下徽章之一来表明您的应用是使用bluesky_cli
构建的:
[![Powered by bluesky_cli](https://img.shields.io/badge/Powered%20by-bluesky_cli-00acee.svg)](https://github.com/myConsciousness/atproto.dart)
[![Powered by bluesky_cli](https://img.shields.io/badge/Powered%20by-bluesky_cli-00acee.svg?style=flat-square)](https://github.com/myConsciousness/atproto.dart)
[![Powered by bluesky_cli](https://img.shields.io/badge/Powered%20by-bluesky_cli-00acee.svg?style=for-the-badge)](https://github.com/myConsciousness/atproto.dart)
1.5. 许可证 🔑
bluesky_cli
的所有资源均根据BSD-3
许可证提供。
Copyright 2023 Shinya Kato. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided the conditions.
更多关于Flutter命令行工具插件bluesky_cli的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter命令行工具插件bluesky_cli的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
当然,以下是一个关于如何在Flutter项目中使用命令行工具插件bluesky_cli
的示例代码和说明。假设bluesky_cli
已经发布在Dart的包管理器pub.dev
上,并且具有一些基本功能,比如生成配置文件、执行一些自动化任务等。
步骤 1: 添加依赖
首先,在你的Flutter项目的pubspec.yaml
文件中添加bluesky_cli
作为dev依赖:
dev_dependencies:
flutter_test:
sdk: flutter
bluesky_cli: ^x.y.z # 请替换为实际的版本号
然后运行flutter pub get
来安装依赖。
步骤 2: 创建命令行工具入口
在tool
目录下创建一个新的Dart文件,例如tool/bluesky_cli_tool.dart
,作为命令行工具的入口。
import 'package:args/args.dart';
import 'package:bluesky_cli/bluesky_cli.dart';
void main(List<String> arguments) {
// 解析命令行参数
ArgParser parser = ArgParser();
parser.addCommand('generate-config', help: 'Generate a configuration file.');
parser.addOption('output', abbr: 'o', help: 'Specify the output file path.');
ArgResults results = parser.parse(arguments);
// 根据命令执行相应的操作
if (results.command == 'generate-config') {
String outputPath = results['output'] ?? 'config.yaml';
BlueskyCli blueskyCli = BlueskyCli();
blueskyCli.generateConfig(outputPath);
print('Configuration file generated at $outputPath');
} else {
print('Usage: dart tool/bluesky_cli_tool.dart <command> [arguments]');
print(parser.usage);
}
}
步骤 3: 实现BlueskyCli类
假设bluesky_cli
插件提供了一个BlueskyCli
类,你可以在你的项目中实现或模拟这个类。这里是一个简单的示例:
// lib/bluesky_cli.dart
class BlueskyCli {
void generateConfig(String outputPath) {
// 生成配置文件的示例内容
String configContent = '''
name: MyApp
version: 1.0.0
description: A new Flutter project.
''';
// 将内容写入指定文件
File configFile = File(outputPath);
configFile.writeAsStringSync(configContent);
}
}
步骤 4: 运行命令行工具
在命令行中,导航到你的Flutter项目的根目录,然后运行以下命令来生成配置文件:
dart tool/bluesky_cli_tool.dart generate-config -o config_generated.yaml
这将调用BlueskyCli
类的generateConfig
方法,并生成一个名为config_generated.yaml
的配置文件。
总结
以上是一个使用Flutter命令行工具插件bluesky_cli
的简单示例。实际使用中,bluesky_cli
插件可能提供更多功能,你需要根据插件的文档和API来调整你的代码。希望这个示例能帮助你理解如何在Flutter项目中使用命令行工具插件。