WTelegramClient.Extensions.Updates
1.2.2
dotnet add package WTelegramClient.Extensions.Updates --version 1.2.2
NuGet\Install-Package WTelegramClient.Extensions.Updates -Version 1.2.2
<PackageReference Include="WTelegramClient.Extensions.Updates" Version="1.2.2" />
paket add WTelegramClient.Extensions.Updates --version 1.2.2
#r "nuget: WTelegramClient.Extensions.Updates, 1.2.2"
// Install WTelegramClient.Extensions.Updates as a Cake Addin #addin nuget:?package=WTelegramClient.Extensions.Updates&version=1.2.2 // Install WTelegramClient.Extensions.Updates as a Cake Tool #tool nuget:?package=WTelegramClient.Extensions.Updates&version=1.2.2
WTelegramClient.Extensions.Updates
Simple Set of Extensions For Easier Update Handling In WTelegramClient
Install
dotnet cli: dotnet add package WTelegramClient.Extensions.Updates --version 1.1.0
nuget: NuGet\Install-Package WTelegramClient.Extensions.Updates -Version 1.1.0
reference: <PackageReference Include="WTelegramClient.Extensions.Updates" Version="1.1.0" />
Examples :
Filter For New Messages From Channel :
var client = new Client(/*provide the config..*/);
await client.LoginUserIfNeeded();
client.RegisterUpdateType<UpdateNewChannelMessage>((channelMessage, updatesBase) =>
{
Console.WriteLine("Message In : " + channelMessage.message.Date.ToString("F"));
});
Or Listen For New Message From Channel <b>AND</b> Deleted Messages :
client.RegisterUpdateType<UpdateNewChannelMessage, UpdateDeleteChannelMessages>(update, updatesBase) =>
{
Console.WriteLine("type of new update is" + p.GetType());
});
You Can Register a Specific Chat Type With Passing a Peer
Type :
await client.RegisterChatTypeAsync<PeerChannel>((update, channel) =>
{
Console.WriteLine($"RegisterChatTypeAsync:PeerChannel: {channel.channel_id} with type : {update.GetType()}");
return Task.CompletedTask;
});
Also You Can Search For A Specific ID
Inside Of Upcoming Updates(Including Update Type) :
client.RegisterUpdateWithId<UpdateUserTyping>(121212, (update, upBase) =>
{
Console.WriteLine($"user is typing : {update.user_id}");
});
Blocking
currently all of the mentioned methods will NOT block the current thread, so they has to be called at the startup
of your application and then the flow of your program should be blocked somewhere else.
using the *Block
overloads of these methods you can block your current thread:
// this is NOT going to block the current thread
client.RegisterUpdateType<UpdateNewChannelMessage>(async (messages, upBase) =>
{
await Task.Delay(2, cancellationToken);
Console.WriteLine($"new message");
});
//this WILL block the thread so the code will not continue after this point until the cancelation token is requested
client.RegisterUpdateTypeBlocking<UpdateNewChannelMessage>(async (messages, upBase) =>
{
await Task.Delay(2, cancellationToken);
Console.WriteLine($"new message");
}, cancellationToken); // the token is also optional, you can skip it
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- WTelegramClient (>= 3.7.1)
-
.NETStandard 2.1
- WTelegramClient (>= 3.7.1)
-
net6.0
- WTelegramClient (>= 3.7.1)
-
net7.0
- WTelegramClient (>= 3.7.1)
-
net8.0
- WTelegramClient (>= 3.7.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.2.2 | 749 | 3/18/2024 |
1.2.1 | 124 | 3/18/2024 |
1.2.0 | 106 | 3/18/2024 |
1.1.0 | 280 | 1/8/2024 |
1.0.2 | 745 | 3/8/2023 |
1.0.1 | 445 | 2/10/2023 |
0.1.3-preview | 229 | 10/27/2022 |
0.1.2-preview | 200 | 8/14/2022 |
0.1.1-preview | 198 | 8/7/2022 |
0.1.0-preview | 193 | 8/7/2022 |