Skip to content
This repository has been archived by the owner on Mar 4, 2024. It is now read-only.

Commit

Permalink
feat: add adapter extensions
Browse files Browse the repository at this point in the history
  • Loading branch information
bsdayo committed Apr 28, 2023
1 parent 59350fd commit 6bd6b9e
Show file tree
Hide file tree
Showing 6 changed files with 205 additions and 0 deletions.
24 changes: 24 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,30 @@ jobs:
TAG_COMMIT: false
NUGET_KEY: ${{secrets.NUGET_API_KEY}}

# ===== Adapter Extensions =====

- name: Publish Adapters.Konata.Extensions
id: publish-adapter-konata-extensions
uses: alirezanet/publish-nuget@v3.0.4
with:
PROJECT_FILE_PATH: src/Flandre.Adapters.Konata.Extensions/Flandre.Adapters.Konata.Extensions.csproj
PACKAGE_NAME: Flandre.Adapters.Konata.Extensions
VERSION_FILE_PATH: src/Flandre.Adapters.Konata.Extensions/Flandre.Adapters.Konata.Extensions.csproj
VERSION_REGEX: ^\s*<PackageVersion>(.*)<\/PackageVersion>\s*$
TAG_COMMIT: false
NUGET_KEY: ${{secrets.NUGET_API_KEY}}

- name: Publish Adapters.OneBot.Extensions
id: publish-adapter-onebot-extensions
uses: alirezanet/publish-nuget@v3.0.4
with:
PROJECT_FILE_PATH: src/Flandre.Adapters.OneBot.Extensions/Flandre.Adapters.OneBot.Extensions.csproj
PACKAGE_NAME: Flandre.Adapters.OneBot.Extensions
VERSION_FILE_PATH: src/Flandre.Adapters.OneBot.Extensions/Flandre.Adapters.OneBot.Extensions.csproj
VERSION_REGEX: ^\s*<PackageVersion>(.*)<\/PackageVersion>\s*$
TAG_COMMIT: false
NUGET_KEY: ${{secrets.NUGET_API_KEY}}

# ===== Reactive Extensions =====

- name: Publish Core.Reactive
Expand Down
12 changes: 12 additions & 0 deletions Flandre.sln
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Flandre.Adapters.Discord",
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiscordAdapterTest", "temp\DiscordAdapterTest\DiscordAdapterTest.csproj", "{3E22D1AE-4DBE-4C6B-ABDB-1A33ED54D3AF}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Flandre.Adapters.Konata.Extensions", "src\Flandre.Adapters.Konata.Extensions\Flandre.Adapters.Konata.Extensions.csproj", "{3BEF4654-51CB-47FA-9197-698F3B8B23BA}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Flandre.Adapters.OneBot.Extensions", "src\Flandre.Adapters.OneBot.Extensions\Flandre.Adapters.OneBot.Extensions.csproj", "{3F5443F7-2B58-42E7-A5D6-8E88594724E4}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -90,6 +94,14 @@ Global
{3E22D1AE-4DBE-4C6B-ABDB-1A33ED54D3AF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3E22D1AE-4DBE-4C6B-ABDB-1A33ED54D3AF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3E22D1AE-4DBE-4C6B-ABDB-1A33ED54D3AF}.Release|Any CPU.Build.0 = Release|Any CPU
{3BEF4654-51CB-47FA-9197-698F3B8B23BA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3BEF4654-51CB-47FA-9197-698F3B8B23BA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3BEF4654-51CB-47FA-9197-698F3B8B23BA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3BEF4654-51CB-47FA-9197-698F3B8B23BA}.Release|Any CPU.Build.0 = Release|Any CPU
{3F5443F7-2B58-42E7-A5D6-8E88594724E4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3F5443F7-2B58-42E7-A5D6-8E88594724E4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3F5443F7-2B58-42E7-A5D6-8E88594724E4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3F5443F7-2B58-42E7-A5D6-8E88594724E4}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
using Flandre.Framework;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;

namespace Flandre.Adapters.Konata.Extensions;

