-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Extension lib to add more useful API, stub post mopup
- Loading branch information
Showing
77 changed files
with
675 additions
and
1,886 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
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,86 @@ | ||
using Nostr.Client.Client; | ||
using Nostr.Client.Keys; | ||
using Nostr.Client.Messages; | ||
using Nostr.Client.Requests; | ||
|
||
namespace NostrClient.Helpers | ||
{ | ||
/// <summary> | ||
/// Extensions for INostrClient | ||
/// </summary> | ||
public static class ClientExtensions | ||
{ | ||
/// <summary> | ||
/// Send a note | ||
/// </summary> | ||
/// <param name="client"></param> | ||
/// <param name="senderPrivBech"></param> | ||
/// <param name="message"></param> | ||
public static void Send(this INostrClient client, string senderPrivBech, string message) | ||
{ | ||
var key = NostrPrivateKey.FromBech32(senderPrivBech); | ||
client.Send(key, message); | ||
} | ||
|
||
/// <summary> | ||
/// Send a note | ||
/// </summary> | ||
/// <param name="client"></param> | ||
/// <param name="senderPriv"></param> | ||
/// <param name="message"></param> | ||
public static void Send(this INostrClient client, NostrPrivateKey senderPriv, string message) | ||
{ | ||
var ev = new NostrEvent | ||
{ | ||
Kind = NostrKind.ShortTextNote, | ||
CreatedAt = DateTime.UtcNow, | ||
Content = message | ||
}; | ||
|
||
var signed = ev.Sign(senderPriv); | ||
|
||
client.Send(new NostrEventRequest(signed)); | ||
} | ||
|
||
/// <summary> | ||
/// Send an encrypted message | ||
/// </summary> | ||
/// <param name="client"></param> | ||
/// <param name="senderPrivBech"></param> | ||
/// <param name="receiverPubBech"></param> | ||
/// <param name="message"></param> | ||
public static void SendEncrypted(this INostrClient client, string senderPrivBech, string receiverPubBech, string message) | ||
{ | ||
var sender = NostrPrivateKey.FromBech32(senderPrivBech); | ||
var receiver = NostrPublicKey.FromBech32(receiverPubBech); | ||
|
||
client.SendEncrypted(sender, receiver, message); | ||
} | ||
|
||
/// <summary> | ||
/// Send an encrypted message | ||
/// </summary> | ||
/// <param name="client"></param> | ||
/// <param name="sender"></param> | ||
/// <param name="receiver"></param> | ||
/// <param name="message"></param> | ||
public static void SendEncrypted(this INostrClient client, NostrPrivateKey sender, NostrPublicKey receiver, string message) | ||
{ | ||
var ev = new NostrEvent | ||
{ | ||
CreatedAt = DateTime.UtcNow, | ||
Content = message | ||
}; | ||
|
||
var encrypted = ev.EncryptDirect(sender, receiver); | ||
var signed = encrypted.Sign(sender); | ||
|
||
client.Send(new NostrEventRequest(signed)); | ||
} | ||
|
||
public static void SendZap(this INostrClient client) | ||
{ | ||
|
||
} | ||
} | ||
} |
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,13 @@ | ||
<Project Sdk="Microsoft.NET.Sdk"> | ||
|
||
<PropertyGroup> | ||
<TargetFramework>net7.0</TargetFramework> | ||
<ImplicitUsings>enable</ImplicitUsings> | ||
<Nullable>enable</Nullable> | ||
</PropertyGroup> | ||
|
||
<ItemGroup> | ||
<PackageReference Include="Nostr.Client" Version="1.4.0" /> | ||
</ItemGroup> | ||
|
||
</Project> |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.