-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Rename iterators to parallel-enumerable, Refactored ReadMe
- Loading branch information
Showing
19 changed files
with
79 additions
and
43 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,52 @@ | ||
# <img src="Icon64.png" width="24" hspace="5" /> Talkie | ||
|
||
Talkie is a comprehensive framework designed to simplify the development of bots across multiple messengers platforms. | ||
> Talkie is under active development. The underlying C# framework libraries is subject to change. | ||
With its functional interfaces, developers can write code once and deploy it on various platforms | ||
such as Telegram, Discord, and more. | ||
Talkie is a versatile framework designed to streamline the development of bots across various messaging platforms. | ||
|
||
The framework is designed with extensibility in mind, | ||
allowing developers to easily add new features and functionalities as needed. | ||
It leverages functional interfaces for messaging cross-platform compatibility, | ||
enabling developers to write code once and deploy it on platforms like Telegram and Discord. | ||
|
||
Whether you're building a simple chatbot or a complex bot, Talkie's lightweight design, native AOT support, and parallel processing capabilities ensure optimal performance. | ||
|
||
## <img src="Icon64.png" width="18" hspace="5" /> Features | ||
|
||
- **Unified API**: Write code once and deploy it on multiple platforms. | ||
- **Fast and Lightweight**: Talkie is designed to be fast and lightweight, making it ideal for use in resource-constrained environments or high-traffic, large-scale bots. | ||
- **Native-AOT Support (Latest .NET 8)**: Talkie provides native Ahead-of-Time (AOT) compilation support with the latest .NET 8 framework, enabling developers to compile bots to native code for enhanced performance and memory efficiency. | ||
- **Parallel Processing**: Talkie is optimized to leverage multi-core processors, empowering developers to create bots capable of handling multiple messages concurrently. | ||
- **OOP and Functional Programming**: Talkie offers flexibility by supporting both object-oriented and functional programming paradigms, allowing developers to choose the style that best aligns with their preferences and project requirements. | ||
- **Self-Contained and Independent**: Talkie is self-contained and does not rely on external libraries. This eliminates compatibility concerns, reduces the overall footprint, and simplifies deployment. | ||
- **Cross-Platform Compatibility**: Talkie is engineered for cross-platform compatibility, enabling developers to write code once and deploy it seamlessly across diverse bot platforms, including Telegram, Discord, and more. | ||
- **Extensible Architecture**: Talkie is designed with extensibility in mind, making it easy for developers to add new features, functionalities, and expand platform support as needed. | ||
- **Comprehensive Functionality**: Talkie offers a wide array of features, and managing complex branched code for different bot platforms, all while simplifying code that would be more cumbersome on other platforms. | ||
|
||
## <img src="Icon64.png" width="18" hspace="5" /> Usage | ||
|
||
### <img src="Icon64.png" width="12" hspace="5" /> Add the Falko Team NuGet Repository: | ||
|
||
Open your terminal and execute the following command, replacing placeholders with your GitHub credentials: | ||
|
||
```bash | ||
dotnet nuget add source "https://nuget.pkg.github.com/falko-team/index.json" --name falko-team --store-password-in-clear-text --username $YOUR_GITHUB_USERNAME --password $YOUR_GITHUB_ACCESS_TOKEN | ||
``` | ||
|
||
### <img src="Icon64.png" width="12" hspace="5" /> Install the Talkie Platforms Package: | ||
|
||
If you're using Telegram, install the Talkie Telegram Platform package: | ||
|
||
```bash | ||
dotnet add package Falko.Talkie.Platforms.Telegram | ||
``` | ||
|
||
### <img src="Icon64.png" width="12" hspace="5" /> Explore the Examples: | ||
|
||
To get started quickly, check out the [Examples](Examples) folder in the Talkie repository | ||
for illustrative code samples and usage demonstrations. | ||
|
||
## <img src="Icon64.png" width="18" hspace="5" /> License | ||
|
||
This project is licensed under the [BSD 2-Clause License](License.md). | ||
|
||
- **Extensible**: Easily add new features and functionalities as needed. | ||
Contributions are welcome! | ||
|
||
- **Cross-platform**: Supports multiple messengers platforms such as Telegram, Discord, and more. | ||
**© 2024, Falko Team** |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
namespace Talkie.Concurrent; | ||
|
||
public interface IParallelEnumerable<T> | ||
{ | ||
IParallelEnumerator<T> GetParallelEnumerator(); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
9 changes: 9 additions & 0 deletions
9
Sources/Falko.Talkie.Core/Concurrent/ParallelEnumeratorExtensions.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
namespace Talkie.Concurrent; | ||
|
||
public static class ParallelEnumeratorExtensions | ||
{ | ||
public static IEnumerator<T> ToEnumerable<T>(this IParallelEnumerator<T> parallelEnumerator) | ||
{ | ||
return new ParallelEnumeratorAdapter<T>(parallelEnumerator); | ||
} | ||
} |