/// <summary>
/// Konata 适配器扩展
/// </summary>
public static class AdapterCollectionExtensions
{
/// <summary>
/// 添加 Konata 适配器,自动从配置根中的 <c>Adapters:Konata</c> 项读取配置。
/// </summary>
public static void AddKonata(this IAdapterCollection adapters)
{
var config = adapters.Services
.BuildServiceProvider()
.GetRequiredService<IConfigurationRoot>()
.GetSection("Adapters:Konata")
.Get<KonataAdapterConfig>();
adapters.Add(new KonataAdapter(config ?? new KonataAdapterConfig()));
}

/// <summary>
/// 添加 Konata 适配器。
/// </summary>
public static void AddKonata(this IAdapterCollection adapters, IConfiguration configuration)
{
var config = configuration.Get<KonataAdapterConfig>();
adapters.Add(new KonataAdapter(config ?? new KonataAdapterConfig()));
}

/// <summary>
/// 添加 Konata 适配器。
/// </summary>
public static void AddKonata(this IAdapterCollection adapters, Action<KonataAdapterConfig> action)
{
var config = new KonataAdapterConfig();
action(config);
adapters.Add(new KonataAdapter(config));
}

/// <summary>
/// 添加 Konata 适配器。
/// </summary>
public static void AddKonata(this IAdapterCollection adapters, KonataAdapterConfig config)
{
adapters.Add(new KonataAdapter(config));
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<Title>Flandre.Adapters.Konata.Extensions</Title>
<PackageVersion>1.0.0</PackageVersion>
<Authors>FlandreDevs,bsdayo</Authors>
<Description>Flandre.Framework extensions for Flandre.Adapters.Konata.</Description>
<PackageTags>bot;chatbot;flandre;adapter;konata;extensions</PackageTags>
<PackageLicenseExpression>GPL-3.0-only</PackageLicenseExpression>
<PackageIcon>avatar.jpg</PackageIcon>

<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<OutputType>Library</OutputType>
<GenerateDocumentationFile>true</GenerateDocumentationFile>

<PackageProjectUrl>https://github.com/FlandreDevs/Flandre</PackageProjectUrl>
<RepositoryUrl>https://github.com/FlandreDevs/Flandre.git</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<Copyright>FlandreDevs (C) 2022-2023</Copyright>
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="..\Flandre.Adapters.Konata\Flandre.Adapters.Konata.csproj"/>
<ProjectReference Include="..\Flandre.Framework\Flandre.Framework.csproj"/>
</ItemGroup>

<ItemGroup>
<None Include="../../assets/avatar.jpg" Pack="true" PackagePath="/"/>
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
using Flandre.Framework;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;

namespace Flandre.Adapters.OneBot.Extensions;

/// <summary>
/// OneBot 适配器扩展
/// </summary>
public static class AdapterCollectionExtensions
{
/// <summary>
/// 添加 OneBot 适配器,自动从配置根中的 <c>Adapters:OneBot</c> 项读取配置。
/// </summary>
public static void AddOneBot(this IAdapterCollection adapters)
{
var config = adapters.Services
.BuildServiceProvider()
.GetRequiredService<IConfigurationRoot>()
.GetSection("Adapters:OneBot")
.Get<OneBotAdapterConfig>();
adapters.Add(new OneBotAdapter(config ?? new OneBotAdapterConfig()));
}

/// <summary>
/// 添加 OneBot 适配器。
/// </summary>
public static void AddOneBot(this IAdapterCollection adapters, IConfiguration configuration)
{
var config = configuration.Get<OneBotAdapterConfig>();
adapters.Add(new OneBotAdapter(config ?? new OneBotAdapterConfig()));
}

/// <summary>
/// 添加 OneBot 适配器。
/// </summary>
public static void AddOneBot(this IAdapterCollection adapters, Action<OneBotAdapterConfig> action)
{
var config = new OneBotAdapterConfig();
action(config);
adapters.Add(new OneBotAdapter(config));
}

/// <summary>
/// 添加 OneBot 适配器。
/// </summary>
public static void AddOneBot(this IAdapterCollection adapters, OneBotAdapterConfig config)
{
adapters.Add(new OneBotAdapter(config));
}
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<Title>Flandre.Adapters.OneBot.Extensions</Title>
<PackageVersion>1.0.0</PackageVersion>
<Authors>FlandreDevs,bsdayo</Authors>
<Description>Flandre.Framework extensions for Flandre.Adapters.OneBot.</Description>
<PackageTags>bot;chatbot;flandre;adapter;onebot;extensions</PackageTags>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageIcon>avatar.jpg</PackageIcon>

<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<OutputType>Library</OutputType>
<GenerateDocumentationFile>true</GenerateDocumentationFile>

<PackageProjectUrl>https://github.com/FlandreDevs/Flandre</PackageProjectUrl>
<RepositoryUrl>https://github.com/FlandreDevs/Flandre.git</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<Copyright>FlandreDevs (C) 2022-2023</Copyright>
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="..\Flandre.Adapters.OneBot\Flandre.Adapters.OneBot.csproj" />
<ProjectReference Include="..\Flandre.Framework\Flandre.Framework.csproj" />
</ItemGroup>

<ItemGroup>
<None Include="../../assets/avatar.jpg" Pack="true" PackagePath="/"/>
</ItemGroup>

</Project>

0 comments on commit 6bd6b9e

Please sign in to comment.