Flutter命令行工具插件bluesky_cli的使用

发布于 1周前 作者 wuwangju 来自 Flutter

Flutter命令行工具插件bluesky_cli的使用

bluesky_cli

A Powerful and Useful CLI Tool for Bluesky Social 🦋


GitHub Sponsor GitHub Sponsor

pub package Dart SDK Version Test/Analyzer codecov Issues Pull Requests Stars Contributors Last Commits License Contributor Covenant


目录


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. 全局选项

在全局选项中可以指定identifierpassword的身份验证数据。

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. 支持 ❤️

最简单的方式是在GithubPub.dev上给项目打星来支持我们。

您也可以通过成为GitHub上的赞助者来支持这个项目:

您还可以通过在您的存储库中使用以下徽章之一来表明您的应用是使用bluesky_cli构建的:

Powered by bluesky_cli Powered by bluesky_cli Powered by 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

1 回复

更多关于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项目中使用命令行工具插件。

回到顶部